diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo
index 867abac..0e4b017 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo
@@ -46,22 +46,6 @@
Use
-
- ИДСтроки
-
- ru
- ИД строки (квитанции)
-
-
- String
-
- 25
-
-
-
-
- Use
-
ДокументПередачи
@@ -187,4 +171,21 @@
Use
true
+
+ ИДСтроки
+
+ ru
+ ИД строки (квитанции)
+
+
+ String
+
+ 50
+
+
+
+
+ Use
+ true
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Catalogs/ВидыНалоговИПлатежей/ВидыНалоговИПлатежей.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Catalogs/ВидыНалоговИПлатежей/ВидыНалоговИПлатежей.mdo
new file mode 100644
index 0000000..fddbdea
--- /dev/null
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Catalogs/ВидыНалоговИПлатежей/ВидыНалоговИПлатежей.mdo
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+ ВидыНалоговИПлатежей
+ Adopted
+
+ Checked
+
+ true
+
+ СчетУчета
+ Adopted
+
+ Checked
+
+
+ Checked
+ String
+
+
+ 6
+
+
+
+
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутренниеЭлектронныеДокументыБГУ/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутренниеЭлектронныеДокументыБГУ/Module.bsl
deleted file mode 100644
index 32e87a4..0000000
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутренниеЭлектронныеДокументыБГУ/Module.bsl
+++ /dev/null
@@ -1,33 +0,0 @@
-// ВнутренниеЭлектронныеДокументыБГУ: расширение.
-// Дополняет состав документов, обрабатываемых внутренним ЭДО БГУ, документами
-// учёта родительской платы: передачей поступивших платежей в учреждение и
-// принятием поступивших платежей из ЦБ.
-
-#Область ПрограммныйИнтерфейс
-
-// Определяет, обрабатывается ли учётный документ механизмом внутреннего ЭДО БГУ.
-// В типовой список типов БГУ документы расширения не входят, поэтому дополняем результат.
-//
-// Параметры:
-// ТипИсточника - Тип - тип ссылки или объекта учётного документа.
-//
-// Возвращаемое значение:
-// Булево - Истина, если документ обрабатывается внутренним ЭДО БГУ.
-//
-&Вместо("ЭтоВнутреннийДокументЭДО")
-Функция ПС_ЭтоВнутреннийДокументЭДО(ТипИсточника) Экспорт
-
- Результат = ПродолжитьВызов(ТипИсточника);
-
- Если НЕ Результат Тогда
- Результат = ТипИсточника = Тип("ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения")
- ИЛИ ТипИсточника = Тип("ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения")
- ИЛИ ТипИсточника = Тип("ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ")
- ИЛИ ТипИсточника = Тип("ДокументОбъект.ПС_ПринятиеПоступившихПлатежейИзЦБ");
- КонецЕсли;
-
- Возврат Результат;
-
-КонецФункции
-
-#КонецОбласти
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl
index ab77ab9..24733d7 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl
@@ -1,4 +1,3 @@
-ПС_ИдентификаторыОбъектовЭДО.ПС_ОбеспечитьИдентификаторыДокументовЭДО();
// ПС_РазборПлатежейПоРодительскойПлате: идентификация ребёнка и его контрагента по назначению платежа
// в строках табличной части "Расшифровка платежа" документа КассовоеПоступление (БГУ 2.0).
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
@@ -124,14 +123,21 @@
//
// Возвращаемое значение:
// Структура - результат разбора:
-// * ЛицевойСчет - Строка - распознанный лицевой счёт ребёнка; пустая строка, если не распознан;
-// * ФИО - Строка - ФИО ребёнка из назначения платежа; пустая строка, если не распознано.
+// * ЛицевойСчет - Строка - распознанный лицевой счёт ребёнка; пустая строка, если не распознан;
+// * ФИО - Строка - ФИО ребёнка из назначения платежа; пустая строка, если не распознано;
+// * Группа - Строка - группа детского сада (5-я часть назначения); пустая строка, если не распознана;
+// * ПериодОплаты - Строка - период оплаты (6-я часть назначения, например "Июнь"); пустая строка, если не распознан;
+// * РасчетныйСчет - Строка - лицевой счёт учреждения (2-я часть назначения, без префикса "л/с");
+// пустая строка, если не распознан.
//
Функция РазобратьНазначениеПлатежа(ТекстНазначения) Экспорт
Результат = Новый Структура;
Результат.Вставить("ЛицевойСчет", "");
Результат.Вставить("ФИО", "");
+ Результат.Вставить("Группа", "");
+ Результат.Вставить("ПериодОплаты", "");
+ Результат.Вставить("РасчетныйСчет", "");
Если НЕ ЗначениеЗаполнено(ТекстНазначения) Тогда
Возврат Результат;
@@ -140,10 +146,55 @@
Результат.ЛицевойСчет = ОпределитьЛицевойСчетРебенка(ТекстНазначения);
Результат.ФИО = ОпределитьФИОИзНазначения(ТекстНазначения);
+ // Разбор по частям: "учреждение,л/с учреждения,л/с ребёнка,ФИО,группа,период".
+ ЧастиНазначения = СтрРазделить(ТекстНазначения, ",");
+ Если ЧастиНазначения.Количество() >= 2 Тогда
+ Результат.РасчетныйСчет = УбратьПрефиксЛицевогоСчета(ЧастиНазначения[1]);
+ КонецЕсли;
+ Если ЧастиНазначения.Количество() >= 6 Тогда
+ Результат.Группа = СокрЛП(ЧастиНазначения[4]);
+ Результат.ПериодОплаты = СокрЛП(ЧастиНазначения[5]);
+ КонецЕсли;
+
Возврат Результат;
КонецФункции
+// Проверяет, есть ли в расшифровке платежа лицевые счета детей - признак платежа родительской платы.
+// Применяется, когда признак "Родительская плата" не установлен: если лицевой счёт ребёнка распознан
+// и найден в справочнике детей, платёж, скорее всего, относится к родительской плате.
+//
+// Параметры:
+// ДокументОбъект - ДокументОбъект.КассовоеПоступление - проверяемый документ.
+//
+// Возвращаемое значение:
+// Булево - Истина, если хотя бы один распознанный лицевой счёт найден в справочнике детей.
+//
+Функция ЕстьЛицевыеСчетаДетей(ДокументОбъект) Экспорт
+
+ КодыПоиска = Новый Массив;
+
+ Для Каждого СтрокаПлатежа Из ДокументОбъект.РасшифровкаПлатежа Цикл
+
+ ДанныеПлатежа = РазобратьНазначениеПлатежа(СтрокаПлатежа.Примечание);
+ Если НЕ ЗначениеЗаполнено(ДанныеПлатежа.ЛицевойСчет) Тогда
+ Продолжить;
+ КонецЕсли;
+
+ Для Каждого Код Из КодыПоискаРебенка(ДанныеПлатежа.ЛицевойСчет) Цикл
+ КодыПоиска.Добавить(Код);
+ КонецЦикла;
+
+ КонецЦикла;
+
+ Если КодыПоиска.Количество() = 0 Тогда
+ Возврат Ложь;
+ КонецЕсли;
+
+ Возврат ДетиПоЛицевымСчетам(КодыПоиска).Количество() > 0;
+
+КонецФункции
+
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -413,6 +464,29 @@
КонецФункции
+// Убирает префикс "л/с" (в любом регистре и написании) из значения части назначения платежа.
+//
+// Параметры:
+// Значение - Строка - часть назначения платежа, например "л/с 03003001079".
+//
+// Возвращаемое значение:
+// Строка - значение без префикса и лишних пробелов.
+//
+Функция УбратьПрефиксЛицевогоСчета(Значение)
+
+ Текст = СокрЛП(Значение);
+ ВерхнийРегистр = ВРЕГ(Текст);
+
+ Если Лев(ВерхнийРегистр, 3) = "Л/С" Тогда
+ Возврат СокрЛП(Сред(Текст, 4));
+ ИначеЕсли Лев(ВерхнийРегистр, 2) = "ЛС" Тогда
+ Возврат СокрЛП(Сред(Текст, 3));
+ КонецЕсли;
+
+ Возврат Текст;
+
+КонецФункции
+
// Возвращает ФИО ребёнка из текста назначения платежа (4-я часть, разделитель - запятая).
// Для поиска используется пара "Фамилия Имя", как в реестрах.
//
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl
index 495268f..cbef21b 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl
@@ -43,10 +43,7 @@
// Вёрстка и набор областей повторяют типовую печатную форму документа ИзвещениеИсходящее.
// Заполняется та сторона, от которой печатается извещение: для передачи поступивших платежей -
// отправитель (централизованная бухгалтерия), для принятия платежей - получатель (учреждение).
-// Суммы и счета берутся из проводок документа, поэтому печатается только проведённый документ.
-//
-// Документ передачи платежей ЦБ охватывает несколько учреждений, поэтому из него формируется
-// отдельное извещение на каждое учреждение, присутствующее в табличной части "Задолженность".
+// Данные берутся из табличной части "Задолженность", поэтому печатается и непроведённый документ.
//
// Параметры:
// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения,
@@ -54,7 +51,7 @@
//
// Возвращаемое значение:
// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не записан,
-// не проведён, нет проводок или не найден макет.
+// в нём нет строк или не найден макет.
//
Функция ПечатьИзвещения0504805(ДокументСсылка) Экспорт
@@ -74,18 +71,10 @@
Возврат ТабличныйДокумент;
КонецЕсли;
- Если НЕ ДокументОбъект.Проведен Тогда
- ОбщегоНазначения.СообщитьПользователю(
- "Печатная форма извещения формируется по проводкам документа, поэтому печатается"
- + " только проведённый документ. Проведите документ и повторите печать.");
- Возврат ТабличныйДокумент;
- КонецЕсли;
-
- Проводки = ПроводкиИзвещения(ДокументСсылка);
+ Проводки = ДанныеИзвещенияПоРеестру(ДокументОбъект);
Если Проводки.Количество() = 0 Тогда
ОбщегоНазначения.СообщитьПользователю(
- "По документу не найдено проводок в регистре бухгалтерии - печатная форма"
- + " извещения не сформирована.");
+ "Печатная форма извещения не сформирована: в документе нет строк с платежами.");
Возврат ТабличныйДокумент;
КонецЕсли;
@@ -145,10 +134,420 @@
КонецФункции
+// Формирует печатную форму реестра поступивших платежей по документу подсистемы.
+//
+// Реестр строится по табличной части "Задолженность" и не зависит от проводок документа,
+// поэтому печатается и непроведённый документ.
+//
+// Параметры:
+// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения,
+// ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемый документ.
+//
+// Возвращаемое значение:
+// ТабличныйДокумент - печатная форма реестра; пустой табличный документ, если документ
+// не записан, не содержит строк или в документе нет макета.
+//
+Функция ПечатьРеестраПлатежей(ДокументСсылка) Экспорт
+
+ ТабличныйДокумент = Новый ТабличныйДокумент;
+ ТабличныйДокумент.АвтоМасштаб = Истина;
+ ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
+
+ Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Печатная форма реестра не сформирована: документ не записан в базу."
+ + " Запишите документ и повторите печать.");
+ Возврат ТабличныйДокумент;
+ КонецЕсли;
+
+ ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
+ Если ДокументОбъект = Неопределено Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Печатная форма реестра не сформирована: не удалось прочитать документ.");
+ Возврат ТабличныйДокумент;
+ КонецЕсли;
+
+ Если ДокументОбъект.Задолженность.Количество() = 0 Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Печатная форма реестра не сформирована: в документе нет строк с платежами.");
+ Возврат ТабличныйДокумент;
+ КонецЕсли;
+
+ Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ") Тогда
+ Макет = Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПолучитьМакет("РеестрПлатежей");
+ Учреждение = ДокументОбъект.Организация;
+ Иначе
+ Макет = Документы.ПС_ПередачаПоступившихПлатежейВУчреждения.ПолучитьМакет("РеестрПлатежей");
+ Учреждение = ДокументОбъект.Учреждение;
+ КонецЕсли;
+
+ Если Макет = Неопределено Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Печатная форма реестра не сформирована: в документе не найден макет печатной формы.");
+ Возврат ТабличныйДокумент;
+ КонецЕсли;
+
+ ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
+ ОбластьЗаголовок.Параметры.ЗаголовокРеестра =
+ "Реестр поступивших платежей по родительской плате за "
+ + Формат(ДокументОбъект.Период, "ДФ='MMMM yyyy'");
+ ОбластьЗаголовок.Параметры.РеквизитыДокумента =
+ "Документ № " + ДокументОбъект.Номер + " от " + Формат(ДокументОбъект.Дата, "ДЛФ=DD")
+ + ", " + Строка(Учреждение);
+ ТабличныйДокумент.Вывести(ОбластьЗаголовок);
+
+ ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("ОбластьШапкаТаблицы"));
+
+ ОбластьСтрока = Макет.ПолучитьОбласть("ОбластьСтрокаТаблицы");
+ ИтогоСумма = 0;
+ Для Каждого СтрокаРеестра Из ДокументОбъект.Задолженность Цикл
+ ОбластьСтрока.Параметры.Плательщик = СтрокаРеестра.Контрагент;
+ ОбластьСтрока.Параметры.Сумма = СтрокаРеестра.Сумма;
+ ОбластьСтрока.Параметры.ЛицевойСчет = СтрокаРеестра.ЛицевойСчет;
+ ОбластьСтрока.Параметры.Ребенок = СтрокаРеестра.Ребенок;
+ ОбластьСтрока.Параметры.НазначениеПлатежа = СтрокаРеестра.НазначениеПлатежа;
+ ОбластьСтрока.Параметры.Организация = Учреждение;
+ ОбластьСтрока.Параметры.РассчетныйСчет = СтрокаРеестра.РасчетныйСчет;
+ ОбластьСтрока.Параметры.Группа = СтрокаРеестра.Группа;
+ ОбластьСтрока.Параметры.Период = СтрокаРеестра.ПериодОплаты;
+ ОбластьСтрока.Параметры.ДатаПлатежа = СтрокаРеестра.ДатаПлатежа;
+ ТабличныйДокумент.Вывести(ОбластьСтрока);
+ ИтогоСумма = ИтогоСумма + СтрокаРеестра.Сумма;
+ КонецЦикла;
+
+ ОбластьПодвал = Макет.ПолучитьОбласть("ОбластьПодвалТаблицы");
+ ОбластьПодвал.Параметры.ОбщаяСумма = ИтогоСумма;
+ ТабличныйДокумент.Вывести(ОбластьПодвал);
+
+ Возврат ТабличныйДокумент;
+
+КонецФункции
+
+// Создаёт (или перезаполняет) исходящее извещение ф. 0504805 по документу передачи платежей.
+//
+// Извещение создаётся как обёртка: заполняются шапка и табличная часть "Передаваемые проводки"
+// (она же данные печати), документ не проводится - бухгалтерские проводки остаются в документе
+// передачи. Извещение служит носителем шапки, связей и данных для электронного документооборота.
+//
+// Параметры:
+// ДокументПередачи - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ-основание.
+//
+// Возвращаемое значение:
+// ДокументСсылка.ИзвещениеИсходящее - созданное или перезаполненное извещение;
+// пустая ссылка, если извещение проведено.
+//
+Функция СоздатьИзвещениеПоПередаче(ДокументПередачи) Экспорт
+
+ Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачи,
+ "Организация, Учреждение, ИФО, Период, Ответственный, ИзвещениеИсходящее");
+
+ ИзвещениеОбъект = Неопределено;
+ Если ЗначениеЗаполнено(Реквизиты.ИзвещениеИсходящее) Тогда
+ ИзвещениеОбъект = Реквизиты.ИзвещениеИсходящее.ПолучитьОбъект();
+ КонецЕсли;
+
+ Если ИзвещениеОбъект = Неопределено Тогда
+ ИзвещениеОбъект = Документы.ИзвещениеИсходящее.СоздатьДокумент();
+ ИначеЕсли ИзвещениеОбъект.Проведен Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся."
+ + " Распроведите извещение или отвяжите его от документа передачи.");
+ Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка();
+ КонецЕсли;
+
+ ИзвещениеОбъект.Дата = ТекущаяДатаСеанса();
+ ИзвещениеОбъект.Организация = Реквизиты.Организация;
+ ИзвещениеОбъект.Получатель = КонтрагентПоОрганизации(Реквизиты.Учреждение);
+ ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийИсходящееИзвещение.ПолучениеДохода;
+ ИзвещениеОбъект.ИФО = Реквизиты.ИФО;
+ ИзвещениеОбъект.Ответственный = Реквизиты.Ответственный;
+ ИзвещениеОбъект.Комментарий =
+ "Передача поступивших платежей по родительской плате за "
+ + Формат(Реквизиты.Период, "ДФ='MMMM yyyy'")
+ + ". Основание: " + Строка(ДокументПередачи) + ".";
+
+ ЗаполнитьПроводкиИзвещения(ИзвещениеОбъект, ДокументПередачи);
+
+ ИзвещениеОбъект.Записать(РежимЗаписиДокумента.Запись);
+
+ Возврат ИзвещениеОбъект.Ссылка;
+
+КонецФункции
+
+// Создаёт (или перезаполняет) входящее извещение ф. 0504805 по документу принятия платежей.
+//
+// Извещение создаётся как обёртка: заполняются шапка и табличная часть "Передаваемые проводки",
+// документ не проводится - проводки формирует документ принятия.
+//
+// Параметры:
+// ДокументПринятия - ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - документ-основание.
+//
+// Возвращаемое значение:
+// ДокументСсылка.ИзвещениеВходящее - созданное или перезаполненное извещение;
+// пустая ссылка, если извещение проведено.
+//
+Функция СоздатьИзвещениеПоПринятию(ДокументПринятия) Экспорт
+
+ Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПринятия,
+ "Организация, ЦБ, ИФО, Период, Ответственный, ИзвещениеВходящее, ДокументПередачи");
+
+ ИзвещениеОбъект = Неопределено;
+ Если ЗначениеЗаполнено(Реквизиты.ИзвещениеВходящее) Тогда
+ ИзвещениеОбъект = Реквизиты.ИзвещениеВходящее.ПолучитьОбъект();
+ КонецЕсли;
+
+ Если ИзвещениеОбъект = Неопределено Тогда
+ ИзвещениеОбъект = Документы.ИзвещениеВходящее.СоздатьДокумент();
+ ИначеЕсли ИзвещениеОбъект.Проведен Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся."
+ + " Распроведите извещение или отвяжите его от документа принятия.");
+ Возврат Документы.ИзвещениеВходящее.ПустаяСсылка();
+ КонецЕсли;
+
+ ИзвещениеОбъект.Дата = ТекущаяДатаСеанса();
+ ИзвещениеОбъект.Организация = Реквизиты.Организация;
+ ИзвещениеОбъект.Отправитель = КонтрагентПоОрганизации(Реквизиты.ЦБ);
+ ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийВходящееИзвещение.ПолучениеДохода;
+ ИзвещениеОбъект.ИФО = Реквизиты.ИФО;
+ ИзвещениеОбъект.Ответственный = Реквизиты.Ответственный;
+ ИзвещениеОбъект.Комментарий =
+ "Принятие поступивших платежей по родительской плате за "
+ + Формат(Реквизиты.Период, "ДФ='MMMM yyyy'")
+ + ". Основание: " + Строка(ДокументПринятия) + ".";
+
+ Если ЗначениеЗаполнено(Реквизиты.ДокументПередачи) Тогда
+ ИзвещениеОбъект.ДокументОснование = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(
+ Реквизиты.ДокументПередачи, "ИзвещениеИсходящее");
+ КонецЕсли;
+
+ ЗаполнитьПроводкиИзвещения(ИзвещениеОбъект, ДокументПринятия);
+
+ ИзвещениеОбъект.Записать(РежимЗаписиДокумента.Запись);
+
+ Возврат ИзвещениеОбъект.Ссылка;
+
+КонецФункции
+
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
+// Заполняет табличную часть "Передаваемые проводки" извещения по строкам реестра документа.
+//
+// Строки отражают операцию зачисления в доход бюджета: Дт 303.05 (КЭК 831) - Кт 205.31 (КЭК 660).
+// КПС берётся из строки реестра, КФО - из шапки документа.
+//
+// Параметры:
+// ИзвещениеОбъект - ДокументОбъект.ИзвещениеИсходящее, ДокументОбъект.ИзвещениеВходящее - заполняемое извещение.
+// ДокументСсылка - ДокументСсылка - документ подсистемы, по строкам которого заполняется извещение.
+//
+Процедура ЗаполнитьПроводкиИзвещения(ИзвещениеОбъект, ДокументСсылка)
+
+ ИзвещениеОбъект.ПередаваемыеПроводки.Очистить();
+
+ ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
+ Если ДокументОбъект = Неопределено Тогда
+ Возврат;
+ КонецЕсли;
+
+ СчетДт = БухгалтерскийУчет.СчетПоКоду("303.05", ДокументОбъект.Дата, ДокументОбъект.Организация);
+ СчетКт = БухгалтерскийУчет.СчетПоКоду("205.31", ДокументОбъект.Дата, ДокументОбъект.Организация);
+ КЭКДт = Справочники.КОСГУ.НайтиПоКоду("831");
+ КЭККт = Справочники.КОСГУ.НайтиПоКоду("660");
+
+ Для Каждого СтрокаРеестра Из ДокументОбъект.Задолженность Цикл
+
+ Проводка = ИзвещениеОбъект.ПередаваемыеПроводки.Добавить();
+ Проводка.КФО = ДокументОбъект.КФО;
+ Проводка.СчетДт = СчетДт;
+ Проводка.КПСДт = СтрокаРеестра.КПС;
+ Проводка.КЭКДт = КЭКДт;
+ Проводка.СчетКт = СчетКт;
+ Проводка.КПСКт = СтрокаРеестра.КПС;
+ Проводка.КЭККт = КЭККт;
+ Проводка.Сумма = СтрокаРеестра.Сумма;
+ Проводка.Содержание = "Поступление родительской платы";
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+// Возвращает контрагента, соответствующего организации, для подстановки в извещение.
+//
+// Параметры:
+// Организация - СправочникСсылка.Организации - организация (сад или централизованная бухгалтерия).
+//
+// Возвращаемое значение:
+// СправочникСсылка.Контрагенты - контрагент организации; пустая ссылка, если соответствие не найдено.
+//
+Функция КонтрагентПоОрганизации(Организация)
+
+ Если НЕ ЗначениеЗаполнено(Организация) Тогда
+ Возврат Справочники.Контрагенты.ПустаяСсылка();
+ КонецЕсли;
+
+ Контрагент = БюджетнаяОтчетностьПолучениеНСИ.КонтрагентПоОрганизации(Организация);
+ Если ЗначениеЗаполнено(Контрагент) Тогда
+ Возврат Контрагент;
+ КонецЕсли;
+
+ // Штатный подбор сравнивает одновременно ИНН, КПП и бюджет организации с реквизитами
+ // юридического лица контрагента. Если КПП или бюджет расходятся, контрагент не находится -
+ // подбираем по ИНН и уточняем по КПП и бюджету.
+ Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Организация, "ИНН, КПП, Бюджет");
+
+ Если НЕ ЗначениеЗаполнено(Реквизиты.ИНН) Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "У организации " + Строка(Организация) + " не заполнен ИНН:"
+ + " контрагент для извещения не подобран, заполните его вручную.");
+ Возврат Справочники.Контрагенты.ПустаяСсылка();
+ КонецЕсли;
+
+ Кандидаты = КонтрагентыПоИНН(Реквизиты.ИНН);
+
+ Контрагент = ОтобратьКонтрагента(Кандидаты, Реквизиты);
+ Если ЗначениеЗаполнено(Контрагент) Тогда
+ Возврат Контрагент;
+ КонецЕсли;
+
+ ВсеПомеченные = Кандидаты.Количество() > 0;
+ Для Каждого Кандидат Из Кандидаты Цикл
+ Если НЕ Кандидат.ПометкаУдаления Тогда
+ ВсеПомеченные = Ложь;
+ Прервать;
+ КонецЕсли;
+ КонецЦикла;
+
+ Если ВсеПомеченные Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Для организации " + Строка(Организация)
+ + " найден только контрагент, помеченный на удаление: снимите пометку удаления"
+ + " или заведите действующего контрагента.");
+ Возврат Справочники.Контрагенты.ПустаяСсылка();
+ КонецЕсли;
+
+ ОбщегоНазначения.СообщитьПользователю(СтрШаблон(
+ "Для организации %1 не найден контрагент: ИНН %2, КПП %3, кандидатов по ИНН - %4."
+ + " Проверьте КПП и бюджет в юридическом лице контрагента или заполните контрагента вручную.",
+ Строка(Организация), Реквизиты.ИНН,
+ ?(ЗначениеЗаполнено(Реквизиты.КПП), Реквизиты.КПП, "<не заполнен>"), Кандидаты.Количество()));
+
+ Возврат Справочники.Контрагенты.ПустаяСсылка();
+
+КонецФункции
+
+// Возвращает контрагентов-юрлиц с указанным ИНН (без помеченных на удаление).
+//
+// Параметры:
+// ИНН - Строка - ИНН организации.
+//
+// Возвращаемое значение:
+// Массив из Структура - кандидаты: Контрагент, КПП, Бюджет.
+//
+Функция КонтрагентыПоИНН(ИНН)
+
+ Запрос = Новый Запрос;
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | Контрагенты.Ссылка КАК Контрагент,
+ | ЮридическиеЛица.КПП КАК КПП,
+ | ЮридическиеЛица.Бюджет КАК Бюджет,
+ | Контрагенты.ПометкаУдаления КАК ПометкаУдаления
+ |ИЗ
+ | Справочник.Контрагенты КАК Контрагенты
+ | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ЮридическиеЛица КАК ЮридическиеЛица
+ | ПО Контрагенты.ЮридическоеФизическоеЛицо = ЮридическиеЛица.Ссылка
+ |ГДЕ
+ | Контрагенты.ВидКонтрагента = &ВидКонтрагента
+ | И ЮридическиеЛица.ИНН = &ИНН";
+ Запрос.УстановитьПараметр("ВидКонтрагента", Перечисления.ЮрФизЛицо.ЮрЛицо);
+ Запрос.УстановитьПараметр("ИНН", ИНН);
+
+ Кандидаты = Новый Массив;
+ Выборка = Запрос.Выполнить().Выбрать();
+ Пока Выборка.Следующий() Цикл
+ Кандидаты.Добавить(Новый Структура("Контрагент, КПП, Бюджет, ПометкаУдаления",
+ Выборка.Контрагент, Выборка.КПП, Выборка.Бюджет, Выборка.ПометкаУдаления));
+ КонецЦикла;
+
+ Возврат Кандидаты;
+
+КонецФункции
+
+// Выбирает контрагента из кандидатов по ИНН, уточняя по КПП и бюджету организации.
+//
+// Параметры:
+// Кандидаты - Массив из Структура - кандидаты, найденные по ИНН.
+// Реквизиты - Структура - реквизиты организации: ИНН, КПП, Бюджет.
+//
+// Возвращаемое значение:
+// СправочникСсылка.Контрагенты - единственный подходящий контрагент;
+// пустая ссылка, если однозначно выбрать нельзя.
+//
+Функция ОтобратьКонтрагента(Кандидаты, Реквизиты)
+
+ // Помеченные на удаление в работу не принимаются: из них можно только подсказать причину.
+ Рабочие = Новый Массив;
+ Для Каждого Кандидат Из Кандидаты Цикл
+ Если НЕ Кандидат.ПометкаУдаления Тогда
+ Рабочие.Добавить(Кандидат);
+ КонецЕсли;
+ КонецЦикла;
+
+ Если Рабочие.Количество() = 0 Тогда
+ Возврат Справочники.Контрагенты.ПустаяСсылка();
+ КонецЕсли;
+
+ // ИНН уникален для организации: единственный кандидат принимается без уточнений,
+ // даже если КПП в юридическом лице контрагента отличается.
+ Если Рабочие.Количество() = 1 Тогда
+ Возврат Рабочие[0].Контрагент;
+ КонецЕсли;
+
+ Кандидаты = Рабочие;
+
+ Если ЗначениеЗаполнено(Реквизиты.КПП) Тогда
+ Кандидаты = ОтобратьПоРеквизиту(Кандидаты, "КПП", Реквизиты.КПП);
+ Если Кандидаты.Количество() = 1 Тогда
+ Возврат Кандидаты[0].Контрагент;
+ КонецЕсли;
+ КонецЕсли;
+
+ Если ЗначениеЗаполнено(Реквизиты.Бюджет) Тогда
+ Кандидаты = ОтобратьПоРеквизиту(Кандидаты, "Бюджет", Реквизиты.Бюджет);
+ Если Кандидаты.Количество() = 1 Тогда
+ Возврат Кандидаты[0].Контрагент;
+ КонецЕсли;
+ КонецЕсли;
+
+ Возврат Справочники.Контрагенты.ПустаяСсылка();
+
+КонецФункции
+
+// Оставляет кандидатов с указанным значением реквизита.
+//
+// Параметры:
+// Кандидаты - Массив из Структура - кандидаты.
+// ИмяРеквизита - Строка - имя реквизита структуры-кандидата.
+// Значение - Произвольный - требуемое значение реквизита.
+//
+// Возвращаемое значение:
+// Массив из Структура - отобранные кандидаты.
+//
+Функция ОтобратьПоРеквизиту(Кандидаты, ИмяРеквизита, Значение)
+
+ Отобрано = Новый Массив;
+ Для Каждого Кандидат Из Кандидаты Цикл
+ Если Кандидат[ИмяРеквизита] = Значение Тогда
+ Отобрано.Добавить(Кандидат);
+ КонецЕсли;
+ КонецЦикла;
+
+ Возврат Отобрано;
+
+КонецФункции
+
// Формирует структуру параметров одного извещения для вывода.
//
// Параметры:
@@ -172,7 +571,7 @@
КонецФункции
-// Выводит в табличный документ одно извещение по переданным проводкам.
+// Выводит в табличный документ одно извещение по переданным данным.
//
// Параметры:
// ТабличныйДокумент - ТабличныйДокумент - печатная форма, в которую выводится извещение.
@@ -180,7 +579,7 @@
// ДокументСсылка - ДокументСсылка - печатаемый документ.
// ДокументОбъект - ДокументОбъект - печатаемый документ.
// ПараметрыИзвещения - Структура - параметры извещения, см. НоваяСтруктураИзвещения.
-// Проводки - ТаблицаЗначений - проводки извещения, см. ПроводкиИзвещения.
+// Проводки - ТаблицаЗначений - данные извещения, см. ДанныеИзвещенияПоРеестру.
//
Процедура ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, Проводки)
@@ -402,47 +801,105 @@
КонецФункции
-// Возвращает проводки документа по данным регистра бухгалтерии.
+// Возвращает идентификатор строки поступления для регистра взаиморасчётов.
+//
+// Идентификатор связывает строку табличной части "Задолженность" наших документов
+// со строкой расшифровки платежа кассового поступления: ":<номер строки>".
+// Длина не должна превышать 50 символов (измерение регистра и реквизит табличных частей).
//
// Параметры:
-// ДокументСсылка - ДокументСсылка - печатаемый документ.
+// ДокументСсылка - ДокументСсылка.КассовоеПоступление - документ поступления.
+// НомерСтроки - Число - номер строки табличной части "Расшифровка платежа".
//
// Возвращаемое значение:
-// ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма, Содержание,
-// СубконтоКт1, СубконтоКт2, СубконтоКт3.
+// Строка
//
-Функция ПроводкиИзвещения(ДокументСсылка)
+Функция ИдентификаторСтрокиПоступления(ДокументСсылка, НомерСтроки) Экспорт
- Запрос = Новый Запрос;
- Запрос.Текст =
- "ВЫБРАТЬ
- | Проводки.СчетДт КАК СчетДт,
- | Проводки.КПСДт КАК КПСДт,
- | Проводки.КЭКДт КАК КЭКДт,
- | Проводки.СчетКт КАК СчетКт,
- | Проводки.КПСКт КАК КПСКт,
- | Проводки.КЭККт КАК КЭККт,
- | Проводки.КФО КАК КФО,
- | Проводки.Сумма КАК Сумма,
- | Проводки.Содержание КАК Содержание,
- | Проводки.СубконтоКт1 КАК СубконтоКт1,
- | Проводки.СубконтоКт2 КАК СубконтоКт2,
- | Проводки.СубконтоКт3 КАК СубконтоКт3
- |ИЗ
- | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто(, , Регистратор = &ДокументСсылка) КАК Проводки
- |
- |УПОРЯДОЧИТЬ ПО
- | Проводки.НомерСтроки";
- Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка);
+ Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда
+ Возврат "";
+ КонецЕсли;
- Возврат Запрос.Выполнить().Выгрузить();
+ Возврат Строка(ДокументСсылка.УникальныйИдентификатор()) + ":" + Формат(НомерСтроки, "ЧГ=0");
+
+КонецФункции
+
+// Возвращает данные извещения по строкам табличной части "Задолженность".
+//
+// Извещение не имеет собственных проводок: строки отражают операцию зачисления в доход
+// бюджета (Дт 303.05, КЭК 831 - Кт 205.31, КЭК 660), которую выполняет документ подсистемы.
+// КПС берётся из строки реестра, КФО - из шапки документа.
+//
+// Параметры:
+// ДокументОбъект - ДокументОбъект - печатаемый документ.
+//
+// Возвращаемое значение:
+// ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма, Содержание.
+//
+Функция ДанныеИзвещенияПоРеестру(ДокументОбъект)
+
+ Данные = Новый ТаблицаЗначений;
+ Данные.Колонки.Добавить("СчетДт");
+ Данные.Колонки.Добавить("КПСДт");
+ Данные.Колонки.Добавить("КЭКДт");
+ Данные.Колонки.Добавить("СчетКт");
+ Данные.Колонки.Добавить("КПСКт");
+ Данные.Колонки.Добавить("КЭККт");
+ Данные.Колонки.Добавить("КФО");
+ Данные.Колонки.Добавить("Сумма");
+ Данные.Колонки.Добавить("Содержание");
+
+ СчетДт = ПланыСчетов.ЕПСБУ.НайтиПоКоду("303.05");
+ СчетКт = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31");
+ КЭКДт = Справочники.КОСГУ.НайтиПоКоду("831");
+ КЭККт = Справочники.КОСГУ.НайтиПоКоду("660");
+
+ Для Каждого СтрокаРеестра Из ДокументОбъект.Задолженность Цикл
+ СтрокаДанных = Данные.Добавить();
+ СтрокаДанных.СчетДт = СчетДт;
+ СтрокаДанных.КПСДт = СтрокаРеестра.КПС;
+ СтрокаДанных.КЭКДт = КЭКДт;
+ СтрокаДанных.СчетКт = СчетКт;
+ СтрокаДанных.КПСКт = СтрокаРеестра.КПС;
+ СтрокаДанных.КЭККт = КЭККт;
+ СтрокаДанных.КФО = ДокументОбъект.КФО;
+ СтрокаДанных.Сумма = СтрокаРеестра.Сумма;
+ СтрокаДанных.Содержание = СодержаниеСтрокиИзвещения(СтрокаРеестра);
+ КонецЦикла;
+
+ Возврат Данные;
+
+КонецФункции
+
+// Формирует текст содержания строки извещения.
+//
+// Параметры:
+// СтрокаРеестра - СтрокаТаблицыЗначений - строка табличной части "Задолженность".
+//
+// Возвращаемое значение:
+// Строка
+//
+Функция СодержаниеСтрокиИзвещения(СтрокаРеестра)
+
+ ЧастиСодержания = Новый Массив;
+ Если ЗначениеЗаполнено(СтрокаРеестра.Ребенок) Тогда
+ ЧастиСодержания.Добавить("Ребенок: " + Строка(СтрокаРеестра.Ребенок));
+ КонецЕсли;
+ Если ЗначениеЗаполнено(СтрокаРеестра.Договор) Тогда
+ ЧастиСодержания.Добавить("Договор: " + Строка(СтрокаРеестра.Договор));
+ КонецЕсли;
+ Если ЗначениеЗаполнено(СтрокаРеестра.ПериодОплаты) Тогда
+ ЧастиСодержания.Добавить("Период: " + СтрокаРеестра.ПериодОплаты);
+ КонецЕсли;
+
+ Возврат СтрСоединить(ЧастиСодержания, "; ");
КонецФункции
// Сворачивает проводки по счетам для раздела "Обороты в журнал операций".
//
// Параметры:
-// Проводки - ТаблицаЗначений - проводки документа, см. ПроводкиИзвещения.
+// Проводки - ТаблицаЗначений - данные извещения, см. ДанныеИзвещенияПоРеестру.
//
// Возвращаемое значение:
// ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма.
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo
index 20c4ff4..7be3209 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo
@@ -75,10 +75,13 @@
Catalog.ИсточникиФинансовогоОбеспечения
Catalog.Пользователи
Catalog.КОСГУ
+ Catalog.ВидыНалоговИПлатежей
Document.НачислениеРодительскойПлаты
Document.ПС_ПринятиеПоступившихПлатежейИзЦБ
Document.ПС_ПередачаПоступившихПлатежейВУчреждения
Document.КассовоеПоступление
+ Document.ИзвещениеИсходящее
+ Document.ИзвещениеВходящее
Enum.КВД
Enum.ПС_ВидыОперацийПоВзаиморасчетам
Report.ПС_ВедомостьЦБПоРодительскойПлате
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ИзвещениеВходящее/ИзвещениеВходящее.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ИзвещениеВходящее/ИзвещениеВходящее.mdo
new file mode 100644
index 0000000..171e42b
--- /dev/null
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ИзвещениеВходящее/ИзвещениеВходящее.mdo
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+ ИзвещениеВходящее
+ Adopted
+
+ Checked
+
+ true
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ИзвещениеИсходящее/ИзвещениеИсходящее.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ИзвещениеИсходящее/ИзвещениеИсходящее.mdo
new file mode 100644
index 0000000..d61f4f1
--- /dev/null
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ИзвещениеИсходящее/ИзвещениеИсходящее.mdo
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+ ИзвещениеИсходящее
+ Adopted
+
+ Checked
+
+ true
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl
index 9f89306..e6b6c1e 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl
@@ -16,6 +16,16 @@
ПС_РазборПлатежейПоРодительскойПлате.ЗаполнитьКонтрагентовПоНазначениюПлатежа(ЭтотОбъект);
+ // Признак "Родительская плата" сбрасывается, если в корреспондирующем счёте указан 303.00.
+ // Без признака приход по регистру взаиморасчётов не формируется, поэтому предупреждаем
+ // по факту распознанного и найденного лицевого счёта ребёнка.
+ Если НЕ РодительскаяПлата
+ И ПС_РазборПлатежейПоРодительскойПлате.ЕстьЛицевыеСчетаДетей(ЭтотОбъект) Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "В расшифровке платежа распознан лицевой счёт ребёнка, но признак ""Родительская плата"""
+ + " не установлен: приход по взаиморасчётам по родительской плате не будет сформирован.");
+ КонецЕсли;
+
КонецПроцедуры
&После("ОбработкаПроведения")
@@ -68,6 +78,8 @@
Движение.ИФО = ИФО;
Движение.КФО = СтрокаРасшифровки.КФО;
Движение.КПС = СтрокаРасшифровки.КБКНазначениеПлатежа;
+ Движение.ИДСтроки = ПС_УчетРодительскойПлаты.ИдентификаторСтрокиПоступления(
+ Ссылка, СтрокаРасшифровки.НомерСтроки);
Движение.Сумма = СтрокаРасшифровки.Сумма;
Движение.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПоступлениеПлатежа;
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form
index 3fbe579..47df018 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form
@@ -685,6 +685,276 @@
Normal
+
+ ЗадолженностьЛицевойСчет
+ 113
+
+ ru
+ Лицевой счет
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.ЛицевойСчет
+
+
+ ЗадолженностьЗадолженностьЛицевойСчетРасширеннаяПодсказка
+ 115
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьЛицевойСчетКонтекстноеМеню
+ 114
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьНазначениеПлатежа
+ 116
+
+ ru
+ Назначение платежа
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.НазначениеПлатежа
+
+
+ ЗадолженностьЗадолженностьНазначениеПлатежаРасширеннаяПодсказка
+ 118
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьНазначениеПлатежаКонтекстноеМеню
+ 117
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьРасчетныйСчет
+ 119
+
+ ru
+ Расчетный счет
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.РасчетныйСчет
+
+
+ ЗадолженностьЗадолженностьРасчетныйСчетРасширеннаяПодсказка
+ 121
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьРасчетныйСчетКонтекстноеМеню
+ 120
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьГруппа
+ 122
+
+ ru
+ Группа
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.Группа
+
+
+ ЗадолженностьЗадолженностьГруппаРасширеннаяПодсказка
+ 124
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьГруппаКонтекстноеМеню
+ 123
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьПериодОплаты
+ 125
+
+ ru
+ Период оплаты
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.ПериодОплаты
+
+
+ ЗадолженностьЗадолженностьПериодОплатыРасширеннаяПодсказка
+ 127
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьПериодОплатыКонтекстноеМеню
+ 126
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьДатаПлатежа
+ 128
+
+ ru
+ Дата приема платежа
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.ДатаПлатежа
+
+
+ ЗадолженностьЗадолженностьДатаПлатежаРасширеннаяПодсказка
+ 130
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьДатаПлатежаКонтекстноеМеню
+ 129
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
ЗадолженностьКоманднаяПанель
30
@@ -835,6 +1105,50 @@
ГруппаСтраницыОбщихДанных
88
+
+ ПринятиеПлатежей
+ 138
+
+ ru
+ Принятие платежей
+
+ true
+ true
+
+ true
+
+
+ Объект.ПринятиеПлатежей
+
+
+ ПринятиеПлатежейРасширеннаяПодсказка
+ 140
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ПринятиеПлатежейКонтекстноеМеню
+ 139
+ true
+
+ LabelField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+
+ 1
+
+
+
ИФО
10
@@ -922,6 +1236,46 @@
Normal
+
+ ИзвещениеИсходящее
+ 135
+ true
+ true
+
+ true
+
+
+ Объект.ИзвещениеИсходящее
+
+
+ ИзвещениеИсходящееРасширеннаяПодсказка
+ 137
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ИзвещениеИсходящееКонтекстноеМеню
+ 136
+ true
+
+ LabelField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+
+ 1
+
+
+
Комментарий
81
@@ -1291,6 +1645,58 @@
UserCmds
Auto
+
+ ПечатьРеестраПлатежей
+ 131
+ true
+ true
+
+ true
+
+
+ ФормаПечатьРеестраПлатежейРасширеннаяПодсказка
+ 132
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.ПечатьРеестраПлатежей
+ Normal
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
+
+ СоздатьИзвещение
+ 133
+ true
+ true
+
+ true
+
+
+ ФормаСоздатьИзвещениеРасширеннаяПодсказка
+ 134
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.СоздатьИзвещение
+ Normal
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
Left
true
@@ -1396,6 +1802,38 @@
+
+ ПечатьРеестраПлатежей
+
+ ru
+ Реестр платежей
+
+ 5
+
+
+
+ ПечатьРеестраПлатежей
+
+
+
+
+ СоздатьИзвещение
+
+ ru
+ Создать извещение 0504805
+
+ 6
+
+
+
+ СоздатьИзвещение
+
+
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl
index 39ca6ce..50fd18b 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl
@@ -104,6 +104,25 @@
КонецПроцедуры
+&НаКлиенте
+Процедура ПечатьРеестраПлатежей(Команда)
+
+ ТабличныйДокумент = ПечатьРеестраПлатежейНаСервере(Объект.Ссылка);
+ ТабличныйДокумент.Показать("Реестр платежей");
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура СоздатьИзвещение(Команда)
+
+ Извещение = СоздатьИзвещениеНаСервере();
+ Если ЗначениеЗаполнено(Извещение) Тогда
+ ПараметрыФормы = Новый Структура("Ключ", Извещение);
+ ОткрытьФорму("Документ.ИзвещениеИсходящее.Форма.ФормаДокумента", ПараметрыФормы, ЭтотОбъект);
+ КонецЕсли;
+
+КонецПроцедуры
+
&НаКлиенте
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
@@ -121,38 +140,15 @@
&НаКлиенте
Процедура СоздатьПринятиеПлатежей(Команда)
- Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
- СообщениеПользователю = Новый СообщениеПользователю;
- СообщениеПользователю.Текст = "Сначала запишите документ передачи платежей.";
- СообщениеПользователю.Сообщить();
- Возврат;
+ Принятие = СоздатьПринятиеПлатежейНаСервере();
+ Если ЗначениеЗаполнено(Принятие) Тогда
+ ПараметрыФормы = Новый Структура("Ключ", Принятие);
+ ОткрытьФорму("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ.Форма.ФормаДокумента",
+ ПараметрыФормы,
+ ЭтотОбъект,
+ Строка(Принятие));
КонецЕсли;
- Если НЕ Объект.Проведен Тогда
- СообщениеПользователю = Новый СообщениеПользователю;
- СообщениеПользователю.Текст = "Перед созданием приёма платежей документ передачи должен быть проведён.";
- СообщениеПользователю.Сообщить();
- Возврат;
- КонецЕсли;
-
- // Документ передачи адресный: открывается форма одного документа принятия по учреждению
- // документа. Строки подбираются по саду, документ записывает пользователь.
- Если НЕ ЗначениеЗаполнено(Объект.Учреждение) Тогда
- СообщениеПользователю = Новый СообщениеПользователю;
- СообщениеПользователю.Текст = "Не заполнено учреждение (получатель) документа передачи.";
- СообщениеПользователю.Сообщить();
- Возврат;
- КонецЕсли;
-
- ПараметрыФормы = Новый Структура;
- ПараметрыФормы.Вставить("ДокументПередачи", Объект.Ссылка);
- ПараметрыФормы.Вставить("ОрганизацияСада", Объект.Учреждение);
-
- ОткрытьФорму("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ.Форма.ФормаДокумента",
- ПараметрыФормы,
- ЭтотОбъект,
- Строка(Объект.Ссылка));
-
КонецПроцедуры
&НаКлиенте
@@ -173,6 +169,72 @@
КонецФункции
+&НаСервере
+Функция ПечатьРеестраПлатежейНаСервере(ДокументСсылка)
+
+ Возврат ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка);
+
+КонецФункции
+
+&НаСервере
+Функция СоздатьПринятиеПлатежейНаСервере()
+
+ Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
+ ОбщегоНазначения.СообщитьПользователю("Сначала запишите документ передачи платежей.");
+ Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПустаяСсылка();
+ КонецЕсли;
+
+ Если НЕ Объект.Проведен Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Перед созданием приёма платежей документ передачи должен быть проведён.");
+ Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПустаяСсылка();
+ КонецЕсли;
+
+ Если НЕ ЗначениеЗаполнено(Объект.Учреждение) Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Не заполнено учреждение (получатель) документа передачи.");
+ Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПустаяСсылка();
+ КонецЕсли;
+
+ // Документ передачи адресный: приём платежей по нему один. Если он уже создан,
+ // открывается существующий - повторное нажатие не плодит документы.
+ Если ЗначениеЗаполнено(Объект.ПринятиеПлатежей) Тогда
+ Существующий = Объект.ПринятиеПлатежей.ПолучитьОбъект();
+ Если Существующий <> Неопределено И НЕ Существующий.ПометкаУдаления Тогда
+ Возврат Объект.ПринятиеПлатежей;
+ КонецЕсли;
+ КонецЕсли;
+
+ Принятие = Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.СоздатьДокумент();
+ Принятие.Организация = Объект.Учреждение;
+ Принятие.Заполнить(Объект.Ссылка);
+ Принятие.Записать(РежимЗаписиДокумента.Запись);
+
+ Объект.ПринятиеПлатежей = Принятие.Ссылка;
+ Записать();
+
+ Возврат Принятие.Ссылка;
+
+КонецФункции
+
+&НаСервере
+Функция СоздатьИзвещениеНаСервере()
+
+ Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
+ ОбщегоНазначения.СообщитьПользователю("Сначала запишите документ передачи платежей.");
+ Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка();
+ КонецЕсли;
+
+ Извещение = ПС_УчетРодительскойПлаты.СоздатьИзвещениеПоПередаче(Объект.Ссылка);
+ Если ЗначениеЗаполнено(Извещение) Тогда
+ Объект.ИзвещениеИсходящее = Извещение;
+ Записать();
+ КонецЕсли;
+
+ Возврат Извещение;
+
+КонецФункции
+
&НаСервере
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
@@ -187,8 +249,10 @@
КонецПроцедуры
// Подбирает в табличную часть "Задолженность" поступившие платежи, ещё не переданные
-// в учреждения: остатки регистра накопления ПС_ВзаиморасчетыПоРодительскойПлате.
-// Предыдущая передача выбирает остатки, поэтому следующая их уже не видит.
+// в учреждения: остатки регистра накопления ПС_ВзаиморасчетыПоРодительскойПлате в разрезе
+// квитанций (измерение "ИДСтроки"). Предыдущая передача выбирает остатки, поэтому следующая
+// их уже не видит. Реквизиты реестра (лицевой счёт, расчётный счёт, группа, период оплаты,
+// назначение платежа) разбираются из назначения платежа строки расшифровки кассового поступления.
//
&НаСервере
Процедура ЗаполнитьПоПоступившимПлатежамНаСервере()
@@ -208,6 +272,7 @@
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
+ | Остатки.ИДСтроки КАК ИДСтроки,
| Остатки.Плательщик КАК Контрагент,
| Остатки.Договор КАК Договор,
| Остатки.Ребенок КАК Ребенок,
@@ -240,29 +305,87 @@
ЗначенияИФО = Новый Соответствие;
ЗначенияКФО = Новый Соответствие;
+ СтрокиОстатков = Новый Массив;
Пока Выборка.Следующий() Цикл
+ СтрокаОстатка = Новый Структура;
+ СтрокаОстатка.Вставить("ИДСтроки", Выборка.ИДСтроки);
+ СтрокаОстатка.Вставить("Контрагент", Выборка.Контрагент);
+ СтрокаОстатка.Вставить("Договор", Выборка.Договор);
+ СтрокаОстатка.Вставить("Ребенок", Выборка.Ребенок);
+ СтрокаОстатка.Вставить("КПС", Выборка.КПС);
+ СтрокаОстатка.Вставить("Сумма", Выборка.Сумма);
+ СтрокиОстатков.Добавить(СтрокаОстатка);
+
ЗначенияИФО.Вставить(Выборка.ИФО, Истина);
ЗначенияКФО.Вставить(Выборка.КФО, Истина);
- НоваяСтрока = Объект.Задолженность.Добавить();
- НоваяСтрока.Контрагент = Выборка.Контрагент;
- НоваяСтрока.Договор = Выборка.Договор;
- НоваяСтрока.Ребенок = Выборка.Ребенок;
- НоваяСтрока.КПС = Выборка.КПС;
- НоваяСтрока.Сумма = Выборка.Сумма;
-
КонецЦикла;
- Если Объект.Задолженность.Количество() = 0 Тогда
+ Если СтрокиОстатков.Количество() = 0 Тогда
ОбщегоНазначения.СообщитьПользователю(
"Поступивших платежей, ещё не переданных в учреждения, не найдено.");
Возврат;
КонецЕсли;
+ // Расшифровки платежей читаются одним запросом на весь документ.
+ Расшифровки = РасшифровкиПлатежейПоИД(СтрокиОстатков);
+
+ СтрокБезИдентификатора = 0;
+ СтрокБезРасшифровки = 0;
+
+ Для Каждого СтрокаОстатка Из СтрокиОстатков Цикл
+
+ НоваяСтрока = Объект.Задолженность.Добавить();
+ НоваяСтрока.Контрагент = СтрокаОстатка.Контрагент;
+ НоваяСтрока.Договор = СтрокаОстатка.Договор;
+ НоваяСтрока.Ребенок = СтрокаОстатка.Ребенок;
+ НоваяСтрока.КПС = СтрокаОстатка.КПС;
+ НоваяСтрока.Сумма = СтрокаОстатка.Сумма;
+ НоваяСтрока.ИДСтроки = СтрокаОстатка.ИДСтроки;
+
+ ДанныеРасшифровки = Расшифровки[СтрокаОстатка.ИДСтроки];
+ Если ДанныеРасшифровки = Неопределено Тогда
+ // Идентификатор строки пишется в регистр при проведении кассового поступления:
+ // у документов, проведённых до появления измерения, он пуст.
+ Если СтрДлина(СокрЛП(СтрокаОстатка.ИДСтроки)) < 38 Тогда
+ СтрокБезИдентификатора = СтрокБезИдентификатора + 1;
+ Иначе
+ СтрокБезРасшифровки = СтрокБезРасшифровки + 1;
+ КонецЕсли;
+ Продолжить;
+ КонецЕсли;
+
+ ТекстНазначения = СокрЛП(ДанныеРасшифровки.Примечание);
+ ДанныеПлатежа = ПС_РазборПлатежейПоРодительскойПлате.РазобратьНазначениеПлатежа(ТекстНазначения);
+
+ НоваяСтрока.НазначениеПлатежа = Лев(ТекстНазначения, 200);
+ НоваяСтрока.ЛицевойСчет = ДанныеПлатежа.ЛицевойСчет;
+ НоваяСтрока.РасчетныйСчет = ДанныеПлатежа.РасчетныйСчет;
+ НоваяСтрока.Группа = ДанныеПлатежа.Группа;
+ НоваяСтрока.ПериодОплаты = ДанныеПлатежа.ПериодОплаты;
+ НоваяСтрока.ДатаПлатежа = ДанныеРасшифровки.Дата;
+
+ КонецЦикла;
+
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
+ Если СтрокБезИдентификатора > 0 Тогда
+ ОбщегоНазначения.СообщитьПользователю(СтрШаблон(
+ "По %1 строкам в регистре нет идентификатора квитанции: кассовое поступление не перепроведено."
+ + " Лицевой счёт, назначение платежа, расчётный счёт, группа, период оплаты и дата платежа"
+ + " не заполнены. Перепроведите кассовые поступления и заполните документ заново.",
+ СтрокБезИдентификатора));
+ КонецЕсли;
+
+ Если СтрокБезРасшифровки > 0 Тогда
+ ОбщегоНазначения.СообщитьПользователю(СтрШаблон(
+ "По %1 строкам идентификатор квитанции есть, но строка расшифровки платежа не найдена:"
+ + " кассовое поступление изменялось после проведения. Перепроведите кассовые поступления"
+ + " и заполните документ заново.", СтрокБезРасшифровки));
+ КонецЕсли;
+
// Разрезов ИФО и КФО в табличной части нет - они задаются на весь документ,
// поэтому переносим их в шапку, если в остатках они единственные.
ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО);
@@ -275,6 +398,70 @@
КонецПроцедуры
+// Возвращает расшифровки платежей по идентификаторам строк поступлений.
+//
+// Параметры:
+// СтрокиОстатков - Массив из Структура - строки остатков регистра взаиморасчётов
+// с полем "ИДСтроки" вида ":<номер строки>".
+//
+// Возвращаемое значение:
+// Соответствие из Строка, Структура - расшифровки по идентификатору строки:
+// * Примечание - Строка - текст назначения платежа;
+// * Дата - Дата - дата кассового поступления.
+//
+&НаСервере
+Функция РасшифровкиПлатежейПоИД(СтрокиОстатков)
+
+ Результат = Новый Соответствие;
+ Идентификаторы = Новый Соответствие;
+ ДокументыПоступления = Новый Массив;
+
+ Для Каждого СтрокаОстатка Из СтрокиОстатков Цикл
+
+ Идентификатор = СокрЛП(СтрокаОстатка.ИДСтроки);
+ Если СтрДлина(Идентификатор) < 38 Тогда
+ Продолжить;
+ КонецЕсли;
+
+ ИдентификаторДокумента = Лев(Идентификатор, 36);
+ Если Идентификаторы[ИдентификаторДокумента] <> Неопределено Тогда
+ Продолжить;
+ КонецЕсли;
+ Идентификаторы.Вставить(ИдентификаторДокумента, Истина);
+
+ ДокументыПоступления.Добавить(Документы.КассовоеПоступление.ПолучитьСсылку(
+ Новый УникальныйИдентификатор(ИдентификаторДокумента)));
+
+ КонецЦикла;
+
+ Если ДокументыПоступления.Количество() = 0 Тогда
+ Возврат Результат;
+ КонецЕсли;
+
+ Запрос = Новый Запрос;
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | Расшифровка.Ссылка КАК Ссылка,
+ | Расшифровка.НомерСтроки КАК НомерСтроки,
+ | Расшифровка.Примечание КАК Примечание,
+ | Расшифровка.Ссылка.Дата КАК Дата
+ |ИЗ
+ | Документ.КассовоеПоступление.РасшифровкаПлатежа КАК Расшифровка
+ |ГДЕ
+ | Расшифровка.Ссылка В (&ДокументыПоступления)";
+ Запрос.УстановитьПараметр("ДокументыПоступления", ДокументыПоступления);
+
+ Выборка = Запрос.Выполнить().Выбрать();
+ Пока Выборка.Следующий() Цикл
+ Результат.Вставить(
+ ПС_УчетРодительскойПлаты.ИдентификаторСтрокиПоступления(Выборка.Ссылка, Выборка.НомерСтроки),
+ Новый Структура("Примечание, Дата", Выборка.Примечание, Выборка.Дата));
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции
+
&НаСервере
Процедура ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО)
@@ -302,7 +489,7 @@
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
ПараметрыФормы,
ЭтотОбъект,
- УникальныйИдентификатор);
+ "Проводки" + Строка(ДокументСсылка));
КонецПроцедуры
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl
index c715820..7fe5880 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl
@@ -34,6 +34,12 @@
КомандаПечати.Представление = "Извещение (ф. 0504805)";
КомандаПечати.Порядок = 1;
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.МенеджерПечати = "Документ.ПС_ПередачаПоступившихПлатежейВУчреждения";
+ КомандаПечати.Идентификатор = "РеестрПлатежей";
+ КомандаПечати.Представление = "Реестр платежей";
+ КомандаПечати.Порядок = 2;
+
КонецПроцедуры
// Формирует печатные формы документа для подсистемы БСП "Печать".
@@ -47,17 +53,25 @@
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
- Если НЕ УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Извещение0504805") Тогда
- Возврат;
+ Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Извещение0504805") Тогда
+ Для Каждого ДокументСсылка Из МассивОбъектов Цикл
+ УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
+ КоллекцияПечатныхФорм,
+ "Извещение0504805",
+ "Извещение (ф. 0504805)",
+ ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка));
+ КонецЦикла;
КонецЕсли;
- Для Каждого ДокументСсылка Из МассивОбъектов Цикл
- УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
- КоллекцияПечатныхФорм,
- "Извещение0504805",
- "Извещение (ф. 0504805)",
- ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка));
- КонецЦикла;
+ Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрПлатежей") Тогда
+ Для Каждого ДокументСсылка Из МассивОбъектов Цикл
+ УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
+ КоллекцияПечатныхФорм,
+ "РеестрПлатежей",
+ "Реестр платежей",
+ ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка));
+ КонецЦикла;
+ КонецЕсли;
КонецПроцедуры
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl
index d6e5f22..6974651 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl
@@ -1,7 +1,7 @@
// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль объекта.
-// Сторона ЦБ: Дт 205.31.56X — Кт 304.04.130.
-// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением
-// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ.
+// Сторона ЦБ — администратор кассовых поступлений. Бухгалтерских проводок документ не формирует:
+// учёт ведётся в регистре накопления ПС_ВзаиморасчетыПоРодительскойПлате, а информация
+// передаётся учреждению реестром платежей и извещением (ф. 0504805).
// Документ собирает поступившие платежи (приход в регистре накопления
// ПС_ВзаиморасчетыПоРодительскойПлате, сделанный кассовыми поступлениями)
// и передаёт их учреждениям — расход по тому же регистру. Пока передано не всё,
@@ -13,50 +13,11 @@
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
- Движения.ЖурналПроводокЕПСБУ.Очистить();
- Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
- Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок");
-
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить();
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
- СчетДт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация);
-
- // Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК задаются
- // реквизитами документа (по умолчанию 304.04 и 131) и могут быть изменены пользователем.
- СчетКт = СчетКорреспондент;
- Если НЕ ЗначениеЗаполнено(СчетКт) Тогда
- ОбщегоНазначения.СообщитьПользователю(
- "Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.",
- , "СчетКорреспондент", "Объект", Отказ);
- Возврат;
- КонецЕсли;
-
- ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
-
- // КПС строк заполняется при подборе поступивших платежей (см. модуль формы),
- // КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ).
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
- Движение = Движения.ЖурналПроводокЕПСБУ.Добавить();
- Движение.Период = Дата;
- Движение.Организация = Организация;
- Движение.ИФО = ИФО;
- Движение.КФО = КФО;
- Движение.СчетДт = СчетДт;
- Движение.СчетКт = СчетКт;
- Движение.КПСДт = СтрокаЗадолженности.КПС;
- Движение.КПСКт = СтрокаЗадолженности.КПС;
- Движение.КЭКДт = КЭКПроводки(СчетДт, "Дт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор);
- Движение.КЭККт = КЭККорреспондент;
- Движение.Сумма = СтрокаЗадолженности.Сумма;
- Движение.ЖурналОпераций = ЖурналОпераций;
- Движение.Содержание = "Передача поступивших платежей по родительской плате в учреждение";
-
- Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент;
- Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор;
- Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = Учреждение;
-
// Взаиморасчёты: переданные в учреждение поступившие платежи списываются расходом.
ДвижениеПС = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьРасход();
ДвижениеПС.Период = Дата;
@@ -74,18 +35,10 @@
КонецЦикла;
- // В конфигурации есть подписка на событие "ОбработкаПроведения" (ЗаписатьТаблицуПроводок),
- // которая выполняется после модуля объекта и перезаписывает проводки документа: если таблица
- // проводок не передана, набор записей регистра очищается. Поэтому передаём сформированную
- // таблицу через ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок.
- БухгалтерскиеОперацииСервер.ИнициализироватьБухгалтерскиеОперации(ЭтотОбъект);
- ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок = Движения.ЖурналПроводокЕПСБУ.Выгрузить();
-
КонецПроцедуры
Процедура ОбработкаУдаленияПроведения(Отказ)
- Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
КонецПроцедуры
@@ -170,34 +123,6 @@
КонецПроцедуры
-// Возвращает КЭК проводки, определённый по настройкам счёта
-// и типу контрагента (подстатья КОСГУ).
-//
-// Параметры:
-// Счет - ПланСчетовСсылка.ЕПСБУ - счёт проводки.
-// ДтКт - Строка - сторона проводки: "Дт" или "Кт".
-// Субконто1 - Произвольный - значение первого субконто проводки.
-// Субконто2 - Произвольный - значение второго субконто проводки.
-//
-// Возвращаемое значение:
-// СправочникСсылка.КОСГУ - КЭК проводки.
-//
-Функция КЭКПроводки(Счет, ДтКт, Субконто1 = Неопределено, Субконто2 = Неопределено)
-
- ПараметрыКЭК = БухгалтерскийУчетКлиентСервер.ПараметрыРасчетаКЭКПроводки();
- ПараметрыКЭК.Организация = Организация;
- ПараметрыКЭК.ИФО = ИФО;
- ПараметрыКЭК.КФО = КФО;
- ПараметрыКЭК.Дата = Дата;
- ПараметрыКЭК.Счет = Счет;
- ПараметрыКЭК.ДтКт = ДтКт;
- ПараметрыКЭК.Субконто1 = Субконто1;
- ПараметрыКЭК.Субконто2 = Субконто2;
-
- Возврат БухгалтерскийУчет.КЭКПроводки(ПараметрыКЭК);
-
-КонецФункции
-
#КонецОбласти
#КонецЕсли
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx
new file mode 100644
index 0000000..a03772f
--- /dev/null
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/РеестрПлатежей/Template.mxlx
@@ -0,0 +1,574 @@
+
+
+
+ ru
+ ru
+
+ ru
+ Русский
+ Русский
+
+
+
+ 10
+
+ 0
+
+ 1
+
+
+
+ 1
+
+ 2
+
+
+
+ 2
+
+ 3
+
+
+
+ 3
+
+ 4
+
+
+
+ 4
+
+ 5
+
+
+
+ 5
+
+ 6
+
+
+
+ 6
+
+ 7
+
+
+
+ 7
+
+ 4
+
+
+
+ 8
+
+ 8
+
+
+
+ 9
+
+ 9
+
+
+
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+ 10
+
+ 0
+
+ 10
+
+
+
+ 1
+
+ 11
+
+
+
+ 2
+
+ 12
+
+
+
+ 3
+
+ 4
+
+
+
+ 4
+
+ 5
+
+
+
+ 5
+
+ 13
+
+
+
+ 6
+
+ 7
+
+
+
+ 7
+
+ 14
+
+
+
+ 8
+
+ 8
+
+
+
+ 9
+
+ 9
+
+
+
+
+ 0
+
+
+
+ 15
+ ЗаголовокРеестра
+
+
+
+
+
+ 1
+
+
+
+ 15
+ РеквизитыДокумента
+
+
+
+
+
+ 2
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+ 16
+
+
+ ru
+ ФИО плательщика
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Сумма
+
+
+
+
+
+
+ 17
+
+
+ ru
+ Лицевой счет ребенка
+
+
+
+
+
+
+ 16
+
+
+ ru
+ ФИО ребенка
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Назначение платежа
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Организация
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Рассчетный счет
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Группа
+
+
+
+
+
+
+ 17
+
+
+ ru
+ Период оплаты
+
+
+
+
+
+
+ 17
+
+
+ ru
+ Дата приема платежа
+
+
+
+
+
+
+
+ 3
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+
+ 4
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+ 15
+ Плательщик
+
+
+
+
+ 19
+ Сумма
+
+
+
+
+ 15
+ ЛицевойСчет
+
+
+
+
+ 15
+ Ребенок
+
+
+
+
+ 15
+ НазначениеПлатежа
+
+
+
+
+ 15
+ Организация
+
+
+
+
+ 15
+ РассчетныйСчет
+
+
+
+
+ 15
+ Группа
+
+
+
+
+ 15
+ Период
+
+
+
+
+ 15
+ ДатаПлатежа
+
+
+
+
+
+ 5
+
+ true
+
+
+
+ 6
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+ 20
+
+
+ ru
+ ИТОГО:
+
+
+
+
+
+
+ 21
+ ОбщаяСумма
+
+
+
+
+ true
+ 22
+ 7
+ 7
+
+ Заголовок
+
+ Rows
+ 0
+ 1
+ -1
+ -1
+
+
+
+ ОбластьПодвалТаблицы
+
+ Rows
+ 6
+ 6
+ -1
+ -1
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+
+ ОбластьСтрокаТаблицы
+
+ Rows
+ 4
+ 4
+ -1
+ -1
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+
+ ОбластьШапкаТаблицы
+
+ Rows
+ 2
+ 2
+ -1
+ -1
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+
+ Solid
+
+
+
+
+
+ 198
+
+
+ 81
+
+
+ 111
+
+
+ 186
+
+
+ 190
+
+
+ 152
+
+
+ 137
+
+
+ 106
+
+
+ 103
+
+
+ 213
+
+
+ 74
+
+
+ 99
+
+
+ 171
+
+
+ 167
+
+
+ 0
+ 0
+ Center
+ Wrap
+ Parameter
+
+
+ 1
+ 0
+ Center
+
+
+ 1
+ 0
+ Center
+ Wrap
+
+
+ 2
+
+
+ 0
+ 0
+ Center
+ Wrap
+ Parameter
+
+
+ ru
+ ЧДЦ=2
+
+
+
+
+ 1
+
+
+ 1
+ 0
+ Center
+ Parameter
+
+
+ ru
+ ЧДЦ=2
+
+
+
+
+ 72
+
+
\ No newline at end of file
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo
index 850ce83..3748a9e 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo
@@ -30,7 +30,6 @@
true
true
Document.ПС_ПередачаПоступившихПлатежейВУчреждения.Form.ФормаДокумента
- AccountingRegister.ЖурналПроводокЕПСБУ
AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате
true
true
@@ -193,6 +192,36 @@
Use
Use
+
+ ИзвещениеИсходящее
+
+ ru
+ Извещение исходящее
+
+
+ DocumentRef.ИзвещениеИсходящее
+
+
+
+
+ Use
+ Use
+
+
+ ПринятиеПлатежей
+
+ ru
+ Документ принятия платежей
+
+
+ DocumentRef.ПС_ПринятиеПоступившихПлатежейИзЦБ
+
+
+
+
+ Use
+ Use
+
ФормаДокумента
@@ -257,7 +286,7 @@
String
- 25
+ 50
@@ -297,6 +326,108 @@
Use
Use
+
+ ЛицевойСчет
+
+ ru
+ Лицевой счет
+
+
+ String
+
+ 25
+
+
+
+
+ Use
+ Use
+
+
+ НазначениеПлатежа
+
+ ru
+ Назначение платежа
+
+
+ String
+
+ 200
+
+
+
+
+ Use
+ Use
+
+
+ РасчетныйСчет
+
+ ru
+ Расчетный счет
+
+
+ String
+
+ 25
+
+
+
+
+ Use
+ Use
+
+
+ Группа
+
+ ru
+ Группа
+
+
+ String
+
+ 50
+
+
+
+
+ Use
+ Use
+
+
+ ПериодОплаты
+
+ ru
+ Период оплаты
+
+
+ String
+
+ 30
+
+
+
+
+ Use
+ Use
+
+
+ ДатаПлатежа
+
+ ru
+ Дата платежа
+
+
+ Date
+
+ Date
+
+
+
+
+ Use
+ Use
+
ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель
@@ -305,4 +436,11 @@
Извещение ф. 0504805 (103н) — получатель
+
+ РеестрПлатежей
+
+ ru
+ Реестр платежей
+
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form
index ed4f03d..8852316 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form
@@ -722,6 +722,276 @@
Normal
+
+ ЗадолженностьЛицевойСчет
+ 119
+
+ ru
+ Лицевой счет
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.ЛицевойСчет
+
+
+ ЗадолженностьЗадолженностьЛицевойСчетРасширеннаяПодсказка
+ 121
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьЛицевойСчетКонтекстноеМеню
+ 120
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьНазначениеПлатежа
+ 122
+
+ ru
+ Назначение платежа
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.НазначениеПлатежа
+
+
+ ЗадолженностьЗадолженностьНазначениеПлатежаРасширеннаяПодсказка
+ 124
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьНазначениеПлатежаКонтекстноеМеню
+ 123
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьРасчетныйСчет
+ 125
+
+ ru
+ Расчетный счет
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.РасчетныйСчет
+
+
+ ЗадолженностьЗадолженностьРасчетныйСчетРасширеннаяПодсказка
+ 127
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьРасчетныйСчетКонтекстноеМеню
+ 126
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьГруппа
+ 128
+
+ ru
+ Группа
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.Группа
+
+
+ ЗадолженностьЗадолженностьГруппаРасширеннаяПодсказка
+ 130
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьГруппаКонтекстноеМеню
+ 129
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьПериодОплаты
+ 131
+
+ ru
+ Период оплаты
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.ПериодОплаты
+
+
+ ЗадолженностьЗадолженностьПериодОплатыРасширеннаяПодсказка
+ 133
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьПериодОплатыКонтекстноеМеню
+ 132
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
+
+ ЗадолженностьДатаПлатежа
+ 134
+
+ ru
+ Дата приема платежа
+
+ true
+ true
+
+ true
+
+
+ Объект.Задолженность.ДатаПлатежа
+
+
+ ЗадолженностьЗадолженностьДатаПлатежаРасширеннаяПодсказка
+ 136
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ЗадолженностьЗадолженностьДатаПлатежаКонтекстноеМеню
+ 135
+ true
+
+ InputField
+ Auto
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
ЗадолженностьКоманднаяПанель
30
@@ -902,19 +1172,18 @@
112
true
- InputField
+ LabelField
Enter
true
Left
true
-
+
true
true
- true
- true
- true
- true
- Normal
+ true
+
+ 1
+
@@ -1004,6 +1273,51 @@
Normal
+
+ ВидПлатежаВБюджет
+ 116
+
+ ru
+ Вид платежа в бюджет (аналитика 303.05)
+
+ true
+ true
+
+ true
+
+
+ Объект.ВидПлатежаВБюджет
+
+
+ ВидПлатежаВБюджетРасширеннаяПодсказка
+ 118
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ВидПлатежаВБюджетКонтекстноеМеню
+ 117
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+ Normal
+
+
ГруппаКорреспондентующегоСчёта
109
@@ -1128,6 +1442,46 @@
Auto
+
+ ИзвещениеВходящее
+ 141
+ true
+ true
+
+ true
+
+
+ Объект.ИзвещениеВходящее
+
+
+ ИзвещениеВходящееРасширеннаяПодсказка
+ 143
+ Label
+ true
+ true
+
+ Left
+
+
+
+ ИзвещениеВходящееКонтекстноеМеню
+ 142
+ true
+
+ LabelField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+
+ 1
+
+
+
Комментарий
87
@@ -1381,6 +1735,58 @@
UserCmds
Auto
+
+ ПечатьРеестраПлатежей
+ 137
+ true
+ true
+
+ true
+
+
+ ФормаПечатьРеестраПлатежейРасширеннаяПодсказка
+ 138
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.ПечатьРеестраПлатежей
+ Normal
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
+
+ СоздатьИзвещение
+ 139
+ true
+ true
+
+ true
+
+
+ ФормаСоздатьИзвещениеРасширеннаяПодсказка
+ 140
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.СоздатьИзвещение
+ Normal
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
Left
true
@@ -1466,6 +1872,38 @@
+
+ ПечатьРеестраПлатежей
+
+ ru
+ Реестр платежей
+
+ 4
+
+
+
+ ПечатьРеестраПлатежей
+
+
+
+
+ СоздатьИзвещение
+
+ ru
+ Создать извещение 0504805
+
+ 5
+
+
+
+ СоздатьИзвещение
+
+
+
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl
index abee674..7ca78ff 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl
@@ -139,6 +139,25 @@
КонецПроцедуры
+&НаКлиенте
+Процедура ПечатьРеестраПлатежей(Команда)
+
+ ТабличныйДокумент = ПечатьРеестраПлатежейНаСервере(Объект.Ссылка);
+ ТабличныйДокумент.Показать("Реестр платежей");
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура СоздатьИзвещение(Команда)
+
+ Извещение = СоздатьИзвещениеНаСервере();
+ Если ЗначениеЗаполнено(Извещение) Тогда
+ ПараметрыФормы = Новый Структура("Ключ", Извещение);
+ ОткрытьФорму("Документ.ИзвещениеВходящее.Форма.ФормаДокумента", ПараметрыФормы, ЭтотОбъект);
+ КонецЕсли;
+
+КонецПроцедуры
+
&НаКлиенте
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
@@ -185,6 +204,31 @@
КонецФункции
+&НаСервере
+Функция ПечатьРеестраПлатежейНаСервере(ДокументСсылка)
+
+ Возврат ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка);
+
+КонецФункции
+
+&НаСервере
+Функция СоздатьИзвещениеНаСервере()
+
+ Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
+ ОбщегоНазначения.СообщитьПользователю("Сначала запишите документ принятия платежей.");
+ Возврат Документы.ИзвещениеВходящее.ПустаяСсылка();
+ КонецЕсли;
+
+ Извещение = ПС_УчетРодительскойПлаты.СоздатьИзвещениеПоПринятию(Объект.Ссылка);
+ Если ЗначениеЗаполнено(Извещение) Тогда
+ Объект.ИзвещениеВходящее = Извещение;
+ Записать();
+ КонецЕсли;
+
+ Возврат Извещение;
+
+КонецФункции
+
&НаСервере
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl
index 6b681ab..908fb86 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl
@@ -34,6 +34,12 @@
КомандаПечати.Представление = "Извещение (ф. 0504805)";
КомандаПечати.Порядок = 1;
+ КомандаПечати = КомандыПечати.Добавить();
+ КомандаПечати.МенеджерПечати = "Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ";
+ КомандаПечати.Идентификатор = "РеестрПлатежей";
+ КомандаПечати.Представление = "Реестр платежей";
+ КомандаПечати.Порядок = 2;
+
КонецПроцедуры
// Формирует печатные формы документа для подсистемы БСП "Печать".
@@ -47,17 +53,25 @@
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
- Если НЕ УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Извещение0504805") Тогда
- Возврат;
+ Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Извещение0504805") Тогда
+ Для Каждого ДокументСсылка Из МассивОбъектов Цикл
+ УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
+ КоллекцияПечатныхФорм,
+ "Извещение0504805",
+ "Извещение (ф. 0504805)",
+ ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка));
+ КонецЦикла;
КонецЕсли;
- Для Каждого ДокументСсылка Из МассивОбъектов Цикл
- УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
- КоллекцияПечатныхФорм,
- "Извещение0504805",
- "Извещение (ф. 0504805)",
- ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка));
- КонецЦикла;
+ Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрПлатежей") Тогда
+ Для Каждого ДокументСсылка Из МассивОбъектов Цикл
+ УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
+ КоллекцияПечатныхФорм,
+ "РеестрПлатежей",
+ "Реестр платежей",
+ ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка));
+ КонецЦикла;
+ КонецЕсли;
КонецПроцедуры
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl
index e34a9ef..8a9673c 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl
@@ -1,5 +1,7 @@
// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль объекта.
-// Сторона детского сада: Дт 304.04.130 — Кт 205.31.66X.
+// Сторона детского сада, методическая операция 1.3: Дт 303.05.831 — Кт 205.31.660
+// (п. 104 Инструкции № 162н) — зачисление суммы в доход бюджета на основании извещения
+// от администратора кассовых поступлений.
// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением
// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ.
// Документ вводится на основании документа передачи платежей ЦБ и принимает
@@ -57,22 +59,15 @@
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок");
+ // Методическая операция 1.3: Дт 303.05.831 — Кт 205.31.660 (п. 104 Инструкции № 162н).
+ СчетДт = БухгалтерскийУчет.СчетПоКоду("303.05", Дата, Организация);
СчетКт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация);
-
- // Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК задаются реквизитами
- // документа (по умолчанию 304.04 и 131) и могут быть изменены пользователем.
- СчетДт = СчетКорреспондент;
- Если НЕ ЗначениеЗаполнено(СчетДт) Тогда
- ОбщегоНазначения.СообщитьПользователю(
- "Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.",
- , "СчетКорреспондент", "Объект", Отказ);
- Возврат;
- КонецЕсли;
+ КЭКДт = Справочники.КОСГУ.НайтиПоКоду("831");
+ КЭККт = Справочники.КОСГУ.НайтиПоКоду("660");
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
- // КПС строк наследуется из строк документа передачи (см. ЗаполнитьСтрокиПоДокументуПередачи),
- // КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ).
+ // КПС строк наследуется из строк документа передачи (см. ЗаполнитьСтрокиПоДокументуПередачи).
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
Движение = Движения.ЖурналПроводокЕПСБУ.Добавить();
@@ -84,13 +79,16 @@
Движение.СчетКт = СчетКт;
Движение.КПСДт = СтрокаЗадолженности.КПС;
Движение.КПСКт = СтрокаЗадолженности.КПС;
- Движение.КЭКДт = КЭККорреспондент;
- Движение.КЭККт = КЭКПроводки(СчетКт, "Кт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор);
+ Движение.КЭКДт = КЭКДт;
+ Движение.КЭККт = КЭККт;
Движение.Сумма = СтрокаЗадолженности.Сумма;
Движение.ЖурналОпераций = ЖурналОпераций;
Движение.Содержание = "Принятие поступивших платежей по родительской плате из ЦБ";
- Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = ЦБ;
+ // Аналитика по счёту 303.05 - вид платежа в бюджет ("Доходы от родительской платы"):
+ // обобщённая аналитика ожидаемых поступлений, задаётся пользователем в шапке документа.
+ Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ВидыНалоговИПлатежей] = ВидПлатежаВБюджет;
+
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор;
@@ -155,6 +153,12 @@
ОбщегоНазначения.СообщитьПользователю("Не заполнен КФО", , "КФО", "Объект", Отказ);
КонецЕсли;
+ Если НЕ ЗначениеЗаполнено(ВидПлатежаВБюджет) Тогда
+ ОбщегоНазначения.СообщитьПользователю(
+ "Не заполнен вид платежа в бюджет - аналитика по счёту 303.05",
+ , "ВидПлатежаВБюджет", "Объект", Отказ);
+ КонецЕсли;
+
Если Задолженность.Количество() = 0 Тогда
ОбщегоНазначения.СообщитьПользователю("Не заполнена табличная часть ""Задолженность""", , "Задолженность", "Объект", Отказ);
Иначе
@@ -218,7 +222,13 @@
| СтрокиПередачи.Ребенок КАК Ребенок,
| СтрокиПередачи.ИДСтроки КАК ИДСтроки,
| СтрокиПередачи.Сумма КАК Сумма,
- | СтрокиПередачи.КПС КАК КПС
+ | СтрокиПередачи.КПС КАК КПС,
+ | СтрокиПередачи.ЛицевойСчет КАК ЛицевойСчет,
+ | СтрокиПередачи.НазначениеПлатежа КАК НазначениеПлатежа,
+ | СтрокиПередачи.РасчетныйСчет КАК РасчетныйСчет,
+ | СтрокиПередачи.Группа КАК Группа,
+ | СтрокиПередачи.ПериодОплаты КАК ПериодОплаты,
+ | СтрокиПередачи.ДатаПлатежа КАК ДатаПлатежа
|ИЗ
| Документ.ПС_ПередачаПоступившихПлатежейВУчреждения.Задолженность КАК СтрокиПередачи
|ГДЕ
@@ -238,34 +248,6 @@
КонецПроцедуры
-// Возвращает КЭК проводки, определённый по настройкам счёта
-// и типу контрагента (подстатья КОСГУ).
-//
-// Параметры:
-// Счет - ПланСчетовСсылка.ЕПСБУ - счёт проводки.
-// ДтКт - Строка - сторона проводки: "Дт" или "Кт".
-// Субконто1 - Произвольный - значение первого субконто проводки.
-// Субконто2 - Произвольный - значение второго субконто проводки.
-//
-// Возвращаемое значение:
-// СправочникСсылка.КОСГУ - КЭК проводки.
-//
-Функция КЭКПроводки(Счет, ДтКт, Субконто1 = Неопределено, Субконто2 = Неопределено)
-
- ПараметрыКЭК = БухгалтерскийУчетКлиентСервер.ПараметрыРасчетаКЭКПроводки();
- ПараметрыКЭК.Организация = Организация;
- ПараметрыКЭК.ИФО = ИФО;
- ПараметрыКЭК.КФО = КФО;
- ПараметрыКЭК.Дата = Дата;
- ПараметрыКЭК.Счет = Счет;
- ПараметрыКЭК.ДтКт = ДтКт;
- ПараметрыКЭК.Субконто1 = Субконто1;
- ПараметрыКЭК.Субконто2 = Субконто2;
-
- Возврат БухгалтерскийУчет.КЭКПроводки(ПараметрыКЭК);
-
-КонецФункции
-
#КонецОбласти
#КонецЕсли
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx
new file mode 100644
index 0000000..a03772f
--- /dev/null
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/РеестрПлатежей/Template.mxlx
@@ -0,0 +1,574 @@
+
+
+
+ ru
+ ru
+
+ ru
+ Русский
+ Русский
+
+
+
+ 10
+
+ 0
+
+ 1
+
+
+
+ 1
+
+ 2
+
+
+
+ 2
+
+ 3
+
+
+
+ 3
+
+ 4
+
+
+
+ 4
+
+ 5
+
+
+
+ 5
+
+ 6
+
+
+
+ 6
+
+ 7
+
+
+
+ 7
+
+ 4
+
+
+
+ 8
+
+ 8
+
+
+
+ 9
+
+ 9
+
+
+
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+ 10
+
+ 0
+
+ 10
+
+
+
+ 1
+
+ 11
+
+
+
+ 2
+
+ 12
+
+
+
+ 3
+
+ 4
+
+
+
+ 4
+
+ 5
+
+
+
+ 5
+
+ 13
+
+
+
+ 6
+
+ 7
+
+
+
+ 7
+
+ 14
+
+
+
+ 8
+
+ 8
+
+
+
+ 9
+
+ 9
+
+
+
+
+ 0
+
+
+
+ 15
+ ЗаголовокРеестра
+
+
+
+
+
+ 1
+
+
+
+ 15
+ РеквизитыДокумента
+
+
+
+
+
+ 2
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+ 16
+
+
+ ru
+ ФИО плательщика
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Сумма
+
+
+
+
+
+
+ 17
+
+
+ ru
+ Лицевой счет ребенка
+
+
+
+
+
+
+ 16
+
+
+ ru
+ ФИО ребенка
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Назначение платежа
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Организация
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Рассчетный счет
+
+
+
+
+
+
+ 16
+
+
+ ru
+ Группа
+
+
+
+
+
+
+ 17
+
+
+ ru
+ Период оплаты
+
+
+
+
+
+
+ 17
+
+
+ ru
+ Дата приема платежа
+
+
+
+
+
+
+
+ 3
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+ 18
+
+
+
+
+
+ 4
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+ 15
+ Плательщик
+
+
+
+
+ 19
+ Сумма
+
+
+
+
+ 15
+ ЛицевойСчет
+
+
+
+
+ 15
+ Ребенок
+
+
+
+
+ 15
+ НазначениеПлатежа
+
+
+
+
+ 15
+ Организация
+
+
+
+
+ 15
+ РассчетныйСчет
+
+
+
+
+ 15
+ Группа
+
+
+
+
+ 15
+ Период
+
+
+
+
+ 15
+ ДатаПлатежа
+
+
+
+
+
+ 5
+
+ true
+
+
+
+ 6
+
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+ 20
+
+
+ ru
+ ИТОГО:
+
+
+
+
+
+
+ 21
+ ОбщаяСумма
+
+
+
+
+ true
+ 22
+ 7
+ 7
+
+ Заголовок
+
+ Rows
+ 0
+ 1
+ -1
+ -1
+
+
+
+ ОбластьПодвалТаблицы
+
+ Rows
+ 6
+ 6
+ -1
+ -1
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+
+ ОбластьСтрокаТаблицы
+
+ Rows
+ 4
+ 4
+ -1
+ -1
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+
+ ОбластьШапкаТаблицы
+
+ Rows
+ 2
+ 2
+ -1
+ -1
+ c4c71b73-7783-4619-abbc-ece4486e4bdb
+
+
+
+ Solid
+
+
+
+
+
+ 198
+
+
+ 81
+
+
+ 111
+
+
+ 186
+
+
+ 190
+
+
+ 152
+
+
+ 137
+
+
+ 106
+
+
+ 103
+
+
+ 213
+
+
+ 74
+
+
+ 99
+
+
+ 171
+
+
+ 167
+
+
+ 0
+ 0
+ Center
+ Wrap
+ Parameter
+
+
+ 1
+ 0
+ Center
+
+
+ 1
+ 0
+ Center
+ Wrap
+
+
+ 2
+
+
+ 0
+ 0
+ Center
+ Wrap
+ Parameter
+
+
+ ru
+ ЧДЦ=2
+
+
+
+
+ 1
+
+
+ 1
+ 0
+ Center
+ Parameter
+
+
+ ru
+ ЧДЦ=2
+
+
+
+
+ 72
+
+
\ No newline at end of file
diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo
index 96f1c1f..9f721a5 100644
--- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo
+++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo
@@ -207,6 +207,36 @@
Use
Use
+
+ ВидПлатежаВБюджет
+
+ ru
+ Вид платежа в бюджет (аналитика 303.05)
+
+
+ CatalogRef.ВидыНалоговИПлатежей
+
+
+
+
+ Use
+ Use
+
+
+ ИзвещениеВходящее
+
+ ru
+ Извещение входящее
+
+
+ DocumentRef.ИзвещениеВходящее
+
+
+
+
+ Use
+ Use
+
ФормаДокумента
@@ -271,7 +301,7 @@
String
- 25
+ 50
@@ -311,6 +341,108 @@
Use
Use
+
+ ЛицевойСчет
+
+ ru
+ Лицевой счет
+
+
+ String
+
+ 25
+
+
+
+
+ Use
+ Use
+
+
+ НазначениеПлатежа
+
+ ru
+ Назначение платежа
+
+
+ String
+
+ 200
+
+
+
+
+ Use
+ Use
+
+
+ РасчетныйСчет
+
+ ru
+ Расчетный счет
+
+
+ String
+
+ 25
+
+
+
+
+ Use
+ Use
+
+
+ Группа
+
+ ru
+ Группа
+
+
+ String
+
+ 50
+
+
+
+
+ Use
+ Use
+
+
+ ПериодОплаты
+
+ ru
+ Период оплаты
+
+
+ String
+
+ 30
+
+
+
+
+ Use
+ Use
+
+
+ ДатаПлатежа
+
+ ru
+ Дата платежа
+
+
+ Date
+
+ Date
+
+
+
+
+ Use
+ Use
+
ПФ_MXL_Извещение0504805_103н_ПС_РП
@@ -319,4 +451,11 @@
Извещение ф. 0504805 (103н) — родительская плата
+
+ РеестрПлатежей
+
+ ru
+ Реестр платежей
+
+