Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Помогите с написание модуля оплаты , 1С Предприятие 8.2, самописная конфигурация 2 страниц V   1 2 >          
Fabri Подменю пользователя
сообщение 21.06.12, 11:04
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Добрый день. Так как в работе с регистрами накопления опыта работы у меня минимум, прошу помочь и подсказать. Конфигурация пишется для учебного заведения. Идет оплата по курсам. В литературе которую читаю есть примеры и описание только такого принципа - запись в регистр накопления (минус) т.е. задолженность, и потом поступление (плюс), ну и разница если есть - остаток. Тут же нужно так. Есть к примеру 5 курсов, и за каждый курс при формировании договора идет начисление (минус), потом студент оплачивает, за каждый курс по отдельности или может сразу за три курса заплатить. И вот незнаю как правильно реализовать это в регистре, чтобы потом соответственно выводить задолженности за определенный курс в отчете. Буду очень благодарен за помощь.

DartRomanius Подменю пользователя
сообщение 21.06.12, 11:36
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Fabri @ 21.06.12, 12:04) *
Добрый день. Так как в работе с регистрами накопления опыта работы у меня минимум, прошу помочь и подсказать. Конфигурация пишется для учебного заведения. Идет оплата по курсам. В литературе которую читаю есть примеры и описание только такого принципа - запись в регистр накопления (минус) т.е. задолженность, и потом поступление (плюс), ну и разница если есть - остаток. Тут же нужно так. Есть к примеру 5 курсов, и за каждый курс при формировании договора идет начисление (минус), потом студент оплачивает, за каждый курс по отдельности или может сразу за три курса заплатить. И вот незнаю как правильно реализовать это в регистре, чтобы потом соответственно выводить задолженности за определенный курс в отчете. Буду очень благодарен за помощь.


В принципе можно добавить реквизит "Курс" и делать отбор по нему.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Fabri Подменю пользователя
сообщение 21.06.12, 12:23
Сообщение #3

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Цитата(DartRomanius @ 21.06.12, 12:36) *
В принципе можно добавить реквизит "Курс" и делать отбор по нему.


А если потребуется отчет об общей задолженности за все курсы?
Тогла таким макаром - ОстатокКурс1+ОстатокКурс2+ОстатокКурс3+ОстатокКурс4 ?

DartRomanius Подменю пользователя
сообщение 21.06.12, 12:28
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(Fabri @ 21.06.12, 13:23) *
А если потребуется отчет об общей задолженности за все курсы?
Тогла таким макаром - ОстатокКурс1+ОстатокКурс2+ОстатокКурс3+ОстатокКурс4 ?


Зачем? без указания отбора по реквизиту а не по измерению все будет отлично работать.

Поясню. Есть, допустим РегистрНакопления.
Измерение - Студент
Ресурс - Сумма
Реквизит - Курс.

Измерения служат для обеспечения уникальности (+ всегда присутствует регистратор и пр.стандартные вещи)
а реквизит - как информация к дополнению (сведению?).

Сообщение отредактировал DartRomanius - 21.06.12, 12:34


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Спасибо сказали: Fabri,

Fabri Подменю пользователя
сообщение 21.06.12, 12:37
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Можете подробней рассказать, ато путанина получается у меня.
Добавил регистр накопления - ОплатыСтудентов
Измерения:
1. Студент - Справочник.Студенты
2. Курс - Перечисления.НомерКурса
Ресурсы:
СуммаОплаты - Число 10, точность 2, неотрицательное

Теперь формирую документ ДоговорСтудента
Идет проведение по регистру

    Движения.ОплатыСтудентов.Записывать = Истина;
    Движение = Движения.ОплатыСтудентов.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Студент = Студент;
//           Движение.Курс = 1
//    Движение.СуммаОплаты = Объект.ОплатаКурс1;  -  так соответственно для 2,3,4 курсов?


Ок, пусть так. Тогда как принимать оплату
Есть документ ПриемОплаты

Теперь при проведении, проверять остатки за каждый курс? И который не оплачен проплачивать, и ещё учитывать, если сумма больше суммы за задолженность к примеру за 1-й курс, то ещё и добавлять к второму, короч я запутался. 47046430.gif

Ardi Подменю пользователя
сообщение 21.06.12, 13:25
Сообщение #6

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Пусть руками распределяют сумму по курсам smile.gif


Также создать отдельный документ которым можно перераспределять переплаченные/недоплаченные деньги между курсами.

А вообще танцевать нужно с конца.
Что как выглядит техпроцесс когда слушателя пускают/не пускают на курсы?


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Fabri Подменю пользователя
сообщение 21.06.12, 14:12
Сообщение #7

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Цитата(Ardi @ 21.06.12, 14:25) *
Пусть руками распределяют сумму по курсам smile.gif


Также создать отдельный документ которым можно перераспределять переплаченные/недоплаченные деньги между курсами.

А вообще танцевать нужно с конца.
Что как выглядит техпроцесс когда слушателя пускают/не пускают на курсы?


Не ну руками то уже очень нелогически как-то. Можно канеш елементарно, формировать общую сумму задолженности, и потом погашать её, а при выводе отчета, создать процедуру которая осуществляет:
Общая сумма задолженности - ОстатокЗадолженности.
и
Если ОтчетКурс1=Истина Тогда //Где ОтчетКурс1 параметр вывода отчета
а= Общая сумма задолженности - ОстатокЗадолженности;
б= а - ЦенаКурс1;
Возврат б;


Но все же, может как-то получьше можно это реализовать. У кого будут ещё идеи?

Vofka Подменю пользователя
сообщение 21.06.12, 14:24
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Нужно измерение в регистре Курс. Вот и всё. И руками разносить оплату по курсам. Другого не дано.

Спасибо сказали: Fabri,

Fabri Подменю пользователя
сообщение 21.06.12, 14:58
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Цитата(Vofka @ 21.06.12, 15:24) *
Нужно измерение в регистре Курс. Вот и всё. И руками разносить оплату по курсам. Другого не дано.


А общую сумму как выводить? И ещё, есть такое что студент переводится с одного факультета на другой, и там сумма за обучение другая, тогда он получится в переплате, как в регистре перенести тогда? Отдельно ещё один документ для переноса создавать?

DartRomanius Подменю пользователя
сообщение 21.06.12, 15:17
Сообщение #10

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Што-та мне кажется надо воскурить мантру "написание технического задания".


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Vofka Подменю пользователя
сообщение 21.06.12, 16:01
Сообщение #11

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13956
Из: Киев
Спасибо сказали: 4523 раз
Рейтинг: 3646.4

Цитата(Fabri @ 21.06.12, 15:58) *
А общую сумму как выводить?

Варианты ответов будут?

Цитата
И ещё, есть такое что студент переводится с одного факультета на другой, и там сумма за обучение другая, тогда он получится в переплате, как в регистре перенести тогда? Отдельно ещё один документ для переноса создавать?

Да, аля "Перемещение товаров студентов". При проведении выводите регистр по студенту и курсу в 0 и записываете потом новую сумму. Ну это мне так кажется, а я ж хз как оно должно в итоге получиться и какие есть нюансы данного процесса.

Сообщение отредактировал Vofka - 21.06.12, 16:02

logist Подменю пользователя
сообщение 21.06.12, 16:12
Сообщение #12

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Зачем вводить руками? При оплате разносить сумму автоматом по курсам (типа как идет списание товаров по ФИФО, так же и разносить оплату).


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Ardi Подменю пользователя
сообщение 21.06.12, 16:32
Сообщение #13

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(logist @ 21.06.12, 17:12) *
При оплате разносить сумму автоматом по курсам

А кто сказал что курс после 100% предоплаты посещается?
Может человек 2 курсов будет ходить и платить постепенно.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Fabri Подменю пользователя
сообщение 02.07.12, 14:14
Сообщение #14

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Все таки решил делать по такому принципу. Создается договор, регистр - ОплатыСтудентов - расход на общую сумму.
Документ - ПриемОплаты - Приход соответственно.
Но щас появилась новая проблема.
Имею Остаток задолженности. Имею общую сумму. Именю цены за каждый курс. Но никак не получается вывести ни в отчете, ни допустим в форме задолженность.
Суммы получаются непонятные.

Может кто-то более силён в математике и логике, прошу помочь:

пример:

A=22500 - общая сумма
B=8580 - остаток задолженности
x1 = 4000 - цена за 1-й курс
x2 = 4200 - цена за 2-й курс
x3 = 4500 - цена за 3-й курс
x4 = 4800 - цена за 4-й курс
x5 = 5000 - цена за 5-й курс

Как обчислить остаток задолженности за каждый из курсов?


Ardi Подменю пользователя
сообщение 02.07.12, 14:42
Сообщение #15

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Не расстраивайтесь, за годик всё получится.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

Fabri Подменю пользователя
сообщение 02.07.12, 14:52
Сообщение #16

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Цитата(Ardi @ 02.07.12, 15:42) *
Не расстраивайтесь, за годик всё получится.


Та я не расстраиваюсь, конфа пишется на добровольных началах, без какой либо оплаты. Просто подкрепление теоретических знаний на практике. Но вот как в любом языке программирования, в книге описанны только сами функции, операторы и т.д., а вот сама логика и приемы программирования, это дело наживное, поэтому и приходится просить помощи, у старшых братьев, которые эту школу уже прошли smile.gif

logist Подменю пользователя
сообщение 02.07.12, 15:23
Сообщение #17

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Храните данные в регистре (регистр Остатков) в разрезе курсов, и так же разносите по курсам оплату. В таком случае получение разных данных (отчеты, движения) будет простым.

Это что бы понять логику (к приемам программирования не имеет отношения):
A=22500;
B=8580;
x1 = 4000;
x2 = 4200;
x3 = 4500;
x4 = 4800;
x5 = 5000;
Оплачено = А-В;

Если Оплачено > (х1+х2+х3+х4+х5) Тогда
сообщить("Оплачено больше чем необходимо");
ИначеЕсли Оплачено = (х1+х2+х3+х4+х5) Тогда
сообщить("Оплачено 5 курсов");
ИначеЕсли Оплачено > (х1+х2+х3+х4) Тогда
сообщить("Оплачено 4 курса и часть 5го");
ИначеЕсли Оплачено = (х1+х2+х3+х4) Тогда
сообщить("Оплачено 4 курса");
ИначеЕсли Оплачено > (х1+х2+х3) Тогда
сообщить("Оплачено 3 курса и часть 4го");
ИначеЕсли Оплачено = (х1+х2+х3) Тогда
сообщить("Оплачено 3 курса");
ИначеЕсли Оплачено > (х1+х2) Тогда
сообщить("Оплачено 2 курса и часть 3го");
ИначеЕсли Оплачено = (х1+х2) Тогда
сообщить("Оплачено 2 курса");
ИначеЕсли Оплачено > х1 Тогда
сообщить("Оплачено 1 курс и часть 2го");
ИначеЕсли Оплачено = х1 Тогда
сообщить("Оплачено 1 курс");
ИначеЕсли Оплачено < х1 и А > 0 Тогда
сообщить("Оплачено меньше одного курса");
Иначе
сообщить("Оплат нет");
КонецЕсли;


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Fabri,

Fabri Подменю пользователя
сообщение 02.07.12, 15:30
Сообщение #18

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Цитата(logist @ 02.07.12, 16:23) *
Храните данные в регистре (регистр Остатков) в разрезе курсов, и так же разносите по курсам оплату. В таком случае получение разных данных (отчеты, движения) будет простым.


Так лекче всего, и мне проще, но, тогда методисту прийдется учитывать задолженность, т.е. если студент должен за 1-й курс ещё 1300 грн, а проплатил 2500, тогда 1300 она вносит по реквизиту 1-й курс, а 1200 грн по реквизиту 2-й курс, но тут присутствует человеческий фактор, и возможны ошибки и т.д.

logist Подменю пользователя
сообщение 02.07.12, 15:32
Сообщение #19

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Fabri @ 02.07.12, 16:30) *
но, тогда методисту прийдется учитывать задолженность, т.е. если студент должен за 1-й курс ещё 1300 грн, а проплатил 2500, тогда 1300 она вносит по реквизиту 1-й курс, а 1200 грн по реквизиту 2-й курс, но тут присутствует человеческий фактор, и возможны ошибки и т.д.

Реализуйте заполнение документа Оплаты по курсам (по принципу ФИФО), ну или без ручного заполнения, при проведении автоматом раскидывайте по курсам, это самое логичное решение.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Fabri,

Fabri Подменю пользователя
сообщение 02.07.12, 15:36
Сообщение #20

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0


 ! 

Правила, п .13
 

Хотя при проплате, можно учитывать остаток задолженности, и если сумма проплаты больше - выдавать ошибку.

Цитата(logist @ 02.07.12, 16:32) *
Реализуйте заполнение документа Оплаты по курсам (по принципу ФИФО), ну или без ручного заполнения, при проведении автоматом раскидывайте по курсам, это самое логичное решение.


Спасибо большое icon_beer17.gif , Вы и вправду logist 12201689.gif smile.gif

Сообщение отредактировал logist - 02.07.12, 15:40

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.05.24, 8:18
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!