diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl index 24733d7..536a9df 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl @@ -79,6 +79,7 @@ СтрокаКЗаполнению.СтрокаПлатежа = СтрокаПлатежа; СтрокаКЗаполнению.Ребенок = Ребенок.Ссылка; СтрокаКЗаполнению.Контрагент = Ребенок.Контрагент; + СтрокаКЗаполнению.Вставить("ЛицевойСчет", ДанныеПлатежа.ЛицевойСчет); СтрокиКЗаполнению.Добавить(СтрокаКЗаполнению); Контрагенты.Вставить(Ребенок.Контрагент, Истина); @@ -108,8 +109,13 @@ // Договоры определяются одним запросом сразу по всем контрагентам документа. Договоры = ДоговорыПоКонтрагентам(Контрагенты, ДокументОбъект, СчетРасчетов); + // КФО строк берётся из настройки лицевого счёта: раздел счёта -> допустимые КФО. + // Используется типовой механизм, поэтому выбор совпадает с поведением типовых форм: + // подставляется первое допустимое значение (наименьший порядок перечисления КВД). + КФОПоСчетам = КФОПоЛицевымСчетам(СтрокиКЗаполнению); + Результат.Заполнено = Результат.Заполнено + ЗаполнитьСтрокиРасшифровки( - СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа); + СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа, КФОПоСчетам); Возврат Результат; @@ -375,11 +381,14 @@ // договоры, определённые по контрагентам однозначно. // СчетРасчетов - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы. // КОСГУНазначениеПлатежа - СправочникСсылка.КОСГУ - КОСГУ назначения платежа. +// КФОПоСчетам - Соответствие из Строка, ПеречислениеСсылка.КВД - КФО по номерам +// лицевых счетов, см. КФОПоЛицевымСчетам. // // Возвращаемое значение: // Число - количество заполненных строк расшифровки платежа. // -Функция ЗаполнитьСтрокиРасшифровки(СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа) +Функция ЗаполнитьСтрокиРасшифровки(СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа, + КФОПоСчетам = Неопределено) // Типовая загрузка реестров прописывает в КОСГУ назначения платежа код "000" - // для родительской платы его нужно заменить принудительно. @@ -411,6 +420,10 @@ СтрокаРасшифровки.КОСГУНазначениеПлатежа = КОСГУНазначениеПлатежа; КонецЕсли; + Если НЕ ЗначениеЗаполнено(СтрокаРасшифровки.КФО) И КФОПоСчетам <> Неопределено Тогда + СтрокаРасшифровки.КФО = КФОСтрокиПоЛицевомуСчету(КФОПоСчетам, СтрокаКЗаполнению.ЛицевойСчет); + КонецЕсли; + Заполнено = Заполнено + 1; КонецЦикла; @@ -419,6 +432,108 @@ КонецФункции +// Определяет КФО для лицевых счетов строк документа. +// +// КФО задаётся на разделе лицевого счёта (табличная часть "Допустимые КФО"). Список допустимых +// значений получаем типовой функцией, она же упорядочивает их по порядку перечисления КВД. +// Как и в типовых формах, берётся первое допустимое значение: если у счёта разрешено несколько +// КФО, подставляется значение с наименьшим порядком, остальные бухгалтер может выбрать вручную. +// +// Параметры: +// СтрокиКЗаполнению - Массив из Структура - строки, по которым определён ребёнок и контрагент. +// +// Возвращаемое значение: +// Соответствие из Строка, ПеречислениеСсылка.КВД - КФО по номерам лицевых счетов, +// по которым допустимый КФО определён. +// +Функция КФОПоЛицевымСчетам(СтрокиКЗаполнению) + + Результат = Новый Соответствие; + + Коды = Новый Массив; + Для Каждого СтрокаКЗаполнению Из СтрокиКЗаполнению Цикл + Для Каждого Код Из КодыПоискаРебенка(СтрокаКЗаполнению.ЛицевойСчет) Цикл + Коды.Добавить(Код); + КонецЦикла; + КонецЦикла; + + Если Коды.Количество() = 0 Тогда + Возврат Результат; + КонецЕсли; + + Для Каждого ЛицевойСчет Из ЛицевыеСчетаПоКодам(Коды) Цикл + + ДопустимыеКФО = ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеКФО(, ЛицевойСчет.Значение); + Если ДопустимыеКФО.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Результат.Вставить(ЛицевойСчет.Ключ, ДопустимыеКФО[0]); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Возвращает КФО строки по номеру лицевого счёта, распознанному в назначении платежа. +// +// Параметры: +// КФОПоСчетам - Соответствие из Строка, ПеречислениеСсылка.КВД - КФО по номерам лицевых счетов. +// ЛицевойСчет - Строка - лицевой счёт, распознанный в назначении платежа. +// +// Возвращаемое значение: +// ПеречислениеСсылка.КВД - КФО строки; пустая ссылка, если КФО определить не удалось. +// +Функция КФОСтрокиПоЛицевомуСчету(КФОПоСчетам, ЛицевойСчет) + + Для Каждого Код Из КодыПоискаРебенка(ЛицевойСчет) Цикл + КФО = КФОПоСчетам[Код]; + Если КФО <> Неопределено Тогда + Возврат КФО; + КонецЕсли; + КонецЦикла; + + Возврат Перечисления.КВД.ПустаяСсылка(); + +КонецФункции + +// Возвращает лицевые счета по их номерам. +// +// Параметры: +// Коды - Массив из Строка - номера лицевых счетов (варианты написания). +// +// Возвращаемое значение: +// Соответствие из Строка, СправочникСсылка.ЛицевыеСчета - лицевые счета по номерам. +// +Функция ЛицевыеСчетаПоКодам(Коды) + + Результат = Новый Соответствие; + Если Коды.Количество() = 0 Тогда + Возврат Результат; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ЛицевыеСчета.Код КАК Код, + | ЛицевыеСчета.Ссылка КАК Ссылка + |ИЗ + | Справочник.ЛицевыеСчета КАК ЛицевыеСчета + |ГДЕ + | НЕ ЛицевыеСчета.ПометкаУдаления + | И ЛицевыеСчета.Код В (&Коды)"; + Запрос.УстановитьПараметр("Коды", Коды); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Результат.Вставить(СокрЛП(Выборка.Код), Выборка.Ссылка); + КонецЦикла; + + Возврат Результат; + +КонецФункции + // Определяет лицевой счёт ребёнка по тексту назначения платежа. // Лицевой счёт идёт после последнего вхождения "л/с" и может начинаться с буквы "Х" или "Г". // diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl index 52c1fac..8c233da 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl @@ -173,11 +173,12 @@ Возврат ТабличныйДокумент; КонецЕсли; + // Макет общий для обоих документов: реестр у ЦБ и у сада одинаковый, + // поэтому сопровождается в одном месте - общем макете. + Макет = ПолучитьОбщийМакет("ПС_РеестрПлатежей"); Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ") Тогда - Макет = Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПолучитьМакет("РеестрПлатежей"); Учреждение = ДокументОбъект.Организация; Иначе - Макет = Документы.ПС_ПередачаПоступившихПлатежейВУчреждения.ПолучитьМакет("РеестрПлатежей"); Учреждение = ДокументОбъект.Учреждение; КонецЕсли; diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/ПС_РеестрПлатежей.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/ПС_РеестрПлатежей.mdo new file mode 100644 index 0000000..944c19a --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/ПС_РеестрПлатежей.mdo @@ -0,0 +1,8 @@ + + + ПС_РеестрПлатежей + + ru + Реестр платежей + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo index c3633b0..8a9265e 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo @@ -28,7 +28,7 @@ PersonalComputer Russian Role.ПС_ОсновнаяРоль - 1.0.1 + 1.0.2 Language.Русский TaxiEnableVersion8_2 @@ -54,6 +54,9 @@ CommonPicture.Сумма Role.ПС_ОсновнаяРоль Role.БазовыеПраваБГУ + Role.ПС_ЧтениеРодительскойПлаты + Role.ПС_ЗаписьРодительскойПлаты + CommonTemplate.ПС_РеестрПлатежей CommonModule.ПС_УчетРодительскойПлаты CommonModule.ПС_РазборПлатежейПоРодительскойПлате CommonModule.ВариантыОтчетовПереопределяемый diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx index a03772f..37be51f 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx @@ -6,7 +6,7 @@ ru Русский - Русский + @@ -389,7 +389,7 @@ - 15 + 20 ДатаПлатежа @@ -407,7 +407,7 @@ c4c71b73-7783-4619-abbc-ece4486e4bdb - 20 + 21 ru @@ -418,14 +418,14 @@ - 21 + 22 ОбщаяСумма true - 22 + 23 7 7 @@ -478,7 +478,7 @@ - 198 + 846 81 @@ -553,6 +553,19 @@ + + 0 + 0 + Center + Wrap + Parameter + + + ru + ДФ=dd.MM.yyyy + + + 1 diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo index 3748a9e..0446be9 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo @@ -436,7 +436,7 @@ Извещение ф. 0504805 (103н) — получатель - + РеестрПлатежей ru diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx index a03772f..37be51f 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx @@ -6,7 +6,7 @@ ru Русский - Русский + @@ -389,7 +389,7 @@ - 15 + 20 ДатаПлатежа @@ -407,7 +407,7 @@ c4c71b73-7783-4619-abbc-ece4486e4bdb - 20 + 21 ru @@ -418,14 +418,14 @@ - 21 + 22 ОбщаяСумма true - 22 + 23 7 7 @@ -478,7 +478,7 @@ - 198 + 846 81 @@ -553,6 +553,19 @@ + + 0 + 0 + Center + Wrap + Parameter + + + ru + ДФ=dd.MM.yyyy + + + 1 diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/Rights.rights b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/Rights.rights new file mode 100644 index 0000000..29e5a5a --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/Rights.rights @@ -0,0 +1,132 @@ + + + false + false + false + + Document.ПС_ПередачаПоступившихПлатежейВУчреждения + + Read + true + + + View + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ + + Read + true + + + View + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + + Document.НачислениеРодительскойПлаты + + Read + true + + + View + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате + + Read + true + + + Update + true + + + + DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате + + Use + true + + + View + true + + + + Report.ПС_ВедомостьЦБПоРодительскойПлате + + Use + true + + + View + true + + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/ПС_ЗаписьРодительскойПлаты.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/ПС_ЗаписьРодительскойПлаты.mdo new file mode 100644 index 0000000..0ac10ab --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/ПС_ЗаписьРодительскойПлаты.mdo @@ -0,0 +1,8 @@ + + + ПС_ЗаписьРодительскойПлаты + + ru + Родительская плата: запись + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/Rights.rights b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/Rights.rights new file mode 100644 index 0000000..336ed2c --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/Rights.rights @@ -0,0 +1,68 @@ + + + false + false + false + + Document.ПС_ПередачаПоступившихПлатежейВУчреждения + + Read + true + + + View + true + + + + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ + + Read + true + + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате + + Read + true + + + + DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате + + Use + true + + + View + true + + + + Report.ПС_ВедомостьЦБПоРодительскойПлате + + Use + true + + + View + true + + + + Document.НачислениеРодительскойПлаты + + Read + true + + + View + true + + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/ПС_ЧтениеРодительскойПлаты.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/ПС_ЧтениеРодительскойПлаты.mdo new file mode 100644 index 0000000..bd2e64a --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/ПС_ЧтениеРодительскойПлаты.mdo @@ -0,0 +1,8 @@ + + + ПС_ЧтениеРодительскойПлаты + + ru + Родительская плата: чтение + +