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
+
+
+
+
+
+
+
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
+
+
+
+
+
+
+
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
+ Родительская плата: чтение
+
+