diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo index 4aa9238..0e4b017 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/AccumulationRegisters/ПС_ВзаиморасчетыПоРодительскойПлате/ПС_ВзаиморасчетыПоРодительскойПлате.mdo @@ -46,22 +46,6 @@ Use - - ИДСтроки - - ru - ИД строки (квитанции) - - - String - - 25 - - - - - Use - ДокументПередачи @@ -69,7 +53,7 @@ Документ передачи - DocumentRef.ПС_ПередачаЗадолженностиВЦБ + DocumentRef.ПС_ПринятиеПоступившихПлатежейИзЦБ @@ -93,10 +77,10 @@ Учреждение ru - Учреждение-отправитель + Учреждение (сад) - CatalogRef.Контрагенты + CatalogRef.Организации @@ -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/ВнутренниеЭлектронныеДокументыБГУ/ВнутренниеЭлектронныеДокументыБГУ.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутренниеЭлектронныеДокументыБГУ/ВнутренниеЭлектронныеДокументыБГУ.mdo new file mode 100644 index 0000000..f9e47ba --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутренниеЭлектронныеДокументыБГУ/ВнутренниеЭлектронныеДокументыБГУ.mdo @@ -0,0 +1,17 @@ + + + ВнутренниеЭлектронныеДокументыБГУ + Adopted + + Checked + Checked + Checked + Checked + Checked + Checked + Checked + + true + true + true + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутреннийЭДОПереопределяемый/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутреннийЭДОПереопределяемый/Module.bsl new file mode 100644 index 0000000..e04041a --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутреннийЭДОПереопределяемый/Module.bsl @@ -0,0 +1,57 @@ +// ВнутреннийЭДОПереопределяемый: расширение. +// Адресация электронных извещений по учреждению (саду). + +#Область СлужебныеПроцедурыИФункции + +// Дополняет параметры нового электронного документа: электронное извещение по передаче +// платежей адресуется учреждению-получателю, а не ЦБ. +// +// Маршрут подписания выбирается по ключу настройки внутреннего ЭДО +// (организация + вид документа + команда печати), поэтому без адресации по саду +// для всех садов получался бы один общий маршрут, и подписать извещение +// руководителем конкретного сада было бы невозможно. +// +// Параметры: +// ПараметрыДокумента - Структура - параметры открытия электронного документа, +// см. ВнутреннийЭДОКлиентСервер.ПараметрыОткрытияЭлектронногоДокумента(). +// +&После("ПриЗаполненииПараметровНовогоЭлектронногоДокумента") +Процедура ПС_ПриЗаполненииПараметровНовогоЭлектронногоДокумента(ПараметрыДокумента) + + УчетныйДокумент = ПараметрыДокумента.УчетныйДокумент; + + Если ТипЗнч(УчетныйДокумент) = Тип("ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения") Тогда + УчетныйДокумент = УчетныйДокумент.Ссылка; + КонецЕсли; + + Если ТипЗнч(УчетныйДокумент) = Тип("ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения") Тогда + Учреждение = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(УчетныйДокумент, "Учреждение").Учреждение; + Если ЗначениеЗаполнено(Учреждение) Тогда + ПараметрыДокумента.Организация = Учреждение; + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +// Дополняет получение организации учётного документа для проверок внутреннего ЭДО, +// в том числе для запрета редактирования формы после завершения подписания: +// для документа передачи организацией считается учреждение-получатель. +// +// Параметры: +// Форма - ФормаКлиентскогоПриложения - форма учётного документа. +// Источник - ДокументОбъект - учётный документ. +// Организация - ОпределяемыйТип.Организация - организация учётного документа. +// СтандартнаяОбработка - Булево - Истина, если организация берётся как Источник.Организация. +// +&После("ПриПолученииОрганизацииПоОбъекту") +Процедура ПС_ПриПолученииОрганизацииПоОбъекту(Форма, Источник, Организация, СтандартнаяОбработка) + + Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения") + И ЗначениеЗаполнено(Источник.Учреждение) Тогда + СтандартнаяОбработка = Ложь; + Организация = Источник.Учреждение; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутреннийЭДОПереопределяемый/ВнутреннийЭДОПереопределяемый.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутреннийЭДОПереопределяемый/ВнутреннийЭДОПереопределяемый.mdo new file mode 100644 index 0000000..b365d59 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ВнутреннийЭДОПереопределяемый/ВнутреннийЭДОПереопределяемый.mdo @@ -0,0 +1,17 @@ + + + ВнутреннийЭДОПереопределяемый + Adopted + + Checked + Checked + Checked + Checked + Checked + Checked + Checked + + true + true + true + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ВнутреннийЭДОИзвещений/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ВнутреннийЭДОИзвещений/Module.bsl new file mode 100644 index 0000000..651932f --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ВнутреннийЭДОИзвещений/Module.bsl @@ -0,0 +1,175 @@ +#Область ПрограммныйИнтерфейс + +// Вызывается из обработчика "ПриЗаписи" модулей объектов извещений внутреннего ЭДО. +// Аннулирует электронные документы, печатная форма которых перестала соответствовать +// данным учётного документа. Штатный перевод подписанного электронного документа +// в неактуальные возможен только из состояния "Аннулирован". +// +// Параметры: +// Источник - ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения, +// ДокументОбъект.ПС_ПринятиеПоступившихПлатежейИзЦБ - записываемый документ. +// Отказ - Булево - признак отказа от записи документа. +// +Процедура ПС_АннулироватьЭлектронныеДокументыПриИзменении(Источник, Отказ) Экспорт + + Ссылка = Источник.Ссылка; + + Если Ссылка.Пустая() Тогда + Возврат; + КонецЕсли; + + Попытка + ПС_АннулироватьНеактуальныеЭлектронныеДокументы(Ссылка); + Исключение + ЗаписьЖурналаРегистрации( + НСтр("ru = 'Внутренний ЭДО извещений.Аннулирование при изменении документа'"), + УровеньЖурналаРегистрации.Ошибка, + Источник.Метаданные(), + Ссылка, + ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + КонецПопытки; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Аннулирует актуальные подписанные электронные документы, печатная форма которых +// отличается от печатной формы учётного документа на текущий момент. +// +// Параметры: +// УчетныйДокумент - ДокументСсылка - извещение, данные которого были изменены. +// +Процедура ПС_АннулироватьНеактуальныеЭлектронныеДокументы(УчетныйДокумент) + + ЭлектронныеДокументы = ВнутреннийЭДО.ЭлектронныеДокументыАктуальные(УчетныйДокумент); + + СостояниеЗавершен = ПредопределенноеЗначение("Перечисление.СостоянияДокументовВнутреннегоЭДО.Завершен"); + СостояниеТребуетсяУточнение = ПредопределенноеЗначение("Перечисление.СостоянияДокументовВнутреннегоЭДО.ТребуетсяУточнение"); + + Для Каждого СтрокаСписка Из ЭлектронныеДокументы Цикл + + Если СтрокаСписка.Состояние <> СостояниеЗавершен + И СтрокаСписка.Состояние <> СостояниеТребуетсяУточнение Тогда + Продолжить; + КонецЕсли; + + ЭлектронныйДокумент = СтрокаСписка.ЭлектронныйДокумент; + + Если НЕ ПС_ПечатнаяФормаОтличаетсяОтПодписанной( + УчетныйДокумент, ЭлектронныйДокумент, СтрокаСписка.ИдентификаторКомандыПечати) Тогда + Продолжить; + КонецЕсли; + + ПараметрыАннулирования = Новый Структура; + ПараметрыАннулирования.Вставить("УчетныйДокумент", УчетныйДокумент); + ПараметрыАннулирования.Вставить("ЭлектронныйДокумент", ЭлектронныйДокумент); + ПараметрыАннулирования.Вставить("ВидПодписи", ПС_ВидПодписиТекущегоПользователя(ЭлектронныйДокумент)); + ПараметрыАннулирования.Вставить("Комментарий", + НСтр("ru = 'Автоматически аннулирован: изменены данные учётного документа'")); + + ВнутреннийЭДО.АннулироватьЭлектронныйДокумент(ПараметрыАннулирования); + + КонецЦикла; + +КонецПроцедуры + +// Определяет, отличается ли сохранённая в электронном документе печатная форма +// от печатной формы учётного документа на текущий момент. +// +// Параметры: +// УчетныйДокумент - ДокументСсылка - извещение. +// ЭлектронныйДокумент - ДокументСсылка.ВнутреннийЭлектронныйДокумент - электронный документ. +// ИдентификаторКомандыПечати - Строка - идентификатор команды печати извещения. +// +// Возвращаемое значение: +// Булево - Истина, если печатные формы различаются. +// +Функция ПС_ПечатнаяФормаОтличаетсяОтПодписанной( + УчетныйДокумент, ЭлектронныйДокумент, ИдентификаторКомандыПечати) + + ОсновнойФайл = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ЭлектронныйДокумент, "ОсновнойФайл").ОсновнойФайл; + + Если НЕ ЗначениеЗаполнено(ОсновнойФайл) Тогда + Возврат Ложь; + КонецЕсли; + + ДвоичныеДанныеСохраненнойФормы = РаботаСФайлами.ДвоичныеДанныеФайла(ОсновнойФайл, Ложь); + + Если ДвоичныеДанныеСохраненнойФормы = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + + ПараметрыПечати = Новый Структура; + ПараметрыПечати.Вставить("УчетныйДокумент", УчетныйДокумент); + ПараметрыПечати.Вставить("ИдентификаторКомандыПечати", ИдентификаторКомандыПечати); + + ВнутреннийЭДОПереопределяемый.ПриПолученииТабличногоДокументаАктуальногоДокумента(ПараметрыПечати); + + ТабличныйДокументТекущий = ПС_ТабличныйДокументУчетногоДокумента(ПараметрыПечати); + + Если ТабличныйДокументТекущий.ВысотаТаблицы = 0 Тогда + Возврат Ложь; + КонецЕсли; + + ТабличныйДокументСохраненный = ВнутреннийЭДО.ТабличныйДокументИзДвоичныхДанныхАрхива(ДвоичныеДанныеСохраненнойФормы); + + Возврат НЕ ВнутреннийЭДО.ТабличныеДокументыИдентичны(ТабличныйДокументСохраненный, ТабличныйДокументТекущий); + +КонецФункции + +// Формирует табличный документ печатной формы учётного документа в привилегированном режиме. +// +// Параметры: +// ПараметрыПечати - Структура - параметры печати: УчетныйДокумент, ИдентификаторКомандыПечати. +// +// Возвращаемое значение: +// ТабличныйДокумент - печатная форма учётного документа. +// +Функция ПС_ТабличныйДокументУчетногоДокумента(ПараметрыПечати) + + // Печать учётного документа может обращаться к данным, недоступным пользователю, + // поэтому печатная форма формируется в привилегированном режиме + // с восстановлением исходного значения режима. + ТекущийПривилегированныйРежим = ПривилегированныйРежим(); + УстановитьПривилегированныйРежим(Истина); + + Попытка + ДвоичныеДанные = ВнутреннийЭДО.ДвоичныеДанныеУчетногоДокумента(ПараметрыПечати); + Исключение + УстановитьПривилегированныйРежим(ТекущийПривилегированныйРежим); + ВызватьИсключение; + КонецПопытки; + + УстановитьПривилегированныйРежим(ТекущийПривилегированныйРежим); + + Возврат ВнутреннийЭДО.ТабличныйДокументИзДвоичныхДанныхАрхива(ДвоичныеДанные); + +КонецФункции + +// Возвращает вид подписи текущего пользователя по маршруту электронного документа. +// Если пользователь не является подписантом маршрута, возвращается пустая ссылка - +// аннулирование в этом случае выполняется без отметки строки маршрута. +// +// Параметры: +// ЭлектронныйДокумент - ДокументСсылка.ВнутреннийЭлектронныйДокумент - электронный документ. +// +// Возвращаемое значение: +// ПеречислениеСсылка.ВидыЭлектронныхПодписейБГУ - вид подписи текущего пользователя. +// +Функция ПС_ВидПодписиТекущегоПользователя(ЭлектронныйДокумент) + + СоставМаршрута = ВнутреннийЭДО.СоставМаршрутаПодписанияДокумента(ЭлектронныйДокумент); + + СтрокиПодписанта = СоставМаршрута.НайтиСтроки(Новый Структура("Подписант", Пользователи.ТекущийПользователь())); + + Если СтрокиПодписанта.Количество() > 0 Тогда + Возврат СтрокиПодписанта[0].ВидПодписи; + КонецЕсли; + + Возврат ПредопределенноеЗначение("Перечисление.ВидыЭлектронныхПодписейБГУ.ПустаяСсылка"); + +КонецФункции + +#КонецОбласти diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РаботаСКонтрагентами/ПС_РаботаСКонтрагентами.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ВнутреннийЭДОИзвещений/ПС_ВнутреннийЭДОИзвещений.mdo similarity index 61% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РаботаСКонтрагентами/ПС_РаботаСКонтрагентами.mdo rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ВнутреннийЭДОИзвещений/ПС_ВнутреннийЭДОИзвещений.mdo index 896612e..d5ce782 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РаботаСКонтрагентами/ПС_РаботаСКонтрагентами.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ВнутреннийЭДОИзвещений/ПС_ВнутреннийЭДОИзвещений.mdo @@ -1,9 +1,9 @@ - - ПС_РаботаСКонтрагентами + + ПС_ВнутреннийЭДОИзвещений ru - ПС Работа с контрагентами + ПС_Внутренний ЭДО извещений true true diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ИдентификаторыОбъектовЭДО/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ИдентификаторыОбъектовЭДО/Module.bsl new file mode 100644 index 0000000..ab2fd83 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ИдентификаторыОбъектовЭДО/Module.bsl @@ -0,0 +1,238 @@ +#Область ПрограммныйИнтерфейс + +// Обеспечивает наличие в справочнике идентификаторов объектов метаданных записей +// по документам внутреннего ЭДО, созданным в расширении конфигурации. +// +// Настройки внутреннего ЭДО ключуются идентификатором объекта метаданных, который библиотека +// заполняет только по объектам основной конфигурации. Записи по документам расширения создаются +// этой процедурой, а если обновление данных справочника пометило их на удаление, восстанавливаются. +// +// Возвращаемое значение: +// Соответствие из КлючИЗначение - идентификаторы объектов метаданных по их полным именам: +// * Ключ - Строка - полное имя объекта метаданных, например "Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ"; +// * Значение - СправочникСсылка.ИдентификаторыОбъектовМетаданных - идентификатор объекта метаданных. +// +Функция ПС_ОбеспечитьИдентификаторыДокументовЭДО() Экспорт + + ПолныеИменаДокументов = Новый Массив; + ПолныеИменаДокументов.Добавить("Документ.ПС_ПередачаПоступившихПлатежейВУчреждения"); + ПолныеИменаДокументов.Добавить("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ"); + + СуществующиеЗаписи = ПС_СуществующиеЗаписи(ПолныеИменаДокументов); + + Результат = Новый Соответствие; + + Для Каждого ПолноеИмя Из ПолныеИменаДокументов Цикл + СуществующаяЗапись = СуществующиеЗаписи.Получить(ПолноеИмя); + Результат.Вставить(ПолноеИмя, ПС_ОбеспечитьИдентификаторОбъекта(ПолноеИмя, + СуществующаяЗапись.Ссылка, СуществующаяЗапись.ТребуетсяВосстановление)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Обеспечивает наличие записи справочника идентификаторов по полному имени объекта метаданных. +// +// Параметры: +// ПолноеИмя - Строка - полное имя объекта метаданных; +// Идентификатор - СправочникСсылка.ИдентификаторыОбъектовМетаданных - найденная запись справочника; +// ТребуетсяВосстановление - Булево - запись помечена на удаление или ее полное имя изменено. +// +// Возвращаемое значение: +// СправочникСсылка.ИдентификаторыОбъектовМетаданных - идентификатор объекта метаданных. +// +Функция ПС_ОбеспечитьИдентификаторОбъекта(ПолноеИмя, Идентификатор, ТребуетсяВосстановление) + + Если ЗначениеЗаполнено(Идентификатор) И НЕ ТребуетсяВосстановление Тогда + Возврат Идентификатор; + КонецЕсли; + + Если ЗначениеЗаполнено(Идентификатор) Тогда + ЗаписьИдентификатора = Идентификатор.ПолучитьОбъект(); + Иначе + ЗаписьИдентификатора = Справочники.ИдентификаторыОбъектовМетаданных.СоздатьЭлемент(); + КонецЕсли; + + ЗаполнитьЗначенияСвойств(ЗаписьИдентификатора, ПС_СвойстваЗаписиИдентификатора(ПолноеИмя)); + // Создание записей справочника предусмотрено только механизмом обновления данных справочника, + // поэтому запись выполняется в режиме загрузки данных. + ЗаписьИдентификатора.ОбменДанными.Загрузка = Истина; + ЗаписьИдентификатора.Записать(); + + Возврат ЗаписьИдентификатора.Ссылка; + +КонецФункции + +// Возвращает записи справочника идентификаторов по полным именам объектов метаданных, +// включая записи, испорченные механизмом обновления данных справочника. +// +// Параметры: +// ПолныеИмена - Массив из Строка - полные имена объектов метаданных. +// +// Возвращаемое значение: +// Соответствие из КлючИЗначение - найденные записи по полным именам объектов метаданных: +// * Ключ - Строка - полное имя объекта метаданных; +// * Значение - Структура: +// ** Ссылка - СправочникСсылка.ИдентификаторыОбъектовМетаданных - найденная запись; +// ** ТребуетсяВосстановление - Булево - запись помечена на удаление или ее полное имя изменено. +// +Функция ПС_СуществующиеЗаписи(ПолныеИмена) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ИдентификаторыОбъектовМетаданных.Ссылка КАК Ссылка, + | ИдентификаторыОбъектовМетаданных.ПолноеИмя КАК ПолноеИмя, + | ИдентификаторыОбъектовМетаданных.ПометкаУдаления КАК ПометкаУдаления + |ИЗ + | Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных + |ГДЕ + | ИдентификаторыОбъектовМетаданных.ПолноеИмя В (&ПолныеИмена) + | ИЛИ ИдентификаторыОбъектовМетаданных.ПолноеИмя ПОДОБНО &ШаблонИзмененногоИмени + |УПОРЯДОЧИТЬ ПО + | ИдентификаторыОбъектовМетаданных.ПометкаУдаления, + | ИдентификаторыОбъектовМетаданных.ПолноеИмя"; + Запрос.УстановитьПараметр("ПолныеИмена", ПолныеИмена); + Запрос.УстановитьПараметр("ШаблонИзмененногоИмени", "?%"); + + Результат = Новый Соответствие; + + Для Каждого ПолноеИмя Из ПолныеИмена Цикл + Запись = Новый Структура("Ссылка, ТребуетсяВосстановление", + Справочники.ИдентификаторыОбъектовМетаданных.ПустаяСсылка(), Ложь); + Результат.Вставить(ПолноеИмя, Запись); + КонецЦикла; + + Выборка = Запрос.Выполнить().Выбрать(); + + Пока Выборка.Следующий() Цикл + + Запись = Результат.Получить(Выборка.ПолноеИмя); + + Если Запись <> Неопределено И НЕ Выборка.ПометкаУдаления Тогда + Запись.Ссылка = Выборка.Ссылка; + Запись.ТребуетсяВосстановление = Ложь; + Продолжить; + КонецЕсли; + + Если НЕ Выборка.ПометкаУдаления Тогда + Продолжить; + КонецЕсли; + + ПС_ОтметитьИзмененнуюЗапись(Результат, Выборка); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Отмечает запись справочника идентификаторов как испорченную механизмом обновления данных справочника. +// +// Параметры: +// Результат - Соответствие из КлючИЗначение - см. ПС_СуществующиеЗаписи; +// Выборка - ВыборкаИзРезультатаЗапроса - запись справочника, помеченная на удаление. +// +Процедура ПС_ОтметитьИзмененнуюЗапись(Результат, Выборка) + + Для Каждого КлючИЗначение Из Результат Цикл + + Запись = КлючИЗначение.Значение; + + Если ЗначениеЗаполнено(Запись.Ссылка) + ИЛИ СтрНайти(Выборка.ПолноеИмя, КлючИЗначение.Ключ) = 0 Тогда + Продолжить; + КонецЕсли; + + Запись.Ссылка = Выборка.Ссылка; + Запись.ТребуетсяВосстановление = Истина; + + Возврат; + + КонецЦикла; + +КонецПроцедуры + +// Возвращает значения реквизитов записи справочника идентификаторов объектов метаданных. +// +// Параметры: +// ПолноеИмя - Строка - полное имя объекта метаданных, например "Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ". +// +// Возвращаемое значение: +// Структура - значения реквизитов записи: +// * Наименование - Строка - представление идентификатора объекта метаданных; +// * Имя - Строка - имя объекта метаданных; +// * Синоним - Строка - синоним объекта метаданных; +// * ПолныйСиноним - Строка - полный синоним объекта метаданных; +// * ПолноеИмя - Строка - полное имя объекта метаданных; +// * Родитель - СправочникСсылка.ИдентификаторыОбъектовМетаданных - группа коллекции; +// * ПорядокКоллекции - Число - порядок коллекции объектов метаданных; +// * БезДанных - Булево - Ложь; +// * ЗначениеПустойСсылки - Произвольный - пустая ссылка объекта метаданных; +// * КлючОбъектаМетаданных - ХранилищеЗначения - ключ объекта метаданных; +// * ИмяПредопределенныхДанных - Строка - пустая строка; +// * ПометкаУдаления - Булево - Ложь. +// +Функция ПС_СвойстваЗаписиИдентификатора(ПолноеИмя) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмя); + + ПозицияТочки = СтрНайти(ПолноеИмя, "."); + ИмяБазовогоТипа = Лев(ПолноеИмя, ПозицияТочки - 1); + ИмяТипаСсылки = ИмяБазовогоТипа + "Ссылка." + ОбъектМетаданных.Имя; + + ОписаниеТипаСсылки = Новый ОписаниеТипов(ИмяТипаСсылки); + + Синоним = ?(ЗначениеЗаполнено(ОбъектМетаданных.Синоним), ОбъектМетаданных.Синоним, ОбъектМетаданных.Имя); + СвойстваКоллекции = ПС_СвойстваКоллекцииОбъектовМетаданных(ИмяБазовогоТипа); + + Свойства = Новый Структура; + Свойства.Вставить("Наименование", Синоним + " (" + СвойстваКоллекции.СинонимВЕдЧисле + ")"); + Свойства.Вставить("Имя", ОбъектМетаданных.Имя); + Свойства.Вставить("Синоним", Синоним); + Свойства.Вставить("ПолныйСиноним", СвойстваКоллекции.СинонимВЕдЧисле + ". " + Синоним); + Свойства.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + Свойства.Вставить("Родитель", + Справочники.ИдентификаторыОбъектовМетаданных.ПолучитьСсылку(СвойстваКоллекции.Идентификатор)); + Свойства.Вставить("ПорядокКоллекции", Число(СвойстваКоллекции.ПорядокКоллекции)); + Свойства.Вставить("БезДанных", Ложь); + Свойства.Вставить("ЗначениеПустойСсылки", ОписаниеТипаСсылки.ПривестиЗначение(Неопределено)); + Свойства.Вставить("КлючОбъектаМетаданных", Новый ХранилищеЗначения(Тип(ИмяТипаСсылки))); + Свойства.Вставить("ИмяПредопределенныхДанных", ""); + Свойства.Вставить("ПометкаУдаления", Ложь); + + Возврат Свойства; + +КонецФункции + +// Возвращает свойства коллекции объектов метаданных по имени базового типа. +// +// Параметры: +// ИмяБазовогоТипа - Строка - имя базового типа объектов метаданных, например "Документ". +// +// Возвращаемое значение: +// СтрокаТаблицыЗначений - свойства коллекции объектов метаданных. +// +Функция ПС_СвойстваКоллекцииОбъектовМетаданных(ИмяБазовогоТипа) + + СвойстваКоллекций = СтандартныеПодсистемыПовтИсп.СвойстваКоллекцийОбъектовМетаданных(Ложь); + + Отбор = Новый Структура("ИмяВЕдЧисле", ИмяБазовогоТипа); + НайденныеСвойства = СвойстваКоллекций.НайтиСтроки(Отбор); + + Если НайденныеСвойства.Количество() = 0 Тогда + ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Не найдены свойства коллекции объектов метаданных ""%1"".'"), + ИмяБазовогоТипа); + КонецЕсли; + + Возврат НайденныеСвойства[0]; + +КонецФункции + +#КонецОбласти diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ИдентификаторыОбъектовЭДО/ПС_ИдентификаторыОбъектовЭДО.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ИдентификаторыОбъектовЭДО/ПС_ИдентификаторыОбъектовЭДО.mdo new file mode 100644 index 0000000..a0fc4c4 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_ИдентификаторыОбъектовЭДО/ПС_ИдентификаторыОбъектовЭДО.mdo @@ -0,0 +1,7 @@ + + + ПС_ИдентификаторыОбъектовЭДО + true + true + true + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РаботаСКонтрагентами/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РаботаСКонтрагентами/Module.bsl deleted file mode 100644 index 1fca46d..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РаботаСКонтрагентами/Module.bsl +++ /dev/null @@ -1,172 +0,0 @@ -// Поиск контрагента, соответствующего организации, по ИНН. -// -// Универсальная функция для обоих документов (Передача задолженности в ЦБ -// и Принятие задолженности от учреждения). Реквизиты ЦБ и УчреждениеОтправитель -// имеют тип CatalogRef.Контрагенты, а в связанных документах-основаниях -// соответствующие организации имеют тип CatalogRef.Организации. Чтобы -// обеспечить соответствие, ищем элемент справочника Контрагенты с тем же ИНН. -// -// Параметры: -// Организация - CatalogRef.Организации - организация, для которой ищем контрагента. -// ИмяПоляПодсказки - Строка - имя реквизита формы/документа, которое остаётся -// незаполненным (для сообщения пользователю). Например, -// "ЦБ (получатель)" или "Учреждение-отправитель". -// -// Возвращаемое значение: -// CatalogRef.Контрагенты - если найден ровно один контрагент с ИНН организации. -// Пустая ссылка - в остальных случаях (организация не заполнена / нет ИНН / нет -// контрагента / найдено несколько). При этом пользователю -// выводится сообщение с описанием причины. -// -#Область ПрограммныйИнтерфейс - -Функция КонтрагентПоОрганизации(Организация, ИмяПоляПодсказки = "") Экспорт - - ПустойКонтрагент = Справочники.Контрагенты.ПустаяСсылка(); - Подсказка = ?(ПустаяСтрока(ИмяПоляПодсказки), "Контрагент", - "Поле """ + ИмяПоляПодсказки + """"); - - Если НЕ ЗначениеЗаполнено(Организация) Тогда - ТекстСообщения = "Не указана организация для поиска контрагента.|" - + Подсказка + " не заполнен - выберите контрагента вручную."; - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = ТекстСообщения; - СообщениеПользователю.Сообщить(); - Возврат ПустойКонтрагент; - КонецЕсли; - - ИНН = Организация.ИНН; - Если НЕ ЗначениеЗаполнено(ИНН) Тогда - Представление = Строка(Организация); - ТекстСообщения = "У организации (" + Представление + ") не заполнен ИНН.|" - + Подсказка + " не заполнен - выберите контрагента вручную."; - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = ТекстСообщения; - СообщениеПользователю.Сообщить(); - Возврат ПустойКонтрагент; - КонецЕсли; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | Контрагенты.Ссылка КАК Ссылка - |ИЗ - | Справочник.Контрагенты КАК Контрагенты - |ГДЕ - | Контрагенты.ИНН = &ИНН - | И НЕ Контрагенты.ПометкаУдаления"; - Запрос.УстановитьПараметр("ИНН", ИНН); - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - Представление = Строка(Организация); - ТекстСообщения = "Контрагент с ИНН " + ИНН + " (организация: " + Представление + ") не найден.|" - + Подсказка + " не заполнен - выберите контрагента вручную."; - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = ТекстСообщения; - СообщениеПользователю.Сообщить(); - Возврат ПустойКонтрагент; - КонецЕсли; - - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - ПервыйНайденный = Выборка.Ссылка; - - Если Выборка.Следующий() Тогда - Представление = Строка(Организация); - ТекстСообщения = "Найдено несколько контрагентов с ИНН " + ИНН + " (организация: " + Представление + ").|" - + Подсказка + " не заполнен - выберите контрагента вручную."; - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = ТекстСообщения; - СообщениеПользователю.Сообщить(); - Возврат ПустойКонтрагент; - КонецЕсли; - - Возврат ПервыйНайденный; - -КонецФункции - -// Обёртка для документов учёта родительской платы: возвращает контрагента ЦБ -// по константе ОрганизацияЦентрализованнаяБухгалтерия. -// -// Параметры: -// ИмяПоляПодсказки - Строка - имя реквизита формы/документа для сообщения. -// -// Возвращаемое значение: -// CatalogRef.Контрагенты - контрагент, соответствующий организации ЦБ, -// либо пустая ссылка (с сообщением пользователю). -// -Функция КонтрагентЦБПоУмолчанию(ИмяПоляПодсказки = "ЦБ (получатель)") Экспорт - - ОрганизацияЦБ = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить(); - Возврат КонтрагентПоОрганизации(ОрганизацияЦБ, ИмяПоляПодсказки); - -КонецФункции - -// Поиск организации, соответствующей контрагенту, по ИНН. -// -// Операция, обратная КонтрагентПоОрганизации. В документах начисления и передачи -// учреждение (сад) представлено ссылкой на справочник Организации, а в документах -// принятия, в регистре взаиморасчётов и в отборах пульта управления - ссылкой на -// справочник Контрагенты. Сопоставление выполняется по ИНН. -// -// Параметры: -// Контрагент - CatalogRef.Контрагенты - контрагент, для которого ищем организацию. -// ИмяПоляПодсказки - Строка - имя реквизита для сообщения пользователю. -// -// Возвращаемое значение: -// CatalogRef.Организации - если найдена ровно одна организация с ИНН контрагента. -// Пустая ссылка - в остальных случаях (нет ИНН / нет организации / найдено несколько). -// Причина выводится пользователю. -// -Функция ОрганизацияПоКонтрагенту(Контрагент, ИмяПоляПодсказки = "") Экспорт - - ПустаяОрганизация = Справочники.Организации.ПустаяСсылка(); - Если НЕ ЗначениеЗаполнено(Контрагент) Тогда - Возврат ПустаяОрганизация; - КонецЕсли; - - Подсказка = ?(ПустаяСтрока(ИмяПоляПодсказки), "Организация", - "Поле """ + ИмяПоляПодсказки + """"); - - // Сопоставление выполняем запросом по ИНН: прямое чтение реквизита заимствованного - // справочника Контрагенты в расширении не разбирается анализатором. - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | Организации.Ссылка КАК Ссылка - |ИЗ - | Справочник.Организации КАК Организации - | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты - | ПО Контрагенты.ИНН = Организации.ИНН - |ГДЕ - | Контрагенты.Ссылка = &Контрагент - | И НЕ Организации.ПометкаУдаления"; - Запрос.УстановитьПараметр("Контрагент", Контрагент); - - Представление = Строка(Контрагент); - - РезультатЗапроса = Запрос.Выполнить(); - Если РезультатЗапроса.Пустой() Тогда - ОбщегоНазначения.СообщитьПользователю( - "Не найдена организация с тем же ИНН, что у контрагента (" + Представление + ").|" - + Подсказка + " не определена - отбор по учреждению не применён."); - Возврат ПустаяОрганизация; - КонецЕсли; - - Выборка = РезультатЗапроса.Выбрать(); - Выборка.Следующий(); - ПервыйНайденный = Выборка.Ссылка; - - Если Выборка.Следующий() Тогда - ОбщегоНазначения.СообщитьПользователю( - "Найдено несколько организаций с тем же ИНН, что у контрагента (" + Представление + ").|" - + Подсказка + " не определена - отбор по учреждению не применён."); - Возврат ПустаяОрганизация; - КонецЕсли; - - Возврат ПервыйНайденный; - -КонецФункции - -#КонецОбласти diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl index 7d720e1..d7127fe 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_РазборПлатежейПоРодительскойПлате/Module.bsl @@ -59,6 +59,7 @@ // Второй проход: отбор строк, по которым ребёнок и его контрагент определены однозначно. СтрокиКЗаполнению = Новый Массив; Контрагенты = Новый Соответствие; + ОрганизацииКонтрагентов = Новый Соответствие; Для Каждого ДанныеПлатежа Из РазобранныеСтроки Цикл @@ -79,9 +80,13 @@ СтрокаКЗаполнению.СтрокаПлатежа = СтрокаПлатежа; СтрокаКЗаполнению.Ребенок = Ребенок.Ссылка; СтрокаКЗаполнению.Контрагент = Ребенок.Контрагент; + СтрокаКЗаполнению.Вставить("ЛицевойСчет", ДанныеПлатежа.ЛицевойСчет); СтрокиКЗаполнению.Добавить(СтрокаКЗаполнению); Контрагенты.Вставить(Ребенок.Контрагент, Истина); + // Договор ищется только по организации ребёнка: при переводе ребёнка из сада в сад + // у родителя остаются договоры прежних учреждений. + ОрганизацииКонтрагентов.Вставить(Ребенок.Контрагент, Ребенок.Организация); КонецЦикла; @@ -106,10 +111,15 @@ КонецЕсли; // Договоры определяются одним запросом сразу по всем контрагентам документа. - Договоры = ДоговорыПоКонтрагентам(Контрагенты, ДокументОбъект, СчетРасчетов); + Договоры = ДоговорыПоКонтрагентам(Контрагенты, ОрганизацииКонтрагентов, ДокументОбъект, СчетРасчетов); + + // КФО строк берётся из настройки лицевого счёта: раздел счёта -> допустимые КФО. + // Используется типовой механизм, поэтому выбор совпадает с поведением типовых форм: + // подставляется первое допустимое значение (наименьший порядок перечисления КВД). + КФОПоСчетам = КФОПоЛицевымСчетам(СтрокиКЗаполнению); Результат.Заполнено = Результат.Заполнено + ЗаполнитьСтрокиРасшифровки( - СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа); + СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа, КФОПоСчетам); Возврат Результат; @@ -123,14 +133,21 @@ // // Возвращаемое значение: // Структура - результат разбора: -// * ЛицевойСчет - Строка - распознанный лицевой счёт ребёнка; пустая строка, если не распознан; -// * ФИО - Строка - ФИО ребёнка из назначения платежа; пустая строка, если не распознано. +// * ЛицевойСчет - Строка - распознанный лицевой счёт ребёнка; пустая строка, если не распознан; +// * ФИО - Строка - ФИО ребёнка из назначения платежа; пустая строка, если не распознано; +// * Группа - Строка - группа детского сада (5-я часть назначения); пустая строка, если не распознана; +// * ПериодОплаты - Строка - период оплаты (6-я часть назначения, например "Июнь"); пустая строка, если не распознан; +// * РасчетныйСчет - Строка - лицевой счёт учреждения (2-я часть назначения, без префикса "л/с"); +// пустая строка, если не распознан. // Функция РазобратьНазначениеПлатежа(ТекстНазначения) Экспорт Результат = Новый Структура; Результат.Вставить("ЛицевойСчет", ""); Результат.Вставить("ФИО", ""); + Результат.Вставить("Группа", ""); + Результат.Вставить("ПериодОплаты", ""); + Результат.Вставить("РасчетныйСчет", ""); Если НЕ ЗначениеЗаполнено(ТекстНазначения) Тогда Возврат Результат; @@ -139,10 +156,55 @@ Результат.ЛицевойСчет = ОпределитьЛицевойСчетРебенка(ТекстНазначения); Результат.ФИО = ОпределитьФИОИзНазначения(ТекстНазначения); + // Разбор по частям: "учреждение,л/с учреждения,л/с ребёнка,ФИО,группа,период". + ЧастиНазначения = СтрРазделить(ТекстНазначения, ","); + Если ЧастиНазначения.Количество() >= 2 Тогда + Результат.РасчетныйСчет = УбратьПрефиксЛицевогоСчета(ЧастиНазначения[1]); + КонецЕсли; + Если ЧастиНазначения.Количество() >= 6 Тогда + Результат.Группа = СокрЛП(ЧастиНазначения[4]); + Результат.ПериодОплаты = СокрЛП(ЧастиНазначения[5]); + КонецЕсли; + Возврат Результат; КонецФункции +// Проверяет, есть ли в расшифровке платежа лицевые счета детей - признак платежа родительской платы. +// Применяется, когда признак "Родительская плата" не установлен: если лицевой счёт ребёнка распознан +// и найден в справочнике детей, платёж, скорее всего, относится к родительской плате. +// +// Параметры: +// ДокументОбъект - ДокументОбъект.КассовоеПоступление - проверяемый документ. +// +// Возвращаемое значение: +// Булево - Истина, если хотя бы один распознанный лицевой счёт найден в справочнике детей. +// +Функция ЕстьЛицевыеСчетаДетей(ДокументОбъект) Экспорт + + КодыПоиска = Новый Массив; + + Для Каждого СтрокаПлатежа Из ДокументОбъект.РасшифровкаПлатежа Цикл + + ДанныеПлатежа = РазобратьНазначениеПлатежа(СтрокаПлатежа.Примечание); + Если НЕ ЗначениеЗаполнено(ДанныеПлатежа.ЛицевойСчет) Тогда + Продолжить; + КонецЕсли; + + Для Каждого Код Из КодыПоискаРебенка(ДанныеПлатежа.ЛицевойСчет) Цикл + КодыПоиска.Добавить(Код); + КонецЦикла; + + КонецЦикла; + + Если КодыПоиска.Количество() = 0 Тогда + Возврат Ложь; + КонецЕсли; + + Возврат ДетиПоЛицевымСчетам(КодыПоиска).Количество() > 0; + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -151,6 +213,8 @@ // // Параметры: // Контрагенты - Соответствие из СправочникСсылка.Контрагенты, Булево - контрагенты (дети) документа. +// ОрганизацииКонтрагентов - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Организации - +// организация ребёнка по контрагенту. Пустая ссылка - отбор по организации не применяется. // ДокументОбъект - ДокументОбъект.КассовоеПоступление - документ, по дате и организации которого ищутся остатки. // СчетРасчетов - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы (205.31). // @@ -158,7 +222,7 @@ // Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры - договоры по контрагентам, // определённые однозначно. // -Функция ДоговорыПоКонтрагентам(Контрагенты, ДокументОбъект, СчетРасчетов) +Функция ДоговорыПоКонтрагентам(Контрагенты, ОрганизацииКонтрагентов, ДокументОбъект, СчетРасчетов) КонтрагентыМассив = Новый Массив; Для Каждого Элемент Из Контрагенты Цикл @@ -170,10 +234,12 @@ КоличествоДоговоров = Новый Соответствие; // 1. Договоры из остатков по счёту 205.31 - приоритетный источник. - ЗаполнитьДоговорыПоОстаткам20531(КонтрагентыМассив, ДокументОбъект, СчетРасчетов, Результат, Неоднозначные); + ЗаполнитьДоговорыПоОстаткам20531(КонтрагентыМассив, ОрганизацииКонтрагентов, ДокументОбъект, СчетРасчетов, + Результат, Неоднозначные); // 2. Для остальных контрагентов - единственный договор, отобранный по реквизиту "Контрагент". - ЗаполнитьДоговорыПоОтбору(КонтрагентыМассив, Результат, Неоднозначные, КоличествоДоговоров); + ЗаполнитьДоговорыПоОтбору(КонтрагентыМассив, ОрганизацииКонтрагентов, Результат, Неоднозначные, + КоличествоДоговоров); // 3. Диагностика по контрагентам, для которых договор определить не удалось. Для Каждого Элемент Из Контрагенты Цикл @@ -208,12 +274,15 @@ // // Параметры: // КонтрагентыМассив - Массив из СправочникСсылка.Контрагенты - контрагенты (дети), по которым ищутся остатки. +// ОрганизацииКонтрагентов - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Организации - +// организация ребёнка по контрагенту. Пустая ссылка - отбор по организации не применяется. // ДокументОбъект - ДокументОбъект.КассовоеПоступление - документ, по дате и организации которого ищутся остатки. // Счет20531 - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы (205.31). // Результат - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры - дополняется найденными договорами. // Неоднозначные - Соответствие из СправочникСсылка.Контрагенты, Булево - контрагенты с несколькими договорами в остатках. // -Процедура ЗаполнитьДоговорыПоОстаткам20531(КонтрагентыМассив, ДокументОбъект, Счет20531, Результат, Неоднозначные) +Процедура ЗаполнитьДоговорыПоОстаткам20531(КонтрагентыМассив, ОрганизацииКонтрагентов, ДокументОбъект, Счет20531, + Результат, Неоднозначные) Если НЕ ЗначениеЗаполнено(Счет20531) Тогда Возврат; @@ -229,15 +298,19 @@ Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Остатки.Субконто1 КАК Контрагент, - | Остатки.Субконто2 КАК Договор + | Остатки.Субконто2 КАК Договор, + | Договоры.Организация КАК Организация |ИЗ | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки( | &Дата, | Счет В ИЕРАРХИИ (&Счет20531), | &ВидыСубконто, | Организация = &Организация И Субконто1 В (&Контрагенты)) КАК Остатки + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Договоры КАК Договоры + | ПО Остатки.Субконто2 = Договоры.Ссылка |ГДЕ - | Остатки.СуммаОстаток <> 0"; + | Остатки.СуммаОстаток <> 0 + | И НЕ Договоры.ВАрхиве"; Запрос.УстановитьПараметр("Дата", ДокументОбъект.Дата); Запрос.УстановитьПараметр("Счет20531", Счет20531); Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто); @@ -251,6 +324,10 @@ Продолжить; КонецЕсли; + Если НЕ ОрганизацияДоговораПодходит(Выборка.Организация, ОрганизацииКонтрагентов[Выборка.Контрагент]) Тогда + Продолжить; + КонецЕсли; + НайденныйДоговор = Результат[Выборка.Контрагент]; Если НайденныйДоговор = Неопределено Тогда Результат.Вставить(Выборка.Контрагент, Выборка.Договор); @@ -263,24 +340,32 @@ КонецПроцедуры // Дополняет результат единственным договором, отобранным по реквизиту "Контрагент". +// Учитываются только действующие договоры (не помеченные на удаление и не находящиеся в архиве), +// организация договора должна совпадать с организацией ребёнка: при переводе ребёнка из сада в сад +// у родителя остаются договоры прежних учреждений. // // Параметры: // КонтрагентыМассив - Массив из СправочникСсылка.Контрагенты - контрагенты (дети), по которым отбираются договоры. +// ОрганизацииКонтрагентов - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Организации - +// организация ребёнка по контрагенту. Пустая ссылка - отбор по организации не применяется. // Результат - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры - дополняется найденными договорами. // Неоднозначные - Соответствие из СправочникСсылка.Контрагенты, Булево - контрагенты с неоднозначным договором. // КоличествоДоговоров - Соответствие из СправочникСсылка.Контрагенты, Число - количество найденных договоров. // -Процедура ЗаполнитьДоговорыПоОтбору(КонтрагентыМассив, Результат, Неоднозначные, КоличествоДоговоров) +Процедура ЗаполнитьДоговорыПоОтбору(КонтрагентыМассив, ОрганизацииКонтрагентов, Результат, Неоднозначные, + КоличествоДоговоров) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Договоры.Контрагент КАК Контрагент, - | Договоры.Ссылка КАК Договор + | Договоры.Ссылка КАК Договор, + | Договоры.Организация КАК Организация |ИЗ | Справочник.Договоры КАК Договоры |ГДЕ | НЕ Договоры.ПометкаУдаления + | И НЕ Договоры.ВАрхиве | И Договоры.Контрагент В (&Контрагенты) |УПОРЯДОЧИТЬ ПО | Договоры.Контрагент"; @@ -290,6 +375,10 @@ Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл + Если НЕ ОрганизацияДоговораПодходит(Выборка.Организация, ОрганизацииКонтрагентов[Выборка.Контрагент]) Тогда + Продолжить; + КонецЕсли; + ДоговорыКонтрагента = Найденные[Выборка.Контрагент]; Если ДоговорыКонтрагента = Неопределено Тогда ДоговорыКонтрагента = Новый Массив; @@ -313,6 +402,29 @@ КонецПроцедуры +// Проверяет, что договор относится к организации ребёнка. +// +// При переводе ребёнка из сада в сад по нему остаются договоры прежних учреждений, +// поэтому договор без проверки организации выбирается неверно. +// +// Параметры: +// ОрганизацияДоговора - СправочникСсылка.Организации - организация, указанная в договоре. +// ОрганизацияРебенка - СправочникСсылка.Организации - текущая организация ребёнка; +// пустая ссылка или Неопределено - отбор по организации не применяется. +// +// Возвращаемое значение: +// Булево - Истина, если договор подходит; Ложь - если относится к другой организации. +// +Функция ОрганизацияДоговораПодходит(ОрганизацияДоговора, ОрганизацияРебенка) + + Если НЕ ЗначениеЗаполнено(ОрганизацияРебенка) Тогда + Возврат Истина; + КонецЕсли; + + Возврат ОрганизацияДоговора = ОрганизацияРебенка; + +КонецФункции + // Заполняет реквизиты строк расшифровки платежа по результатам разбора назначения. // КОСГУ "000", проставленный типовой загрузкой реестров, заменяется принудительно; // остальные заполненные значения не перезаписываются. @@ -323,11 +435,14 @@ // договоры, определённые по контрагентам однозначно. // СчетРасчетов - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы. // КОСГУНазначениеПлатежа - СправочникСсылка.КОСГУ - КОСГУ назначения платежа. +// КФОПоСчетам - Соответствие из Строка, ПеречислениеСсылка.КВД - КФО по номерам +// лицевых счетов, см. КФОПоЛицевымСчетам. // // Возвращаемое значение: // Число - количество заполненных строк расшифровки платежа. // -Функция ЗаполнитьСтрокиРасшифровки(СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа) +Функция ЗаполнитьСтрокиРасшифровки(СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа, + КФОПоСчетам = Неопределено) // Типовая загрузка реестров прописывает в КОСГУ назначения платежа код "000" - // для родительской платы его нужно заменить принудительно. @@ -359,6 +474,10 @@ СтрокаРасшифровки.КОСГУНазначениеПлатежа = КОСГУНазначениеПлатежа; КонецЕсли; + Если НЕ ЗначениеЗаполнено(СтрокаРасшифровки.КФО) И КФОПоСчетам <> Неопределено Тогда + СтрокаРасшифровки.КФО = КФОСтрокиПоЛицевомуСчету(КФОПоСчетам, СтрокаКЗаполнению.ЛицевойСчет); + КонецЕсли; + Заполнено = Заполнено + 1; КонецЦикла; @@ -367,6 +486,108 @@ КонецФункции +// Определяет КФО для лицевых счетов строк документа. +// +// КФО задаётся на разделе лицевого счёта (табличная часть "Допустимые КФО"). Список допустимых +// значений получаем типовой функцией, она же упорядочивает их по порядку перечисления КВД. +// Как и в типовых формах, берётся первое допустимое значение: если у счёта разрешено несколько +// КФО, подставляется значение с наименьшим порядком, остальные бухгалтер может выбрать вручную. +// +// Параметры: +// СтрокиКЗаполнению - Массив из Структура - строки, по которым определён ребёнок и контрагент. +// +// Возвращаемое значение: +// Соответствие из Строка, ПеречислениеСсылка.КВД - КФО по номерам лицевых счетов, +// по которым допустимый КФО определён. +// +Функция КФОПоЛицевымСчетам(СтрокиКЗаполнению) + + Результат = Новый Соответствие; + + Коды = Новый Массив; + Для Каждого СтрокаКЗаполнению Из СтрокиКЗаполнению Цикл + Для Каждого Код Из КодыПоискаРебенка(СтрокаКЗаполнению.ЛицевойСчет) Цикл + Коды.Добавить(Код); + КонецЦикла; + КонецЦикла; + + Если Коды.Количество() = 0 Тогда + Возврат Результат; + КонецЕсли; + + Для Каждого ЛицевойСчет Из ЛицевыеСчетаПоКодам(Коды) Цикл + + ДопустимыеКФО = ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеКФО(, ЛицевойСчет.Значение); + Если ДопустимыеКФО.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Результат.Вставить(ЛицевойСчет.Ключ, ДопустимыеКФО[0]); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Возвращает КФО строки по номеру лицевого счёта, распознанному в назначении платежа. +// +// Параметры: +// КФОПоСчетам - Соответствие из Строка, ПеречислениеСсылка.КВД - КФО по номерам лицевых счетов. +// ЛицевойСчет - Строка - лицевой счёт, распознанный в назначении платежа. +// +// Возвращаемое значение: +// ПеречислениеСсылка.КВД - КФО строки; пустая ссылка, если КФО определить не удалось. +// +Функция КФОСтрокиПоЛицевомуСчету(КФОПоСчетам, ЛицевойСчет) + + Для Каждого Код Из КодыПоискаРебенка(ЛицевойСчет) Цикл + КФО = КФОПоСчетам[Код]; + Если КФО <> Неопределено Тогда + Возврат КФО; + КонецЕсли; + КонецЦикла; + + Возврат Перечисления.КВД.ПустаяСсылка(); + +КонецФункции + +// Возвращает лицевые счета по их номерам. +// +// Параметры: +// Коды - Массив из Строка - номера лицевых счетов (варианты написания). +// +// Возвращаемое значение: +// Соответствие из Строка, СправочникСсылка.ЛицевыеСчета - лицевые счета по номерам. +// +Функция ЛицевыеСчетаПоКодам(Коды) + + Результат = Новый Соответствие; + Если Коды.Количество() = 0 Тогда + Возврат Результат; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ЛицевыеСчета.Код КАК Код, + | ЛицевыеСчета.Ссылка КАК Ссылка + |ИЗ + | Справочник.ЛицевыеСчета КАК ЛицевыеСчета + |ГДЕ + | НЕ ЛицевыеСчета.ПометкаУдаления + | И ЛицевыеСчета.Код В (&Коды)"; + Запрос.УстановитьПараметр("Коды", Коды); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Результат.Вставить(СокрЛП(Выборка.Код), Выборка.Ссылка); + КонецЦикла; + + Возврат Результат; + +КонецФункции + // Определяет лицевой счёт ребёнка по тексту назначения платежа. // Лицевой счёт идёт после последнего вхождения "л/с" и может начинаться с буквы "Х" или "Г". // @@ -412,6 +633,29 @@ КонецФункции +// Убирает префикс "л/с" (в любом регистре и написании) из значения части назначения платежа. +// +// Параметры: +// Значение - Строка - часть назначения платежа, например "л/с 03003001079". +// +// Возвращаемое значение: +// Строка - значение без префикса и лишних пробелов. +// +Функция УбратьПрефиксЛицевогоСчета(Значение) + + Текст = СокрЛП(Значение); + ВерхнийРегистр = ВРЕГ(Текст); + + Если Лев(ВерхнийРегистр, 3) = "Л/С" Тогда + Возврат СокрЛП(Сред(Текст, 4)); + ИначеЕсли Лев(ВерхнийРегистр, 2) = "ЛС" Тогда + Возврат СокрЛП(Сред(Текст, 3)); + КонецЕсли; + + Возврат Текст; + +КонецФункции + // Возвращает ФИО ребёнка из текста назначения платежа (4-я часть, разделитель - запятая). // Для поиска используется пара "Фамилия Имя", как в реестрах. // @@ -488,7 +732,8 @@ | Дети.Код КАК Код, | Дети.Ссылка КАК Ссылка, | Дети.Наименование КАК Наименование, - | Дети.Контрагент КАК Контрагент + | Дети.Контрагент КАК Контрагент, + | Дети.Организация КАК Организация |ИЗ | Справочник.Дети КАК Дети |ГДЕ @@ -498,8 +743,12 @@ Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл - Результат.Вставить(СокрЛП(Выборка.Код), Новый Структура("Ссылка, Наименование, Контрагент", - Выборка.Ссылка, Выборка.Наименование, Выборка.Контрагент)); + Ребенок = Новый Структура; + Ребенок.Вставить("Ссылка", Выборка.Ссылка); + Ребенок.Вставить("Наименование", Выборка.Наименование); + Ребенок.Вставить("Контрагент", Выборка.Контрагент); + Ребенок.Вставить("Организация", Выборка.Организация); + Результат.Вставить(СокрЛП(Выборка.Код), Ребенок); КонецЦикла; Возврат Результат; diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl index 46b786d..8c233da 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonModules/ПС_УчетРодительскойПлаты/Module.bsl @@ -1,62 +1,9 @@ // ПС_УчетРодительскойПлаты: общая логика учёта родительской платы -// для документов ПС_ПередачаЗадолженностиВЦБ и ПС_ПринятиеЗадолженностиОтУчреждения. +// для документов ПС_ПередачаПоступившихПлатежейВУчреждения (ЦБ) и ПС_ПринятиеПоступившихПлатежейИзЦБ (учреждение). #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда #Область ПрограммныйИнтерфейс -// Заполняет КФО документа и КПС строк табличной части "Задолженность" реквизитами учёта, -// определёнными по проводкам документа-источника. -// -// КПС берётся со стороны счёта расчётов по доходам (205.31) - он переносится вместе -// с задолженностью, поэтому одинаков для дебета и кредита проводки передачи. -// -// Параметры: -// ДокументОбъект - ДокументОбъект.ПС_ПередачаЗадолженностиВЦБ, ДокументОбъект.ПС_ПринятиеЗадолженностиОтУчреждения - документ, реквизиты учёта которого заполняются. -// ДокументИсточник - ДокументСсылка.НачислениеРодительскойПлаты, ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ - проведённый документ, проводки которого используются как источник данных. -// -// Возвращаемое значение: -// Булево - Истина, если реквизиты заполнены; Ложь, если у документа-источника нет проводок по счёту расчётов по доходам. -// -Функция ЗаполнитьРеквизитыУчетаПоПроводкам(ДокументОбъект, ДокументИсточник) Экспорт - - Если НЕ ЗначениеЗаполнено(ДокументИсточник) Тогда - Возврат Ложь; - КонецЕсли; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ ПЕРВЫЕ 1 - | Проводки.КФО КАК КФО, - | ВЫБОР - | КОГДА Проводки.СчетДт.Код = ""205.31"" - | ТОГДА Проводки.КПСДт - | ИНАЧЕ Проводки.КПСКт - | КОНЕЦ КАК КПС - |ИЗ - | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто КАК Проводки - |ГДЕ - | Проводки.Регистратор = &ДокументИсточник - | И (Проводки.СчетДт.Код = ""205.31"" - | ИЛИ Проводки.СчетКт.Код = ""205.31"") - | - |УПОРЯДОЧИТЬ ПО - | Проводки.НомерСтроки"; - Запрос.УстановитьПараметр("ДокументИсточник", ДокументИсточник); - - Выборка = Запрос.Выполнить().Выбрать(); - Если НЕ Выборка.Следующий() Тогда - Возврат Ложь; - КонецЕсли; - - ДокументОбъект.КФО = Выборка.КФО; - Для Каждого СтрокаЗадолженности Из ДокументОбъект.Задолженность Цикл - СтрокаЗадолженности.КПС = Выборка.КПС; - КонецЦикла; - - Возврат Истина; - -КонецФункции - // Возвращает счёт, корреспондирующий со счётом расчётов по доходам (205.31), // по умолчанию: 304.04 (внутриведомственные расчёты). // @@ -94,15 +41,17 @@ // Формирует печатную форму извещения (ф. 0504805, ред. 103н) по документу подсистемы. // // Вёрстка и набор областей повторяют типовую печатную форму документа ИзвещениеИсходящее. -// Заполняется та сторона, от которой печатается извещение: для передачи задолженности - -// отправитель (учреждение), для принятия - получатель (централизованная бухгалтерия). -// Суммы и счета берутся из проводок документа, поэтому печатается только проведённый документ. +// Заполняется та сторона, от которой печатается извещение: для передачи поступивших платежей - +// отправитель (централизованная бухгалтерия), для принятия платежей - получатель (учреждение). +// Данные берутся из табличной части "Задолженность", поэтому печатается и непроведённый документ. // // Параметры: -// ДокументСсылка - ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ, ДокументСсылка.ПС_ПринятиеЗадолженностиОтУчреждения - печатаемый документ. +// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения, +// ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемый документ. // // Возвращаемое значение: -// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не записан, не проведён, нет проводок или не найден макет. +// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не записан, +// в нём нет строк или не найден макет. // Функция ПечатьИзвещения0504805(ДокументСсылка) Экспорт @@ -122,57 +71,587 @@ Возврат ТабличныйДокумент; КонецЕсли; - Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда - ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПередачаЗадолженностиВЦБ_Извещение0504805"; - Макет = Документы.ПС_ПередачаЗадолженностиВЦБ.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП"); - СторонаПечати = "Отправитель"; - Отправитель = ДокументОбъект.Организация; - Получатель = ДокументОбъект.ЦБ; - Пояснение = "Передача задолженности по родительской плате за " - + Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy") - + ". Основание: " + Строка(ДокументОбъект.ДокументНачисления) + "."; + Проводки = ДанныеИзвещенияПоРеестру(ДокументОбъект); + Если Проводки.Количество() = 0 Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма извещения не сформирована: в документе нет строк с платежами."); + Возврат ТабличныйДокумент; + КонецЕсли; + + Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ") Тогда + + // Учреждение принимает поступившие платежи из ЦБ: печатается сторона получателя. + ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПринятиеПоступившихПлатежейИзЦБ_Извещение0504805"; + Макет = Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП"); + Если Макет = Неопределено Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма извещения не сформирована: в документе не найден макет печатной формы."); + Возврат ТабличныйДокумент; + КонецЕсли; + + ДокументПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументСсылка, "ДокументПередачи").ДокументПередачи; + Отправитель = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачи, "Организация").Организация; + + ПараметрыИзвещения = НоваяСтруктураИзвещения("Получатель", Отправитель, + ДокументОбъект.Организация, + "Принятие поступивших платежей по родительской плате за " + + Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy") + + ". Основание: " + Строка(ДокументПередачи) + "."); + + ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, Проводки); + Иначе - ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПринятиеЗадолженности_Извещение0504805"; - Макет = Документы.ПС_ПринятиеЗадолженностиОтУчреждения.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель"); - СторонаПечати = "Получатель"; - Отправитель = ДокументОбъект.Учреждение; - Получатель = ДокументОбъект.Организация; - Пояснение = "Принятие задолженности по родительской плате за " - + Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy") - + ". Основание: " + Строка(ДокументОбъект.ДокументПередачи) + "."; + + // ЦБ передаёт поступившие платежи: печатается сторона отправителя. + // Документ адресный, поэтому извещение одно - по учреждению документа. + ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПередачаПоступившихПлатежейВУчреждения_Извещение0504805"; + Макет = Документы.ПС_ПередачаПоступившихПлатежейВУчреждения.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель"); + Если Макет = Неопределено Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма извещения не сформирована: в документе не найден макет печатной формы."); + Возврат ТабличныйДокумент; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ДокументОбъект.Учреждение) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма извещения не сформирована: не заполнено учреждение (получатель)."); + Возврат ТабличныйДокумент; + КонецЕсли; + + ПараметрыИзвещения = НоваяСтруктураИзвещения("Отправитель", ДокументОбъект.Организация, + ДокументОбъект.Учреждение, + "Передача поступивших платежей по родительской плате за " + + Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy") + + ". Основание: " + Строка(ДокументСсылка) + "."); + + ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, Проводки); + + КонецЕсли; + + УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, Новый СписокЗначений, ДокументСсылка); + + Возврат ТабличныйДокумент; + +КонецФункции + +// Формирует печатную форму реестра поступивших платежей по документу подсистемы. +// +// Реестр строится по табличной части "Задолженность" и не зависит от проводок документа, +// поэтому печатается и непроведённый документ. +// +// Параметры: +// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения, +// ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемый документ. +// +// Возвращаемое значение: +// ТабличныйДокумент - печатная форма реестра; пустой табличный документ, если документ +// не записан, не содержит строк или в документе нет макета. +// +Функция ПечатьРеестраПлатежей(ДокументСсылка) Экспорт + + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.АвтоМасштаб = Истина; + ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; + + Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма реестра не сформирована: документ не записан в базу." + + " Запишите документ и повторите печать."); + Возврат ТабличныйДокумент; + КонецЕсли; + + ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); + Если ДокументОбъект = Неопределено Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма реестра не сформирована: не удалось прочитать документ."); + Возврат ТабличныйДокумент; + КонецЕсли; + + Если ДокументОбъект.Задолженность.Количество() = 0 Тогда + ОбщегоНазначения.СообщитьПользователю( + "Печатная форма реестра не сформирована: в документе нет строк с платежами."); + Возврат ТабличныйДокумент; + КонецЕсли; + + // Макет общий для обоих документов: реестр у ЦБ и у сада одинаковый, + // поэтому сопровождается в одном месте - общем макете. + Макет = ПолучитьОбщийМакет("ПС_РеестрПлатежей"); + Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ") Тогда + Учреждение = ДокументОбъект.Организация; + Иначе + Учреждение = ДокументОбъект.Учреждение; КонецЕсли; Если Макет = Неопределено Тогда ОбщегоНазначения.СообщитьПользователю( - "Печатная форма извещения не сформирована: в документе не найден макет печатной формы."); + "Печатная форма реестра не сформирована: в документе не найден макет печатной формы."); Возврат ТабличныйДокумент; КонецЕсли; - Если НЕ ДокументОбъект.Проведен Тогда - ОбщегоНазначения.СообщитьПользователю( - "Печатная форма извещения формируется по проводкам документа, поэтому печатается" - + " только проведённый документ. Проведите документ и повторите печать."); - Возврат ТабличныйДокумент; + ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); + ОбластьЗаголовок.Параметры.ЗаголовокРеестра = + "Реестр поступивших платежей по родительской плате за " + + Формат(ДокументОбъект.Период, "ДФ='MMMM yyyy'"); + ОбластьЗаголовок.Параметры.РеквизитыДокумента = + "Документ № " + ДокументОбъект.Номер + " от " + Формат(ДокументОбъект.Дата, "ДЛФ=DD") + + ", " + Строка(Учреждение); + ТабличныйДокумент.Вывести(ОбластьЗаголовок); + + ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("ОбластьШапкаТаблицы")); + + ОбластьСтрока = Макет.ПолучитьОбласть("ОбластьСтрокаТаблицы"); + ИтогоСумма = 0; + Для Каждого СтрокаРеестра Из ДокументОбъект.Задолженность Цикл + ОбластьСтрока.Параметры.Плательщик = СтрокаРеестра.Контрагент; + ОбластьСтрока.Параметры.Сумма = СтрокаРеестра.Сумма; + ОбластьСтрока.Параметры.ЛицевойСчет = СтрокаРеестра.ЛицевойСчет; + ОбластьСтрока.Параметры.Ребенок = СтрокаРеестра.Ребенок; + ОбластьСтрока.Параметры.НазначениеПлатежа = СтрокаРеестра.НазначениеПлатежа; + ОбластьСтрока.Параметры.Организация = Учреждение; + ОбластьСтрока.Параметры.РассчетныйСчет = СтрокаРеестра.РасчетныйСчет; + ОбластьСтрока.Параметры.Группа = СтрокаРеестра.Группа; + ОбластьСтрока.Параметры.Период = СтрокаРеестра.ПериодОплаты; + ОбластьСтрока.Параметры.ДатаПлатежа = СтрокаРеестра.ДатаПлатежа; + ТабличныйДокумент.Вывести(ОбластьСтрока); + ИтогоСумма = ИтогоСумма + СтрокаРеестра.Сумма; + КонецЦикла; + + ОбластьПодвал = Макет.ПолучитьОбласть("ОбластьПодвалТаблицы"); + ОбластьПодвал.Параметры.ОбщаяСумма = ИтогоСумма; + ТабличныйДокумент.Вывести(ОбластьПодвал); + + Возврат ТабличныйДокумент; + +КонецФункции + +// Создаёт (или перезаполняет) исходящее извещение ф. 0504805 по документу передачи платежей. +// +// Извещение создаётся как обёртка: заполняются шапка и табличная часть "Передаваемые проводки" +// (она же данные печати), документ не проводится - бухгалтерские проводки остаются в документе +// передачи. Извещение служит носителем шапки, связей и данных для электронного документооборота. +// +// Параметры: +// ДокументПередачи - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ-основание. +// +// Возвращаемое значение: +// ДокументСсылка.ИзвещениеИсходящее - созданное или перезаполненное извещение; +// пустая ссылка, если извещение проведено. +// +Функция СоздатьИзвещениеПоПередаче(ДокументПередачи) Экспорт + + Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачи, + "Организация, Учреждение, ИФО, Период, Ответственный, ИзвещениеИсходящее"); + + ИзвещениеОбъект = Неопределено; + ЭтоНовоеИзвещение = Истина; + Если ЗначениеЗаполнено(Реквизиты.ИзвещениеИсходящее) Тогда + ИзвещениеОбъект = Реквизиты.ИзвещениеИсходящее.ПолучитьОбъект(); + ЭтоНовоеИзвещение = ИзвещениеОбъект = Неопределено; КонецЕсли; - Проводки = ПроводкиИзвещения(ДокументСсылка); - Если Проводки.Количество() = 0 Тогда + Если ЭтоНовоеИзвещение Тогда + ИзвещениеОбъект = Документы.ИзвещениеИсходящее.СоздатьДокумент(); + ИначеЕсли ИзвещениеОбъект.ПомеченНаУдаление Тогда ОбщегоНазначения.СообщитьПользователю( - "По документу не найдено проводок в регистре бухгалтерии - печатная форма" - + " извещения не сформирована."); - Возврат ТабличныйДокумент; + "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " помечено на удаление: изменения в него не вносятся." + + " Снимите пометку удаления или отвяжите извещение от документа передачи."); + Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка(); + ИначеЕсли ИзвещениеОбъект.Проведен Тогда + ОбщегоНазначения.СообщитьПользователю( + "Извещение " + Строка(ИзвещениеОбъект.Ссылка) + " проведено: изменения в него не вносятся." + + " Распроведите извещение или отвяжите его от документа передачи."); + Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка(); КонецЕсли; + Если ЭтоНовоеИзвещение Тогда + ИзвещениеОбъект.Дата = ТекущаяДатаСеанса(); + КонецЕсли; + ИзвещениеОбъект.Организация = Реквизиты.Организация; + ИзвещениеОбъект.Получатель = КонтрагентПоОрганизации(Реквизиты.Учреждение); + ИзвещениеОбъект.ВидИзвещения = Перечисления.ВидыОперацийИсходящееИзвещение.ПолучениеДохода; + ИзвещениеОбъект.ИФО = Реквизиты.ИФО; + ИзвещениеОбъект.Ответственный = Реквизиты.Ответственный; + ИзвещениеОбъект.Комментарий = + "Передача поступивших платежей по родительской плате за " + + Формат(Реквизиты.Период, "ДФ='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].Контрагент; + КонецЕсли; + КонецЕсли; + + Возврат Справочники.Контрагенты.ПустаяСсылка(); + +КонецФункции + +// Оставляет кандидатов с указанным значением реквизита. +// +// Параметры: +// Кандидаты - Массив из Структура - кандидаты. +// ИмяРеквизита - Строка - имя реквизита структуры-кандидата. +// Значение - Произвольный - требуемое значение реквизита. +// +// Возвращаемое значение: +// Массив из Структура - отобранные кандидаты. +// +Функция ОтобратьПоРеквизиту(Кандидаты, ИмяРеквизита, Значение) + + Отобрано = Новый Массив; + Для Каждого Кандидат Из Кандидаты Цикл + Если Кандидат[ИмяРеквизита] = Значение Тогда + Отобрано.Добавить(Кандидат); + КонецЕсли; + КонецЦикла; + + Возврат Отобрано; + +КонецФункции + +// Формирует структуру параметров одного извещения для вывода. +// +// Параметры: +// СторонаПечати - Строка - "Отправитель" или "Получатель". +// Отправитель - СправочникСсылка.Организации, СправочникСсылка.Контрагенты - отправитель извещения. +// Получатель - СправочникСсылка.Организации, СправочникСсылка.Контрагенты - получатель извещения. +// Пояснение - Строка - пояснение к извещению. +// +// Возвращаемое значение: +// Структура - параметры извещения. +// +Функция НоваяСтруктураИзвещения(СторонаПечати, Отправитель, Получатель, Пояснение) + + ПараметрыИзвещения = Новый Структура; + ПараметрыИзвещения.Вставить("СторонаПечати", СторонаПечати); + ПараметрыИзвещения.Вставить("Отправитель", Отправитель); + ПараметрыИзвещения.Вставить("Получатель", Получатель); + ПараметрыИзвещения.Вставить("Пояснение", Пояснение); + + Возврат ПараметрыИзвещения; + +КонецФункции + +// Выводит в табличный документ одно извещение по переданным данным. +// +// Параметры: +// ТабличныйДокумент - ТабличныйДокумент - печатная форма, в которую выводится извещение. +// Макет - ТабличныйДокумент - макет печатной формы извещения. +// ДокументСсылка - ДокументСсылка - печатаемый документ. +// ДокументОбъект - ДокументОбъект - печатаемый документ. +// ПараметрыИзвещения - Структура - параметры извещения, см. НоваяСтруктураИзвещения. +// Проводки - ТаблицаЗначений - данные извещения, см. ДанныеИзвещенияПоРеестру. +// +Процедура ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, Проводки) + + СторонаПечати = ПараметрыИзвещения.СторонаПечати; + ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.Номер = РегистрыСведений.НастройкиПечатиПрефиксаНомера .ПолучитьНомерДляПечатиПоСсылкеИдентификаторуДокумента(ДокументСсылка, ДокументОбъект.Номер); ОбластьЗаголовок.Параметры.Дата = ДокументОбъект.Дата; - ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Отправитель", Отправитель); - ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Получатель", Получатель); + ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Отправитель", ПараметрыИзвещения.Отправитель); + ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Получатель", ПараметрыИзвещения.Получатель); ТабличныйДокумент.Вывести(ОбластьЗаголовок); ОбластьПояснение = Макет.ПолучитьОбласть("ПояснениеМБТ"); - ОбластьПояснение.Параметры.ПояснениеМБТ = Пояснение; + ОбластьПояснение.Параметры.ПояснениеМБТ = ПараметрыИзвещения.Пояснение; ТабличныйДокумент.Вывести(ОбластьПояснение); ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("Шапка")); @@ -203,15 +682,7 @@ ЗаполнитьПодписиСтороны(ОбластьПодвал.Параметры, СторонаПечати, ДокументОбъект); ТабличныйДокумент.Вывести(ОбластьПодвал); - УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, Новый СписокЗначений, ДокументСсылка); - - Возврат ТабличныйДокумент; - -КонецФункции - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции +КонецПроцедуры // Заполняет реквизиты стороны извещения (отправителя или получателя) для области "Заголовок". // @@ -387,43 +858,105 @@ КонецФункции -// Возвращает проводки документа по данным регистра бухгалтерии. +// Возвращает идентификатор строки поступления для регистра взаиморасчётов. +// +// Идентификатор связывает строку табличной части "Задолженность" наших документов +// со строкой расшифровки платежа кассового поступления: ":<номер строки>". +// Длина не должна превышать 50 символов (измерение регистра и реквизит табличных частей). // // Параметры: -// ДокументСсылка - ДокументСсылка - печатаемый документ. +// ДокументСсылка - ДокументСсылка.КассовоеПоступление - документ поступления. +// НомерСтроки - Число - номер строки табличной части "Расшифровка платежа". +// +// Возвращаемое значение: +// Строка +// +Функция ИдентификаторСтрокиПоступления(ДокументСсылка, НомерСтроки) Экспорт + + Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда + Возврат ""; + КонецЕсли; + + Возврат Строка(ДокументСсылка.УникальныйИдентификатор()) + ":" + Формат(НомерСтроки, "ЧГ=0"); + +КонецФункции + +// Возвращает данные извещения по строкам табличной части "Задолженность". +// +// Извещение не имеет собственных проводок: строки отражают операцию зачисления в доход +// бюджета (Дт 303.05, КЭК 831 - Кт 205.31, КЭК 660), которую выполняет документ подсистемы. +// КПС берётся из строки реестра, КФО - из шапки документа. +// +// Параметры: +// ДокументОбъект - ДокументОбъект - печатаемый документ. // // Возвращаемое значение: // ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма, Содержание. // -Функция ПроводкиИзвещения(ДокументСсылка) +Функция ДанныеИзвещенияПоРеестру(ДокументОбъект) - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | Проводки.СчетДт КАК СчетДт, - | Проводки.КПСДт КАК КПСДт, - | Проводки.КЭКДт КАК КЭКДт, - | Проводки.СчетКт КАК СчетКт, - | Проводки.КПСКт КАК КПСКт, - | Проводки.КЭККт КАК КЭККт, - | Проводки.КФО КАК КФО, - | Проводки.Сумма КАК Сумма, - | Проводки.Содержание КАК Содержание - |ИЗ - | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто(, , Регистратор = &ДокументСсылка) КАК Проводки - | - |УПОРЯДОЧИТЬ ПО - | Проводки.НомерСтроки"; - Запрос.УстановитьПараметр("ДокументСсылка", ДокументСсылка); + Данные = Новый ТаблицаЗначений; + Данные.Колонки.Добавить("СчетДт"); + Данные.Колонки.Добавить("КПСДт"); + Данные.Колонки.Добавить("КЭКДт"); + Данные.Колонки.Добавить("СчетКт"); + Данные.Колонки.Добавить("КПСКт"); + Данные.Колонки.Добавить("КЭККт"); + Данные.Колонки.Добавить("КФО"); + Данные.Колонки.Добавить("Сумма"); + Данные.Колонки.Добавить("Содержание"); - Возврат Запрос.Выполнить().Выгрузить(); + СчетДт = ПланыСчетов.ЕПСБУ.НайтиПоКоду("303.05"); + СчетКт = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31"); + КЭКДт = Справочники.КОСГУ.НайтиПоКоду("831"); + КЭККт = Справочники.КОСГУ.НайтиПоКоду("660"); + + Для Каждого СтрокаРеестра Из ДокументОбъект.Задолженность Цикл + СтрокаДанных = Данные.Добавить(); + СтрокаДанных.СчетДт = СчетДт; + СтрокаДанных.КПСДт = СтрокаРеестра.КПС; + СтрокаДанных.КЭКДт = КЭКДт; + СтрокаДанных.СчетКт = СчетКт; + СтрокаДанных.КПСКт = СтрокаРеестра.КПС; + СтрокаДанных.КЭККт = КЭККт; + СтрокаДанных.КФО = ДокументОбъект.КФО; + СтрокаДанных.Сумма = СтрокаРеестра.Сумма; + СтрокаДанных.Содержание = СодержаниеСтрокиИзвещения(СтрокаРеестра); + КонецЦикла; + + Возврат Данные; + +КонецФункции + +// Формирует текст содержания строки извещения. +// +// Параметры: +// СтрокаРеестра - СтрокаТаблицыЗначений - строка табличной части "Задолженность". +// +// Возвращаемое значение: +// Строка +// +Функция СодержаниеСтрокиИзвещения(СтрокаРеестра) + + ЧастиСодержания = Новый Массив; + Если ЗначениеЗаполнено(СтрокаРеестра.Ребенок) Тогда + ЧастиСодержания.Добавить("Ребенок: " + Строка(СтрокаРеестра.Ребенок)); + КонецЕсли; + Если ЗначениеЗаполнено(СтрокаРеестра.Договор) Тогда + ЧастиСодержания.Добавить("Договор: " + Строка(СтрокаРеестра.Договор)); + КонецЕсли; + Если ЗначениеЗаполнено(СтрокаРеестра.ПериодОплаты) Тогда + ЧастиСодержания.Добавить("Период: " + СтрокаРеестра.ПериодОплаты); + КонецЕсли; + + Возврат СтрСоединить(ЧастиСодержания, "; "); КонецФункции // Сворачивает проводки по счетам для раздела "Обороты в журнал операций". // // Параметры: -// Проводки - ТаблицаЗначений - проводки документа, см. ПроводкиИзвещения. +// Проводки - ТаблицаЗначений - данные извещения, см. ДанныеИзвещенияПоРеестру. // // Возвращаемое значение: // ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма. diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Заставка_Родительская_Плата/ПС_Заставка_Родительская_Плата.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Заставка_Родительская_Плата/ПС_Заставка_Родительская_Плата.mdo new file mode 100644 index 0000000..cebfcfe --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Заставка_Родительская_Плата/ПС_Заставка_Родительская_Плата.mdo @@ -0,0 +1,8 @@ + + + ПС_Заставка_Родительская_Плата + + ru + Заставка родительская плата + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Лого_Родительская_Плата/Picture.png b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Лого_Родительская_Плата/Picture.png new file mode 100644 index 0000000..3e2acf9 Binary files /dev/null and b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Лого_Родительская_Плата/Picture.png differ diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Лого_Родительская_Плата/ПС_Лого_Родительская_Плата.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Лого_Родительская_Плата/ПС_Лого_Родительская_Плата.mdo new file mode 100644 index 0000000..fcc6792 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonPictures/ПС_Лого_Родительская_Плата/ПС_Лого_Родительская_Плата.mdo @@ -0,0 +1,8 @@ + + + ПС_Лого_Родительская_Плата + + ru + Лого родительская плата + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/Template.mxlx new file mode 100644 index 0000000..37be51f --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/Template.mxlx @@ -0,0 +1,587 @@ + + + + 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 + Период + + + + + 20 + ДатаПлатежа + + + + + + 5 + + true + + + + 6 + + c4c71b73-7783-4619-abbc-ece4486e4bdb + + + 21 + + + ru + ИТОГО: + + + + + + + 22 + ОбщаяСумма + + + + + true + 23 + 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 + + + + + + 846 + + + 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 + + + + + 0 + 0 + Center + Wrap + Parameter + + + ru + ДФ=dd.MM.yyyy + + + + + 1 + + + 1 + 0 + Center + Parameter + + + ru + ЧДЦ=2 + + + + + 72 + + \ No newline at end of file diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/ПС_РеестрПлатежей.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/CommonTemplates/ПС_РеестрПлатежей/ПС_РеестрПлатежей.mdo new file mode 100644 index 0000000..39cb664 --- /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 4e79839..7dc1313 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Configuration.mdo @@ -11,6 +11,8 @@ Checked Checked Checked + Extended + Extended Extended @@ -22,13 +24,16 @@ true ПС_ - 8.3.14 + 8.3.24 Customization ManagedApplication PersonalComputer Russian Role.ПС_ОсновнаяРоль + 1.0.4 Language.Русский + + TaxiEnableVersion8_2 Русский @@ -51,13 +56,22 @@ CommonPicture.ОтменитьДействие CommonPicture.ПовторитьДействие CommonPicture.Сумма + CommonPicture.ПС_Лого_Родительская_Плата + CommonPicture.ПС_Заставка_Родительская_Плата Role.ПС_ОсновнаяРоль Role.БазовыеПраваБГУ - CommonModule.ПС_РаботаСКонтрагентами + Role.ПС_ЧтениеРодительскойПлаты + Role.ПС_ЗаписьРодительскойПлаты + CommonTemplate.ПС_РеестрПлатежей CommonModule.ПС_УчетРодительскойПлаты CommonModule.ПС_РазборПлатежейПоРодительскойПлате CommonModule.ВариантыОтчетовПереопределяемый + CommonModule.ВнутренниеЭлектронныеДокументыБГУ + CommonModule.ВнутреннийЭДОПереопределяемый + CommonModule.ПС_ВнутреннийЭДОИзвещений + CommonModule.ПС_ИдентификаторыОбъектовЭДО SettingsStorage.ХранилищеВариантовОтчетов + DefinedType.ОснованиеВнутреннегоЭлектронногоДокумента CommonForm.УстановкаСтатусаПлатежноРасчетногоДокумента Catalog.Контрагенты Catalog.Договоры @@ -71,10 +85,13 @@ Catalog.ИсточникиФинансовогоОбеспечения Catalog.Пользователи Catalog.КОСГУ + Catalog.ВидыНалоговИПлатежей Document.НачислениеРодительскойПлаты - Document.ПС_ПередачаЗадолженностиВЦБ - Document.ПС_ПринятиеЗадолженностиОтУчреждения + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ + Document.ПС_ПередачаПоступившихПлатежейВУчреждения Document.КассовоеПоступление + Document.ИзвещениеИсходящее + Document.ИзвещениеВходящее Enum.КВД Enum.ПС_ВидыОперацийПоВзаиморасчетам Report.ПС_ВедомостьЦБПоРодительскойПлате diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Logo.png b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Logo.png new file mode 100644 index 0000000..df0177b Binary files /dev/null and b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Logo.png differ diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Splash.png b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Splash.png new file mode 100644 index 0000000..03e1867 Binary files /dev/null and b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Configuration/Splash.png differ diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Form.form b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Form.form index bbfeaf5..76c5480 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Form.form +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Form.form @@ -22,6 +22,10 @@ Объект.Период + + OnChange + ПериодПриИзменении + ПолеПериодРасширеннаяПодсказка 13 @@ -67,6 +71,10 @@ Объект.Организация + + OnChange + ОрганизацияПриИзменении + ПолеОрганизацияРасширеннаяПодсказка 16 @@ -112,6 +120,10 @@ Объект.ИФО + + OnChange + ИФОПриИзменении + ПолеИФОРасширеннаяПодсказка 19 @@ -157,6 +169,10 @@ Объект.Учреждение + + OnChange + УчреждениеПриИзменении + ПолеУчреждениеРасширеннаяПодсказка 307 @@ -282,9 +298,568 @@ СтраницаДокументы 5 + + ТаблицаДокументыПередачи + 61 + + <key>ru</key> + <value>Передачи поступивших платежей в учреждения</value> + + + Style.FieldSelectionBackColor + + + Style.NormalTextFont + true + + true + true + + true + + + ДокументыПередачи + + Top + + ТаблицаДокументыПередачиСсылка + 367 + true + true + + true + + + ДокументыПередачи.Ссылка + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиСсылкаРасширеннаяПодсказка + 369 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиСсылкаКонтекстноеМеню + 368 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиДата + 370 + true + true + + true + + + ДокументыПередачи.Дата + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиДатаРасширеннаяПодсказка + 372 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиДатаКонтекстноеМеню + 371 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиНомер + 373 + true + true + + true + + + ДокументыПередачи.Номер + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиНомерРасширеннаяПодсказка + 375 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиНомерКонтекстноеМеню + 374 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиОрганизация + 376 + + <key>ru</key> + <value>ЦБ</value> + + true + true + + true + + + ДокументыПередачи.Организация + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиОрганизацияРасширеннаяПодсказка + 378 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиОрганизацияКонтекстноеМеню + 377 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиУчреждение + 526 + + <key>ru</key> + <value>Учреждение (сад)</value> + + true + true + + true + + + ДокументыПередачи.Учреждение + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиУчреждениеРасширеннаяПодсказка + 528 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиУчреждениеКонтекстноеМеню + 527 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиСуммаДокумента + 379 + true + true + + true + + + ДокументыПередачи.СуммаДокумента + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиСуммаДокументаРасширеннаяПодсказка + 381 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиСуммаДокументаКонтекстноеМеню + 380 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиИФО + 382 + true + true + + true + + + ДокументыПередачи.ИФО + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиИФОРасширеннаяПодсказка + 384 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиИФОКонтекстноеМеню + 383 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиПериод + 385 + true + true + + true + + + ДокументыПередачи.Период + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиПериодРасширеннаяПодсказка + 387 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиПериодКонтекстноеМеню + 386 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПередачиПроведен + 388 + true + true + + true + + + ДокументыПередачи.Проведен + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиПроведенРасширеннаяПодсказка + 390 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиПроведенКонтекстноеМеню + 389 + true + + CheckBoxField + Auto + true + Left + true + + + + ТаблицаДокументыПередачиПометкаУдаления + 391 + true + true + + true + + + ДокументыПередачи.ПометкаУдаления + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиПометкаУдаленияРасширеннаяПодсказка + 393 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиТаблицаДокументыПередачиПометкаУдаленияКонтекстноеМеню + 392 + true + + CheckBoxField + Auto + true + Left + true + + + + ТаблицаДокументыПередачиКоманднаяПанель + 62 + Left + true + + + OnActivateRow + ТаблицаДокументыПередачиПриАктивизацииСтроки + + + ТаблицаДокументыПередачиСтрокаПоиска + 65 + + ТаблицаДокументыПередачиСтрокаПоискаРасширеннаяПодсказка + 67 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиСтрокаПоискаКонтекстноеМеню + 66 + true + + ТаблицаДокументыПередачи + + true + + + + ТаблицаДокументыПередачиСостояниеПросмотра + 71 + + ТаблицаДокументыПередачиСостояниеПросмотраРасширеннаяПодсказка + 73 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиСостояниеПросмотраКонтекстноеМеню + 72 + true + + ViewStatusAddition + ТаблицаДокументыПередачи + + true + + + + ТаблицаДокументыПередачиУправлениеПоиском + 68 + + ТаблицаДокументыПередачиУправлениеПоискомРасширеннаяПодсказка + 70 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиУправлениеПоискомКонтекстноеМеню + 69 + true + + SearchControlAddition + ТаблицаДокументыПередачи + + true + + + + ТаблицаДокументыПередачиРасширеннаяПодсказка + 64 + Label + true + true + + Left + + + + ТаблицаДокументыПередачиКонтекстноеМеню + 63 + true + + true + true + true + true + true + MultiRow + Auto +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + true + AsFileRef + true + + true +
ТаблицаДокументыПринятия 104 + + <key>ru</key> + <value>Принятия поступивших платежей из ЦБ</value> + + + Style.FieldSelectionBackColor + + + Style.NormalTextFont + true + true true @@ -293,10 +868,10 @@ ДокументыПринятия - None + Top - ТаблицаДокументыПринятияТаблицаДокументыПринятия - 117 + ТаблицаДокументыПринятияСсылка + 394 true true @@ -306,8 +881,8 @@ ДокументыПринятия.Ссылка - ТаблицаДокументыПринятияТаблицаДокументыПринятияРасширеннаяПодсказка - 119 + ТаблицаДокументыПринятияТаблицаДокументыПринятияСсылкаРасширеннаяПодсказка + 396 Label true true @@ -316,8 +891,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятияКонтекстноеМеню - 118 + ТаблицаДокументыПринятияТаблицаДокументыПринятияСсылкаКонтекстноеМеню + 395 true InputField @@ -336,8 +911,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия1 - 120 + ТаблицаДокументыПринятияДата + 397 true true @@ -347,8 +922,8 @@ ДокументыПринятия.Дата - ТаблицаДокументыПринятияТаблицаДокументыПринятия1РасширеннаяПодсказка - 122 + ТаблицаДокументыПринятияТаблицаДокументыПринятияДатаРасширеннаяПодсказка + 399 Label true true @@ -357,8 +932,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия1КонтекстноеМеню - 121 + ТаблицаДокументыПринятияТаблицаДокументыПринятияДатаКонтекстноеМеню + 398 true InputField @@ -377,8 +952,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия2 - 123 + ТаблицаДокументыПринятияНомер + 400 true true @@ -388,8 +963,8 @@ ДокументыПринятия.Номер - ТаблицаДокументыПринятияТаблицаДокументыПринятия2РасширеннаяПодсказка - 125 + ТаблицаДокументыПринятияТаблицаДокументыПринятияНомерРасширеннаяПодсказка + 402 Label true true @@ -398,8 +973,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия2КонтекстноеМеню - 124 + ТаблицаДокументыПринятияТаблицаДокументыПринятияНомерКонтекстноеМеню + 401 true InputField @@ -418,8 +993,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия3 - 126 + ТаблицаДокументыПринятияОрганизация + 403 true true @@ -429,8 +1004,8 @@ ДокументыПринятия.Организация - ТаблицаДокументыПринятияТаблицаДокументыПринятия3РасширеннаяПодсказка - 128 + ТаблицаДокументыПринятияТаблицаДокументыПринятияОрганизацияРасширеннаяПодсказка + 405 Label true true @@ -439,8 +1014,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия3КонтекстноеМеню - 127 + ТаблицаДокументыПринятияТаблицаДокументыПринятияОрганизацияКонтекстноеМеню + 404 true InputField @@ -459,197 +1034,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия4 - 129 - true - true - - true - - - ДокументыПринятия.Учреждение - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия4РасширеннаяПодсказка - 131 - Label - true - true - - Left - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия4КонтекстноеМеню - 130 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия5 - 132 - true - true - - true - - - ДокументыПринятия.ИФО - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия5РасширеннаяПодсказка - 134 - Label - true - true - - Left - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия5КонтекстноеМеню - 133 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия6 - 135 - true - true - - true - - - ДокументыПринятия.Период - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия6РасширеннаяПодсказка - 137 - Label - true - true - - Left - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия6КонтекстноеМеню - 136 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия7 - 138 - true - true - - true - - - ДокументыПринятия.Проведен - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия7РасширеннаяПодсказка - 140 - Label - true - true - - Left - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия7КонтекстноеМеню - 139 - true - - CheckBoxField - Auto - true - Left - true - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия8 - 141 - true - true - - true - - - ДокументыПринятия.ПометкаУдаления - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия8РасширеннаяПодсказка - 143 - Label - true - true - - Left - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия8КонтекстноеМеню - 142 - true - - CheckBoxField - Auto - true - Left - true - - - - ТаблицаДокументыПринятияТаблицаДокументыПринятия9 - 144 + ТаблицаДокументыПринятияСуммаДокумента + 406 true true @@ -659,8 +1045,8 @@ ДокументыПринятия.СуммаДокумента - ТаблицаДокументыПринятияТаблицаДокументыПринятия9РасширеннаяПодсказка - 146 + ТаблицаДокументыПринятияТаблицаДокументыПринятияСуммаДокументаРасширеннаяПодсказка + 408 Label true true @@ -669,8 +1055,8 @@ - ТаблицаДокументыПринятияТаблицаДокументыПринятия9КонтекстноеМеню - 145 + ТаблицаДокументыПринятияТаблицаДокументыПринятияСуммаДокументаКонтекстноеМеню + 407 true InputField @@ -689,23 +1075,19 @@ - ДокументыПринятияПередачаСальдо - 313 - - <key>ru</key> - <value>Начальное сальдо</value> - + ТаблицаДокументыПринятияИФО + 409 true true true - ДокументыПринятия.ПередачаСальдо + ДокументыПринятия.ИФО - ТаблицаДокументыПринятияДокументыПринятияПередачаСальдоРасширеннаяПодсказка - 315 + ТаблицаДокументыПринятияТаблицаДокументыПринятияИФОРасширеннаяПодсказка + 411 Label true true @@ -714,8 +1096,90 @@ - ТаблицаДокументыПринятияДокументыПринятияПередачаСальдоКонтекстноеМеню - 314 + ТаблицаДокументыПринятияТаблицаДокументыПринятияИФОКонтекстноеМеню + 410 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПринятияПериод + 412 + true + true + + true + + + ДокументыПринятия.Период + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияПериодРасширеннаяПодсказка + 414 + Label + true + true + + Left + + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияПериодКонтекстноеМеню + 413 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДокументыПринятияПроведен + 415 + true + true + + true + + + ДокументыПринятия.Проведен + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияПроведенРасширеннаяПодсказка + 417 + Label + true + true + + Left + + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияПроведенКонтекстноеМеню + 416 true CheckBoxField @@ -725,6 +1189,120 @@ true + + ТаблицаДокументыПринятияПометкаУдаления + 418 + true + true + + true + + + ДокументыПринятия.ПометкаУдаления + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияПометкаУдаленияРасширеннаяПодсказка + 420 + Label + true + true + + Left + + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияПометкаУдаленияКонтекстноеМеню + 419 + true + + CheckBoxField + Auto + true + Left + true + + + + ТаблицаДокументыПринятияЦБ + 421 + true + true + + true + + + ДокументыПринятия.ЦБ + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияЦБРасширеннаяПодсказка + 423 + Label + true + true + + Left + + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияЦБКонтекстноеМеню + 422 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + Normal + + + + ТаблицаДокументыПринятияДокументПередачи + 424 + true + true + + true + + + ДокументыПринятия.ДокументПередачи + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияДокументПередачиРасширеннаяПодсказка + 426 + Label + true + true + + Left + + + + ТаблицаДокументыПринятияТаблицаДокументыПринятияДокументПередачиКонтекстноеМеню + 425 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + ТаблицаДокументыПринятияКоманднаяПанель 105 @@ -844,568 +1422,6 @@ true - - ТаблицаДокументыПередачи - 61 - true - true - - true - - - ДокументыПередачи - - None - - ТаблицаДокументыПередачиТаблицаДокументыПередачи - 74 - true - true - - true - - - ДокументыПередачи.Ссылка - - - ТаблицаДокументыПередачиТаблицаДокументыПередачиРасширеннаяПодсказка - 76 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачиКонтекстноеМеню - 75 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи1 - 77 - true - true - - true - - - ДокументыПередачи.Дата - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи1РасширеннаяПодсказка - 79 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи1КонтекстноеМеню - 78 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи2 - 80 - true - true - - true - - - ДокументыПередачи.Номер - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи2РасширеннаяПодсказка - 82 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи2КонтекстноеМеню - 81 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи3 - 83 - true - true - - true - - - ДокументыПередачи.Организация - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи3РасширеннаяПодсказка - 85 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи3КонтекстноеМеню - 84 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи4 - 86 - true - true - - true - - - ДокументыПередачи.ЦБ - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи4РасширеннаяПодсказка - 88 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи4КонтекстноеМеню - 87 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи5 - 89 - true - true - - true - - - ДокументыПередачи.ИФО - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи5РасширеннаяПодсказка - 91 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи5КонтекстноеМеню - 90 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи6 - 92 - true - true - - true - - - ДокументыПередачи.Период - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи6РасширеннаяПодсказка - 94 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи6КонтекстноеМеню - 93 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи7 - 95 - true - true - - true - - - ДокументыПередачи.СуммаДокумента - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи7РасширеннаяПодсказка - 97 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи7КонтекстноеМеню - 96 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи8 - 98 - true - true - - true - - - ДокументыПередачи.Проведен - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи8РасширеннаяПодсказка - 100 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи8КонтекстноеМеню - 99 - true - - CheckBoxField - Auto - true - Left - true - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи9 - 101 - true - true - - true - - - ДокументыПередачи.ПометкаУдаления - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи9РасширеннаяПодсказка - 103 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиТаблицаДокументыПередачи9КонтекстноеМеню - 102 - true - - CheckBoxField - Auto - true - Left - true - - - - ДокументыПередачиПередачаСальдо - 310 - - <key>ru</key> - <value>Начальное сальдо</value> - - true - true - - true - - - ДокументыПередачи.ПередачаСальдо - - - ТаблицаДокументыПередачиДокументыПередачиПередачаСальдоРасширеннаяПодсказка - 312 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиДокументыПередачиПередачаСальдоКонтекстноеМеню - 311 - true - - CheckBoxField - Auto - true - Left - true - - - - ТаблицаДокументыПередачиКоманднаяПанель - 62 - Left - true - - - ТаблицаДокументыПередачиСтрокаПоиска - 65 - - ТаблицаДокументыПередачиСтрокаПоискаРасширеннаяПодсказка - 67 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиСтрокаПоискаКонтекстноеМеню - 66 - true - - ТаблицаДокументыПередачи - - true - - - - ТаблицаДокументыПередачиСостояниеПросмотра - 71 - - ТаблицаДокументыПередачиСостояниеПросмотраРасширеннаяПодсказка - 73 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиСостояниеПросмотраКонтекстноеМеню - 72 - true - - ViewStatusAddition - ТаблицаДокументыПередачи - - true - - - - ТаблицаДокументыПередачиУправлениеПоиском - 68 - - ТаблицаДокументыПередачиУправлениеПоискомРасширеннаяПодсказка - 70 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиУправлениеПоискомКонтекстноеМеню - 69 - true - - SearchControlAddition - ТаблицаДокументыПередачи - - true - - - - ТаблицаДокументыПередачиРасширеннаяПодсказка - 64 - Label - true - true - - Left - - - - ТаблицаДокументыПередачиКонтекстноеМеню - 63 - true - - true - true - true - true - true - MultiRow - Auto -
true
- 1 - 1 - AutoUse - AutoUse - true - true - true - true - Auto - Auto - true - true - true - true - AsFileRef - true - - true -
true true @@ -1447,8 +1463,8 @@ None - ТаблицаНачисленияТаблицаНачисления - 241 + ТаблицаНачисленияСсылка + 427 true true @@ -1458,8 +1474,8 @@ Начисления.Ссылка - ТаблицаНачисленияТаблицаНачисленияРасширеннаяПодсказка - 243 + ТаблицаНачисленияТаблицаНачисленияСсылкаРасширеннаяПодсказка + 429 Label true true @@ -1468,8 +1484,8 @@ - ТаблицаНачисленияТаблицаНачисленияКонтекстноеМеню - 242 + ТаблицаНачисленияТаблицаНачисленияСсылкаКонтекстноеМеню + 428 true InputField @@ -1488,8 +1504,8 @@ - ТаблицаНачисленияТаблицаНачисления1 - 244 + ТаблицаНачисленияДата + 430 true true @@ -1499,8 +1515,8 @@ Начисления.Дата - ТаблицаНачисленияТаблицаНачисления1РасширеннаяПодсказка - 246 + ТаблицаНачисленияТаблицаНачисленияДатаРасширеннаяПодсказка + 432 Label true true @@ -1509,8 +1525,8 @@ - ТаблицаНачисленияТаблицаНачисления1КонтекстноеМеню - 245 + ТаблицаНачисленияТаблицаНачисленияДатаКонтекстноеМеню + 431 true InputField @@ -1529,8 +1545,8 @@ - ТаблицаНачисленияТаблицаНачисления2 - 247 + ТаблицаНачисленияНомер + 433 true true @@ -1540,8 +1556,8 @@ Начисления.Номер - ТаблицаНачисленияТаблицаНачисления2РасширеннаяПодсказка - 249 + ТаблицаНачисленияТаблицаНачисленияНомерРасширеннаяПодсказка + 435 Label true true @@ -1550,8 +1566,8 @@ - ТаблицаНачисленияТаблицаНачисления2КонтекстноеМеню - 248 + ТаблицаНачисленияТаблицаНачисленияНомерКонтекстноеМеню + 434 true InputField @@ -1570,8 +1586,8 @@ - ТаблицаНачисленияТаблицаНачисления3 - 250 + ТаблицаНачисленияОрганизация + 436 true true @@ -1581,8 +1597,8 @@ Начисления.Организация - ТаблицаНачисленияТаблицаНачисления3РасширеннаяПодсказка - 252 + ТаблицаНачисленияТаблицаНачисленияОрганизацияРасширеннаяПодсказка + 438 Label true true @@ -1591,8 +1607,8 @@ - ТаблицаНачисленияТаблицаНачисления3КонтекстноеМеню - 251 + ТаблицаНачисленияТаблицаНачисленияОрганизацияКонтекстноеМеню + 437 true InputField @@ -1611,8 +1627,8 @@ - ТаблицаНачисленияТаблицаНачисления4 - 253 + ТаблицаНачисленияИФО + 463 true true @@ -1622,8 +1638,8 @@ Начисления.ИФО - ТаблицаНачисленияТаблицаНачисления4РасширеннаяПодсказка - 255 + ТаблицаНачисленияТаблицаНачисленияИФОРасширеннаяПодсказка + 465 Label true true @@ -1632,8 +1648,8 @@ - ТаблицаНачисленияТаблицаНачисления4КонтекстноеМеню - 254 + ТаблицаНачисленияТаблицаНачисленияИФОКонтекстноеМеню + 464 true InputField @@ -1652,8 +1668,8 @@ - ТаблицаНачисленияТаблицаНачисления5 - 256 + ТаблицаНачисленияПериод + 466 true true @@ -1663,8 +1679,8 @@ Начисления.Период - ТаблицаНачисленияТаблицаНачисления5РасширеннаяПодсказка - 258 + ТаблицаНачисленияТаблицаНачисленияПериодРасширеннаяПодсказка + 468 Label true true @@ -1673,8 +1689,8 @@ - ТаблицаНачисленияТаблицаНачисления5КонтекстноеМеню - 257 + ТаблицаНачисленияТаблицаНачисленияПериодКонтекстноеМеню + 467 true InputField @@ -1693,8 +1709,8 @@ - ТаблицаНачисленияТаблицаНачисления6 - 259 + ТаблицаНачисленияСуммаДокумента + 469 true true @@ -1704,8 +1720,8 @@ Начисления.СуммаДокумента - ТаблицаНачисленияТаблицаНачисления6РасширеннаяПодсказка - 261 + ТаблицаНачисленияТаблицаНачисленияСуммаДокументаРасширеннаяПодсказка + 471 Label true true @@ -1714,8 +1730,8 @@ - ТаблицаНачисленияТаблицаНачисления6КонтекстноеМеню - 260 + ТаблицаНачисленияТаблицаНачисленияСуммаДокументаКонтекстноеМеню + 470 true InputField @@ -1734,8 +1750,8 @@ - ТаблицаНачисленияТаблицаНачисления7 - 262 + ТаблицаНачисленияПроведен + 472 true true @@ -1745,8 +1761,8 @@ Начисления.Проведен - ТаблицаНачисленияТаблицаНачисления7РасширеннаяПодсказка - 264 + ТаблицаНачисленияТаблицаНачисленияПроведенРасширеннаяПодсказка + 474 Label true true @@ -1755,8 +1771,8 @@ - ТаблицаНачисленияТаблицаНачисления7КонтекстноеМеню - 263 + ТаблицаНачисленияТаблицаНачисленияПроведенКонтекстноеМеню + 473 true CheckBoxField @@ -1767,8 +1783,8 @@ - ТаблицаНачисленияТаблицаНачисления8 - 265 + ТаблицаНачисленияПометкаУдаления + 475 true true @@ -1778,8 +1794,8 @@ Начисления.ПометкаУдаления - ТаблицаНачисленияТаблицаНачисления8РасширеннаяПодсказка - 267 + ТаблицаНачисленияТаблицаНачисленияПометкаУдаленияРасширеннаяПодсказка + 477 Label true true @@ -1788,8 +1804,8 @@ - ТаблицаНачисленияТаблицаНачисления8КонтекстноеМеню - 266 + ТаблицаНачисленияТаблицаНачисленияПометкаУдаленияКонтекстноеМеню + 476 true CheckBoxField @@ -1959,8 +1975,8 @@ None - ТаблицаСверкаТаблицаСверка - 281 + ТаблицаСверкаДокументПередачи + 439 true true @@ -1970,8 +1986,8 @@ Сверка.ДокументПередачи - ТаблицаСверкаТаблицаСверкаРасширеннаяПодсказка - 283 + ТаблицаСверкаТаблицаСверкаДокументПередачиРасширеннаяПодсказка + 441 Label true true @@ -1980,8 +1996,8 @@ - ТаблицаСверкаТаблицаСверкаКонтекстноеМеню - 282 + ТаблицаСверкаТаблицаСверкаДокументПередачиКонтекстноеМеню + 440 true InputField @@ -1994,14 +2010,13 @@ true true true - true true Normal - ТаблицаСверкаТаблицаСверка1 - 284 + ТаблицаСверкаПериод + 442 true true @@ -2011,8 +2026,8 @@ Сверка.Период - ТаблицаСверкаТаблицаСверка1РасширеннаяПодсказка - 286 + ТаблицаСверкаТаблицаСверкаПериодРасширеннаяПодсказка + 444 Label true true @@ -2021,8 +2036,8 @@ - ТаблицаСверкаТаблицаСверка1КонтекстноеМеню - 285 + ТаблицаСверкаТаблицаСверкаПериодКонтекстноеМеню + 443 true InputField @@ -2041,8 +2056,8 @@ - ТаблицаСверкаТаблицаСверка2 - 287 + ТаблицаСверкаСад + 445 true true @@ -2052,8 +2067,8 @@ Сверка.Сад - ТаблицаСверкаТаблицаСверка2РасширеннаяПодсказка - 289 + ТаблицаСверкаТаблицаСверкаСадРасширеннаяПодсказка + 447 Label true true @@ -2062,8 +2077,8 @@ - ТаблицаСверкаТаблицаСверка2КонтекстноеМеню - 288 + ТаблицаСверкаТаблицаСверкаСадКонтекстноеМеню + 446 true InputField @@ -2076,14 +2091,13 @@ true true true - true true Normal - ТаблицаСверкаТаблицаСверка3 - 290 + ТаблицаСверкаЦБ + 448 true true @@ -2093,8 +2107,8 @@ Сверка.ЦБ - ТаблицаСверкаТаблицаСверка3РасширеннаяПодсказка - 292 + ТаблицаСверкаТаблицаСверкаЦБРасширеннаяПодсказка + 450 Label true true @@ -2103,8 +2117,8 @@ - ТаблицаСверкаТаблицаСверка3КонтекстноеМеню - 291 + ТаблицаСверкаТаблицаСверкаЦБКонтекстноеМеню + 449 true InputField @@ -2117,14 +2131,13 @@ true true true - true true Normal - ТаблицаСверкаТаблицаСверка4 - 293 + ТаблицаСверкаСуммаПередано + 451 true true @@ -2134,8 +2147,8 @@ Сверка.СуммаПередано - ТаблицаСверкаТаблицаСверка4РасширеннаяПодсказка - 295 + ТаблицаСверкаТаблицаСверкаСуммаПереданоРасширеннаяПодсказка + 453 Label true true @@ -2144,8 +2157,8 @@ - ТаблицаСверкаТаблицаСверка4КонтекстноеМеню - 294 + ТаблицаСверкаТаблицаСверкаСуммаПереданоКонтекстноеМеню + 452 true InputField @@ -2164,8 +2177,8 @@ - ТаблицаСверкаТаблицаСверка5 - 296 + ТаблицаСверкаСуммаПринято + 454 true true @@ -2175,8 +2188,8 @@ Сверка.СуммаПринято - ТаблицаСверкаТаблицаСверка5РасширеннаяПодсказка - 298 + ТаблицаСверкаТаблицаСверкаСуммаПринятоРасширеннаяПодсказка + 456 Label true true @@ -2185,8 +2198,8 @@ - ТаблицаСверкаТаблицаСверка5КонтекстноеМеню - 297 + ТаблицаСверкаТаблицаСверкаСуммаПринятоКонтекстноеМеню + 455 true InputField @@ -2205,8 +2218,8 @@ - ТаблицаСверкаТаблицаСверка6 - 299 + ТаблицаСверкаРасхождение + 457 true true @@ -2216,8 +2229,8 @@ Сверка.Расхождение - ТаблицаСверкаТаблицаСверка6РасширеннаяПодсказка - 301 + ТаблицаСверкаТаблицаСверкаРасхождениеРасширеннаяПодсказка + 459 Label true true @@ -2226,8 +2239,8 @@ - ТаблицаСверкаТаблицаСверка6КонтекстноеМеню - 300 + ТаблицаСверкаТаблицаСверкаРасхождениеКонтекстноеМеню + 458 true InputField @@ -2246,8 +2259,8 @@ - ТаблицаСверкаТаблицаСверка7 - 302 + ТаблицаСверкаПередачаПроведена + 460 true true @@ -2257,8 +2270,8 @@ Сверка.ПередачаПроведена - ТаблицаСверкаТаблицаСверка7РасширеннаяПодсказка - 304 + ТаблицаСверкаТаблицаСверкаПередачаПроведенаРасширеннаяПодсказка + 462 Label true true @@ -2267,8 +2280,8 @@ - ТаблицаСверкаТаблицаСверка7КонтекстноеМеню - 303 + ТаблицаСверкаТаблицаСверкаПередачаПроведенаКонтекстноеМеню + 461 true CheckBoxField @@ -2426,31 +2439,39 @@ СтраницаОстатки 7 - ТаблицаОстатковВывод - 27 + ТаблицаСадыОстатки + 542 + + <key>ru</key> + <value>Остатки по садам</value> + true true true - ТаблицаОстатков + ТаблицаОстатковСады None - ТаблицаОстатковВыводТаблицаОстатковВывод - 40 + ТаблицаСадыОстаткиУчреждение + 601 + + <key>ru</key> + <value>Учреждение (сад)</value> + true true true - ТаблицаОстатков.ИФО + ТаблицаОстатковСады.Учреждение - ТаблицаОстатковВыводТаблицаОстатковВыводРасширеннаяПодсказка - 42 + ТаблицаСадыОстаткиТаблицаСадыОстаткиУчреждениеРасширеннаяПодсказка + 603 Label true true @@ -2459,8 +2480,8 @@ - ТаблицаОстатковВыводТаблицаОстатковВыводКонтекстноеМеню - 41 + ТаблицаСадыОстаткиТаблицаСадыОстаткиУчреждениеКонтекстноеМеню + 602 true InputField @@ -2479,19 +2500,23 @@ - ТаблицаОстатковВыводТаблицаОстатковВывод1 - 43 + ТаблицаСадыОстаткиПоступило + 604 + + <key>ru</key> + <value>Поступило в ЦБ</value> + true true true - ТаблицаОстатков.Организация + ТаблицаОстатковСады.Поступило - ТаблицаОстатковВыводТаблицаОстатковВывод1РасширеннаяПодсказка - 45 + ТаблицаСадыОстаткиТаблицаСадыОстаткиПоступилоРасширеннаяПодсказка + 606 Label true true @@ -2500,8 +2525,8 @@ - ТаблицаОстатковВыводТаблицаОстатковВывод1КонтекстноеМеню - 44 + ТаблицаСадыОстаткиТаблицаСадыОстаткиПоступилоКонтекстноеМеню + 605 true InputField @@ -2520,19 +2545,23 @@ - ТаблицаОстатковВыводТаблицаОстатковВывод6 - 58 + ТаблицаСадыОстаткиПередано + 607 + + <key>ru</key> + <value>Передано в сад</value> + true true true - ТаблицаОстатков.Счет + ТаблицаОстатковСады.Передано - ТаблицаОстатковВыводТаблицаОстатковВывод6РасширеннаяПодсказка - 60 + ТаблицаСадыОстаткиТаблицаСадыОстаткиПереданоРасширеннаяПодсказка + 609 Label true true @@ -2541,8 +2570,8 @@ - ТаблицаОстатковВыводТаблицаОстатковВывод6КонтекстноеМеню - 59 + ТаблицаСадыОстаткиТаблицаСадыОстаткиПереданоКонтекстноеМеню + 608 true InputField @@ -2561,19 +2590,23 @@ - ТаблицаОстатковВыводТаблицаОстатковВывод2 - 46 + ТаблицаСадыОстаткиОстаток + 610 + + <key>ru</key> + <value>Остаток у ЦБ</value> + true true true - ТаблицаОстатков.СуммаНачальныйОстаток + ТаблицаОстатковСады.Остаток - ТаблицаОстатковВыводТаблицаОстатковВывод2РасширеннаяПодсказка - 48 + ТаблицаСадыОстаткиТаблицаСадыОстаткиОстатокРасширеннаяПодсказка + 612 Label true true @@ -2582,131 +2615,8 @@ - ТаблицаОстатковВыводТаблицаОстатковВывод2КонтекстноеМеню - 47 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаОстатковВыводТаблицаОстатковВывод3 - 49 - true - true - - true - - - ТаблицаОстатков.СуммаОборотДт - - - ТаблицаОстатковВыводТаблицаОстатковВывод3РасширеннаяПодсказка - 51 - Label - true - true - - Left - - - - ТаблицаОстатковВыводТаблицаОстатковВывод3КонтекстноеМеню - 50 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаОстатковВыводТаблицаОстатковВывод4 - 52 - true - true - - true - - - ТаблицаОстатков.СуммаОборотКт - - - ТаблицаОстатковВыводТаблицаОстатковВывод4РасширеннаяПодсказка - 54 - Label - true - true - - Left - - - - ТаблицаОстатковВыводТаблицаОстатковВывод4КонтекстноеМеню - 53 - true - - InputField - Auto - true - Left - true - - true - true - true - true - true - true - Normal - - - - ТаблицаОстатковВыводТаблицаОстатковВывод5 - 55 - true - true - - true - - - ТаблицаОстатков.СуммаКонечныйОстаток - - - ТаблицаОстатковВыводТаблицаОстатковВывод5РасширеннаяПодсказка - 57 - Label - true - true - - Left - - - - ТаблицаОстатковВыводТаблицаОстатковВывод5КонтекстноеМеню - 56 + ТаблицаСадыОстаткиТаблицаСадыОстаткиОстатокКонтекстноеМеню + 611 true InputField @@ -2725,17 +2635,21 @@ - ТаблицаОстатковВыводКоманднаяПанель - 28 + ТаблицаСадыОстаткиКоманднаяПанель + 543 Left true + + OnActivateRow + ТаблицаСадыОстаткиПриАктивизацииСтроки + - ТаблицаОстатковВыводСтрокаПоиска - 31 + ТаблицаСадыОстаткиСтрокаПоиска + 546 - ТаблицаОстатковВыводСтрокаПоискаРасширеннаяПодсказка - 33 + ТаблицаСадыОстаткиСтрокаПоискаРасширеннаяПодсказка + 548 Label true true @@ -2744,21 +2658,21 @@ - ТаблицаОстатковВыводСтрокаПоискаКонтекстноеМеню - 32 + ТаблицаСадыОстаткиСтрокаПоискаКонтекстноеМеню + 547 true - ТаблицаОстатковВывод + ТаблицаСадыОстатки true - ТаблицаОстатковВыводСостояниеПросмотра - 37 + ТаблицаСадыОстаткиСостояниеПросмотра + 552 - ТаблицаОстатковВыводСостояниеПросмотраРасширеннаяПодсказка - 39 + ТаблицаСадыОстаткиСостояниеПросмотраРасширеннаяПодсказка + 554 Label true true @@ -2767,22 +2681,22 @@ - ТаблицаОстатковВыводСостояниеПросмотраКонтекстноеМеню - 38 + ТаблицаСадыОстаткиСостояниеПросмотраКонтекстноеМеню + 553 true ViewStatusAddition - ТаблицаОстатковВывод + ТаблицаСадыОстатки true - ТаблицаОстатковВыводУправлениеПоиском - 34 + ТаблицаСадыОстаткиУправлениеПоиском + 549 - ТаблицаОстатковВыводУправлениеПоискомРасширеннаяПодсказка - 36 + ТаблицаСадыОстаткиУправлениеПоискомРасширеннаяПодсказка + 551 Label true true @@ -2791,19 +2705,19 @@ - ТаблицаОстатковВыводУправлениеПоискомКонтекстноеМеню - 35 + ТаблицаСадыОстаткиУправлениеПоискомКонтекстноеМеню + 550 true SearchControlAddition - ТаблицаОстатковВывод + ТаблицаСадыОстатки true - ТаблицаОстатковВыводРасширеннаяПодсказка - 30 + ТаблицаСадыОстаткиРасширеннаяПодсказка + 545 Label true true @@ -2812,8 +2726,458 @@ - ТаблицаОстатковВыводКонтекстноеМеню - 29 + ТаблицаСадыОстаткиКонтекстноеМеню + 544 + true + + true + true + true + true + true + MultiRow + Auto +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + true + AsFileRef + true + + true +
+ + ТаблицаДетиОстатки + 567 + + <key>ru</key> + <value>Остатки по детям</value> + + true + true + + true + + + ТаблицаОстатковДети + + None + + ТаблицаДетиОстаткиУчреждение + 613 + + <key>ru</key> + <value>Учреждение (сад)</value> + + true + true + + true + + + ТаблицаОстатковДети.Учреждение + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиУчреждениеРасширеннаяПодсказка + 615 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиУчреждениеКонтекстноеМеню + 614 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиИФО + 616 + + <key>ru</key> + <value>ИФО</value> + + true + true + + true + + + ТаблицаОстатковДети.ИФО + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиИФОРасширеннаяПодсказка + 618 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиИФОКонтекстноеМеню + 617 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиРебенок + 619 + + <key>ru</key> + <value>Ребёнок</value> + + true + true + + true + + + ТаблицаОстатковДети.Ребенок + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиРебенокРасширеннаяПодсказка + 621 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиРебенокКонтекстноеМеню + 620 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиДоговор + 622 + + <key>ru</key> + <value>Договор</value> + + true + true + + true + + + ТаблицаОстатковДети.Договор + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиДоговорРасширеннаяПодсказка + 624 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиДоговорКонтекстноеМеню + 623 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиПоступило + 625 + + <key>ru</key> + <value>Поступило в ЦБ</value> + + true + true + + true + + + ТаблицаОстатковДети.Поступило + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиПоступилоРасширеннаяПодсказка + 627 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиПоступилоКонтекстноеМеню + 626 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиПередано + 628 + + <key>ru</key> + <value>Передано в сад</value> + + true + true + + true + + + ТаблицаОстатковДети.Передано + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиПереданоРасширеннаяПодсказка + 630 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиПереданоКонтекстноеМеню + 629 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиОстаток + 631 + + <key>ru</key> + <value>Остаток у ЦБ</value> + + true + true + + true + + + ТаблицаОстатковДети.Остаток + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиОстатокРасширеннаяПодсказка + 633 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиТаблицаДетиОстаткиОстатокКонтекстноеМеню + 632 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ТаблицаДетиОстаткиКоманднаяПанель + 568 + Left + true + + + ТаблицаДетиОстаткиСтрокаПоиска + 571 + + ТаблицаДетиОстаткиСтрокаПоискаРасширеннаяПодсказка + 573 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиСтрокаПоискаКонтекстноеМеню + 572 + true + + ТаблицаДетиОстатки + + true + + + + ТаблицаДетиОстаткиСостояниеПросмотра + 577 + + ТаблицаДетиОстаткиСостояниеПросмотраРасширеннаяПодсказка + 579 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиСостояниеПросмотраКонтекстноеМеню + 578 + true + + ViewStatusAddition + ТаблицаДетиОстатки + + true + + + + ТаблицаДетиОстаткиУправлениеПоиском + 574 + + ТаблицаДетиОстаткиУправлениеПоискомРасширеннаяПодсказка + 576 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиУправлениеПоискомКонтекстноеМеню + 575 + true + + SearchControlAddition + ТаблицаДетиОстатки + + true + + + + ТаблицаДетиОстаткиРасширеннаяПодсказка + 570 + Label + true + true + + Left + + + + ТаблицаДетиОстаткиКонтекстноеМеню + 569 true true @@ -2884,8 +3248,8 @@ None - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления - 331 + ТаблицаКассовыеПоступленияСсылка + 499 true true @@ -2895,8 +3259,8 @@ КассовыеПоступления.Ссылка - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияРасширеннаяПодсказка - 333 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСсылкаРасширеннаяПодсказка + 501 Label true true @@ -2905,8 +3269,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияКонтекстноеМеню - 332 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСсылкаКонтекстноеМеню + 500 true InputField @@ -2925,8 +3289,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления1 - 334 + ТаблицаКассовыеПоступленияДата + 502 true true @@ -2936,8 +3300,8 @@ КассовыеПоступления.Дата - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления1РасширеннаяПодсказка - 336 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияДатаРасширеннаяПодсказка + 504 Label true true @@ -2946,8 +3310,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления1КонтекстноеМеню - 335 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияДатаКонтекстноеМеню + 503 true InputField @@ -2966,8 +3330,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления2 - 337 + ТаблицаКассовыеПоступленияНомер + 505 true true @@ -2977,8 +3341,8 @@ КассовыеПоступления.Номер - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления2РасширеннаяПодсказка - 339 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияНомерРасширеннаяПодсказка + 507 Label true true @@ -2987,8 +3351,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления2КонтекстноеМеню - 338 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияНомерКонтекстноеМеню + 506 true InputField @@ -3007,8 +3371,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления3 - 340 + ТаблицаКассовыеПоступленияОрганизация + 508 true true @@ -3018,8 +3382,8 @@ КассовыеПоступления.Организация - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления3РасширеннаяПодсказка - 342 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияОрганизацияРасширеннаяПодсказка + 510 Label true true @@ -3028,8 +3392,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления3КонтекстноеМеню - 341 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияОрганизацияКонтекстноеМеню + 509 true InputField @@ -3048,8 +3412,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления4 - 343 + ТаблицаКассовыеПоступленияСуммаДокумента + 511 true true @@ -3059,8 +3423,8 @@ КассовыеПоступления.СуммаДокумента - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления4РасширеннаяПодсказка - 345 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСуммаДокументаРасширеннаяПодсказка + 513 Label true true @@ -3069,8 +3433,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления4КонтекстноеМеню - 344 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСуммаДокументаКонтекстноеМеню + 512 true InputField @@ -3089,8 +3453,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления5 - 346 + ТаблицаКассовыеПоступленияПроведен + 514 true true @@ -3100,8 +3464,8 @@ КассовыеПоступления.Проведен - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления5РасширеннаяПодсказка - 348 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияПроведенРасширеннаяПодсказка + 516 Label true true @@ -3110,8 +3474,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления5КонтекстноеМеню - 347 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияПроведенКонтекстноеМеню + 515 true CheckBoxField @@ -3122,8 +3486,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления6 - 349 + ТаблицаКассовыеПоступленияПометкаУдаления + 517 true true @@ -3133,8 +3497,8 @@ КассовыеПоступления.ПометкаУдаления - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления6РасширеннаяПодсказка - 351 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияПометкаУдаленияРасширеннаяПодсказка + 519 Label true true @@ -3143,8 +3507,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления6КонтекстноеМеню - 350 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияПометкаУдаленияКонтекстноеМеню + 518 true CheckBoxField @@ -3155,8 +3519,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления7 - 352 + ТаблицаКассовыеПоступленияСтрокВсего + 520 true true @@ -3166,8 +3530,8 @@ КассовыеПоступления.СтрокВсего - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления7РасширеннаяПодсказка - 354 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСтрокВсегоРасширеннаяПодсказка + 522 Label true true @@ -3176,8 +3540,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления7КонтекстноеМеню - 353 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСтрокВсегоКонтекстноеМеню + 521 true InputField @@ -3196,8 +3560,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления8 - 355 + ТаблицаКассовыеПоступленияСтрокНеРаспознано + 523 true true @@ -3207,8 +3571,8 @@ КассовыеПоступления.СтрокНеРаспознано - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления8РасширеннаяПодсказка - 357 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСтрокНеРаспознаноРасширеннаяПодсказка + 525 Label true true @@ -3217,8 +3581,8 @@ - ТаблицаКассовыеПоступленияТаблицаКассовыеПоступления8КонтекстноеМеню - 356 + ТаблицаКассовыеПоступленияТаблицаКассовыеПоступленияСтрокНеРаспознаноКонтекстноеМеню + 524 true InputField @@ -3428,161 +3792,6 @@
true
- - ТаблицаОстатков - - <key>ru</key> - <value>Остатки и обороты по счетам</value> - - 4 - - ValueTable - - - true - - - true - - - ИФО - - <key>ru</key> - <value>ИФО</value> - - 5 - - CatalogRef.ИсточникиФинансовогоОбеспечения - - - true - - - true - - - - Организация - - <key>ru</key> - <value>Организация</value> - - 6 - - CatalogRef.Организации - - - true - - - true - - - - СуммаНачальныйОстаток - - <key>ru</key> - <value>Начальный остаток</value> - - 7 - - Number - - 15 - 2 - - - - true - - - true - - - - СуммаОборотДт - - <key>ru</key> - <value>Оборот Дт</value> - - 8 - - Number - - 15 - 2 - - - - true - - - true - - - - СуммаОборотКт - - <key>ru</key> - <value>Оборот Кт</value> - - 9 - - Number - - 15 - 2 - - - - true - - - true - - - - СуммаКонечныйОстаток - - <key>ru</key> - <value>Конечный остаток</value> - - 10 - - Number - - 15 - 2 - - - - true - - - true - - - - Счет - - <key>ru</key> - <value>Счет</value> - - 11 - - String - - 20 - - - - true - - - true - - - ДокументыПередачи @@ -3607,7 +3816,7 @@ 14 - DocumentRef.ПС_ПередачаЗадолженностиВЦБ + DocumentRef.ПС_ПередачаПоступившихПлатежейВУчреждения true @@ -3673,23 +3882,6 @@ true - - ЦБ - - <key>ru</key> - <value>ЦБ</value> - - 18 - - CatalogRef.Контрагенты - - - true - - - true - - ИФО @@ -3799,6 +3991,23 @@ <common>true</common> </edit> </columns> + <columns> + <name>Учреждение</name> + <title> + <key>ru</key> + <value>Учреждение (сад)</value> + + 67 + + CatalogRef.Организации + + + true + + + true + + ДокументыПринятия @@ -3824,7 +4033,7 @@ 24 - DocumentRef.ПС_ПринятиеЗадолженностиОтУчреждения + DocumentRef.ПС_ПринятиеПоступившихПлатежейИзЦБ true @@ -3877,7 +4086,7 @@ Организация <key>ru</key> - <value>Организация (ЦБ)</value> + <value>Получатель (учреждение)</value> 27 @@ -3890,23 +4099,6 @@ true - - Учреждение - - <key>ru</key> - <value>Учреждение</value> - - 28 - - CatalogRef.Контрагенты - - - true - - - true - - ИФО @@ -4000,14 +4192,31 @@ </edit> </columns> <columns> - <name>ПередачаСальдо</name> + <name>ЦБ</name> <title> <key>ru</key> - <value>Начальное сальдо</value> + <value>ЦБ</value> - 54 + 65 - Boolean + CatalogRef.Организации + + + true + + + true + + + + ДокументПередачи + + <key>ru</key> + <value>Документ передачи</value> + + 66 + + DocumentRef.ПС_ПередачаПоступившихПлатежейВУчреждения true @@ -4220,7 +4429,7 @@ 45 - DocumentRef.ПС_ПередачаЗадолженностиВЦБ + DocumentRef.ПС_ПередачаПоступившихПлатежейВУчреждения true @@ -4272,7 +4481,7 @@ 48 - CatalogRef.Контрагенты + CatalogRef.Организации true @@ -4546,6 +4755,251 @@ + + ТаблицаОстатковСады + + <key>ru</key> + <value>ТаблицаОстатковСады</value> + + 69 + + ValueTable + + + true + + + true + + + Учреждение + + <key>ru</key> + <value>Учреждение</value> + + 70 + + CatalogRef.Организации + + + true + + + true + + + + Поступило + + <key>ru</key> + <value>Поступило в ЦБ</value> + + 71 + + Number + + 15 + 2 + + + + true + + + true + + + + Передано + + <key>ru</key> + <value>Передано в сад</value> + + 72 + + Number + + 15 + 2 + + + + true + + + true + + + + Остаток + + <key>ru</key> + <value>Остаток у ЦБ</value> + + 73 + + Number + + 15 + 2 + + + + true + + + true + + + + + ТаблицаОстатковДети + + <key>ru</key> + <value>ТаблицаОстатковДети</value> + + 74 + + ValueTable + + + true + + + true + + + Учреждение + + <key>ru</key> + <value>Учреждение</value> + + 75 + + CatalogRef.Организации + + + true + + + true + + + + ИФО + + <key>ru</key> + <value>ИФО</value> + + 76 + + CatalogRef.ИсточникиФинансовогоОбеспечения + + + true + + + true + + + + Ребенок + + <key>ru</key> + <value>Ребенок</value> + + 77 + + CatalogRef.Дети + + + true + + + true + + + + Договор + + <key>ru</key> + <value>Договор</value> + + 78 + + CatalogRef.Договоры + + + true + + + true + + + + Поступило + + <key>ru</key> + <value>Поступило в ЦБ</value> + + 79 + + Number + + 15 + 2 + + + + true + + + true + + + + Передано + + <key>ru</key> + <value>Передано в сад</value> + + 80 + + Number + + 15 + 2 + + + + true + + + true + + + + Остаток + + <key>ru</key> + <value>Остаток у ЦБ</value> + + 81 + + Number + + 15 + 2 + + + + true + + + true + + + Обновить diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Module.bsl index 4f8c366..9b1614f 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/Forms/Форма/Module.bsl @@ -22,6 +22,98 @@ #КонецОбласти +#Область ОбработчикиСобытийЭлементовШапкиФормы + +// Обновляет таблицы пульта при изменении периода отбора. +// +// Параметры: +// Элемент - ПолеФормы - изменённое поле отбора. +// +&НаКлиенте +Процедура ПериодПриИзменении(Элемент) + + ОбновитьТаблицыНаСервере(); + +КонецПроцедуры + +// Обновляет таблицы пульта при изменении организации (ЦБ). +// +// Параметры: +// Элемент - ПолеФормы - изменённое поле отбора. +// +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ОбновитьТаблицыНаСервере(); + +КонецПроцедуры + +// Обновляет таблицы пульта при изменении ИФО. +// +// Параметры: +// Элемент - ПолеФормы - изменённое поле отбора. +// +&НаКлиенте +Процедура ИФОПриИзменении(Элемент) + + ОбновитьТаблицыНаСервере(); + +КонецПроцедуры + +// Обновляет таблицы пульта при изменении учреждения (сада). +// +// Параметры: +// Элемент - ПолеФормы - изменённое поле отбора. +// +&НаКлиенте +Процедура УчреждениеПриИзменении(Элемент) + + ОбновитьТаблицыНаСервере(); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаДокументыПередачи + +// Сужает таблицу принятий до принятий по выбранному документу передачи. +// Документ передачи берётся из текущей строки таблицы "Документы передачи": +// у одного документа передачи может быть несколько документов принятия (по одному на сад). +// +&НаКлиенте +Процедура ТаблицаДокументыПередачиПриАктивизацииСтроки(Элемент) + + ТекущиеДанные = Элемент.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + ЗаполнитьПринятияПоПередачеНаСервере(ТекущиеДанные.Ссылка); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаСадыОстатки + +// Показывает остатки по детям выбранного сада. +// Строка сада берётся из таблицы «Остатки по садам»; при пустой строке детализация +// остаётся по всем садам из отбора формы. +// +&НаКлиенте +Процедура ТаблицаСадыОстаткиПриАктивизацииСтроки(Элемент) + + ТекущиеДанные = Элемент.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + ЗаполнитьОстаткиПоДетям(ТекущиеДанные.Учреждение); + +КонецПроцедуры + +#КонецОбласти + #Область ОбработчикиКомандФормы // Обновляет данные таблиц формы по установленным фильтрам. @@ -80,37 +172,37 @@ Возврат; КонецЕсли; - // Отборы формы заданы в терминах ЦБ: Организация - это ЦБ (справочник Организации), - // Учреждение - сад (справочник Контрагенты). Документы начисления и передачи хранят - // сад как Организацию, а ЦБ в документе передачи - как Контрагента. Приводим значения - // отбора к типам, которые есть в документах, сопоставлением по ИНН. - ЦБКонтрагент = Неопределено; - Если ЗначениеЗаполнено(Объект.Организация) Тогда - ЦБКонтрагент = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(Объект.Организация, "Организация (ЦБ)"); - Если НЕ ЗначениеЗаполнено(ЦБКонтрагент) Тогда - ОчиститьТаблицы(); - Возврат; - КонецЕсли; - КонецЕсли; + Отборы = ОтборыДокументовНаСервере(); - СадОрганизация = Неопределено; - Если ЗначениеЗаполнено(Объект.Учреждение) Тогда - СадОрганизация = ПС_РаботаСКонтрагентами.ОрганизацияПоКонтрагенту(Объект.Учреждение, "Учреждение (сад)"); - Если НЕ ЗначениеЗаполнено(СадОрганизация) Тогда - ОчиститьТаблицы(); - Возврат; - КонецЕсли; - КонецЕсли; - - ЗаполнитьНачисления(СадОрганизация); - ЗаполнитьДокументыПередачи(ЦБКонтрагент, СадОрганизация); - ЗаполнитьДокументыПринятия(); - ЗаполнитьСверку(ЦБКонтрагент, СадОрганизация); - ЗаполнитьТаблицуОстатков(); + ЗаполнитьНачисления(Отборы.СадОрганизация); + ЗаполнитьДокументыПередачи(Отборы.ЦБОрганизация, Отборы.СадОрганизация); + ЗаполнитьДокументыПринятия(Отборы.ЦБОрганизация, Отборы.СадОрганизация); + ЗаполнитьСверку(Отборы.ЦБОрганизация, Отборы.СадОрганизация); + ЗаполнитьОстаткиПоСадам(); + ЗаполнитьОстаткиПоДетям(Неопределено); ЗаполнитьКассовыеПоступления(); КонецПроцедуры +// Возвращает отборы формы в терминах, в которых они хранятся в документах. +// +// ЦБ и учреждение (сад) хранятся в документах передачи и принятия организациями, +// поэтому значения отборов передаются в запросы как есть. +// +// Возвращаемое значение: +// Структура - отборы документов: ЦБОрганизация, СадОрганизация. +// +&НаСервере +Функция ОтборыДокументовНаСервере() + + Отборы = Новый Структура; + Отборы.Вставить("ЦБОрганизация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено)); + Отборы.Вставить("СадОрганизация", ?(ЗначениеЗаполнено(Объект.Учреждение), Объект.Учреждение, Неопределено)); + + Возврат Отборы; + +КонецФункции + // Очищает таблицы формы. Вызывается, когда значения отборов не удалось сопоставить // с данными документов; причина уже выведена пользователю. // @@ -121,7 +213,8 @@ ДокументыПередачи.Очистить(); ДокументыПринятия.Очистить(); Сверка.Очистить(); - ТаблицаОстатков.Очистить(); + ТаблицаОстатковСады.Очистить(); + ТаблицаОстатковДети.Очистить(); КассовыеПоступления.Очистить(); КонецПроцедуры @@ -174,66 +267,19 @@ КонецПроцедуры // Заполняет таблицу формы ДокументыПередачи по установленным фильтрам. +// Таблица показывает документы передачи поступивших платежей в учреждения (документ ЦБ). // // Параметры: -// ЦБКонтрагент - CatalogRef.Контрагенты, Неопределено - ЦБ в виде контрагента -// (документ передачи хранит ЦБ именно так); Неопределено - отбор не задан. -// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде -// организации; Неопределено - отбор по учреждению не задан. +// ЦБОрганизация - CatalogRef.Организации - ЦБ (документ передачи хранит ЦБ +// в реквизите "Организация"); Неопределено - отбор не задан. +// СадОрганизация - CatalogRef.Организации - учреждение (сад) в реквизите +// "Учреждение"; Неопределено - отбор по учреждению не задан. // &НаСервере -Процедура ЗаполнитьДокументыПередачи(ЦБКонтрагент, СадОрганизация) +Процедура ЗаполнитьДокументыПередачи(ЦБОрганизация, СадОрганизация) ДокументыПередачи.Очистить(); - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | Документы.Ссылка КАК Ссылка, - | Документы.Дата КАК Дата, - | Документы.Номер КАК Номер, - | Документы.Организация КАК Организация, - | Документы.ЦБ КАК ЦБ, - | Документы.ИФО КАК ИФО, - | Документы.Период КАК Период, - | Документы.СуммаДокумента КАК СуммаДокумента, - | Документы.ПередачаСальдо КАК ПередачаСальдо, - | Документы.Проведен КАК Проведен, - | Документы.ПометкаУдаления КАК ПометкаУдаления - |ИЗ - | Документ.ПС_ПередачаЗадолженностиВЦБ КАК Документы - |ГДЕ - | Документы.Период >= &НачалоПериода - | И Документы.Период <= &КонецПериода - | И (&ЦБ = НЕОПРЕДЕЛЕНО - | ИЛИ Документы.ЦБ = &ЦБ) - | И (&Сад = НЕОПРЕДЕЛЕНО - | ИЛИ Документы.Организация = &Сад) - | И (&ИФО = НЕОПРЕДЕЛЕНО - | ИЛИ Документы.ИФО = &ИФО) - |УПОРЯДОЧИТЬ ПО - | Документы.Дата УБЫВ"; - - Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала); - Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания); - Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент); - Запрос.УстановитьПараметр("Сад", СадОрганизация); - Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено)); - - Выборка = Запрос.Выполнить().Выбрать(); - Пока Выборка.Следующий() Цикл - ЗаполнитьЗначенияСвойств(ДокументыПередачи.Добавить(), Выборка); - КонецЦикла; - -КонецПроцедуры - -// Заполняет таблицу формы ДокументыПринятия по установленным фильтрам. -// -&НаСервере -Процедура ЗаполнитьДокументыПринятия() - - ДокументыПринятия.Очистить(); - Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ @@ -245,18 +291,17 @@ | Документы.ИФО КАК ИФО, | Документы.Период КАК Период, | Документы.СуммаДокумента КАК СуммаДокумента, - | Документы.ПередачаСальдо КАК ПередачаСальдо, | Документы.Проведен КАК Проведен, | Документы.ПометкаУдаления КАК ПометкаУдаления |ИЗ - | Документ.ПС_ПринятиеЗадолженностиОтУчреждения КАК Документы + | Документ.ПС_ПередачаПоступившихПлатежейВУчреждения КАК Документы |ГДЕ | Документы.Период >= &НачалоПериода | И Документы.Период <= &КонецПериода - | И (&Организация = НЕОПРЕДЕЛЕНО - | ИЛИ Документы.Организация = &Организация) - | И (&Учреждение = НЕОПРЕДЕЛЕНО - | ИЛИ Документы.Учреждение = &Учреждение) + | И (&ЦБОрганизация = НЕОПРЕДЕЛЕНО + | ИЛИ Документы.Организация = &ЦБОрганизация) + | И (&СадОрганизация = НЕОПРЕДЕЛЕНО + | ИЛИ Документы.Учреждение = &СадОрганизация) | И (&ИФО = НЕОПРЕДЕЛЕНО | ИЛИ Документы.ИФО = &ИФО) |УПОРЯДОЧИТЬ ПО @@ -264,10 +309,70 @@ Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала); Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания); - Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено)); - Запрос.УстановитьПараметр("Учреждение", ?(ЗначениеЗаполнено(Объект.Учреждение), Объект.Учреждение, Неопределено)); + Запрос.УстановитьПараметр("ЦБОрганизация", ЦБОрганизация); + Запрос.УстановитьПараметр("СадОрганизация", СадОрганизация); Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено)); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + ЗаполнитьЗначенияСвойств(ДокументыПередачи.Добавить(), Выборка); + КонецЦикла; + +КонецПроцедуры + +// Заполняет таблицу формы ДокументыПринятия по установленным фильтрам. +// Таблица показывает документы принятия поступивших платежей из ЦБ (документ учреждения). +// +// Параметры: +// ЦБОрганизация - CatalogRef.Организации - ЦБ (документ принятия хранит ЦБ +// в реквизите "ЦБ"); Неопределено - отбор не задан. +// СадОрганизация - CatalogRef.Организации - учреждение (сад) в реквизите "Организация"; +// Неопределено - отбор по учреждению не задан. +// ДокументПередачи - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ +// передачи, по которому отбираются принятия; Неопределено - отбор не задан. +// +&НаСервере +Процедура ЗаполнитьДокументыПринятия(ЦБОрганизация, СадОрганизация, ДокументПередачи = Неопределено) + + ДокументыПринятия.Очистить(); + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Документы.Ссылка КАК Ссылка, + | Документы.Дата КАК Дата, + | Документы.Номер КАК Номер, + | Документы.Организация КАК Организация, + | Документы.ЦБ КАК ЦБ, + | Документы.ИФО КАК ИФО, + | Документы.Период КАК Период, + | Документы.СуммаДокумента КАК СуммаДокумента, + | Документы.ДокументПередачи КАК ДокументПередачи, + | Документы.Проведен КАК Проведен, + | Документы.ПометкаУдаления КАК ПометкаУдаления + |ИЗ + | Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ КАК Документы + |ГДЕ + | Документы.Период >= &НачалоПериода + | И Документы.Период <= &КонецПериода + | И (&Организация = НЕОПРЕДЕЛЕНО + | ИЛИ Документы.Организация = &Организация) + | И (&ЦБ = НЕОПРЕДЕЛЕНО + | ИЛИ Документы.ЦБ = &ЦБ) + | И (&ИФО = НЕОПРЕДЕЛЕНО + | ИЛИ Документы.ИФО = &ИФО) + | И (&ДокументПередачи = НЕОПРЕДЕЛЕНО + | ИЛИ Документы.ДокументПередачи = &ДокументПередачи) + |УПОРЯДОЧИТЬ ПО + | Документы.Дата УБЫВ"; + + Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала); + Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания); + Запрос.УстановитьПараметр("Организация", СадОрганизация); + Запрос.УстановитьПараметр("ЦБ", ЦБОрганизация); + Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено)); + Запрос.УстановитьПараметр("ДокументПередачи", ДокументПередачи); + Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ДокументыПринятия.Добавить(), Выборка); @@ -275,17 +380,33 @@ КонецПроцедуры -// Заполняет таблицу формы Сверка: сопоставляет суммы наших документов передачи -// и принятия. Приёмка связана с передачей через реквизит ДокументПередачи. +// Заполняет таблицу принятий по документу передачи, выбранному в таблице "Документы передачи". // // Параметры: -// ЦБКонтрагент - CatalogRef.Контрагенты, Неопределено - ЦБ в виде контрагента -// (документ передачи хранит ЦБ именно так); Неопределено - отбор не задан. -// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде -// организации; Неопределено - отбор по учреждению не задан. +// ДокументПередачи - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ +// передачи, по которому отбираются принятия. // &НаСервере -Процедура ЗаполнитьСверку(ЦБКонтрагент, СадОрганизация) +Процедура ЗаполнитьПринятияПоПередачеНаСервере(ДокументПередачи) + + Отборы = ОтборыДокументовНаСервере(); + + ЗаполнитьДокументыПринятия(Отборы.ЦБОрганизация, Отборы.СадОрганизация, ДокументПередачи); + +КонецПроцедуры + +// Заполняет таблицу формы Сверка: сопоставляет суммы переданных платежей (документ ЦБ) +// и принятых учреждениями (документы принятия). Приёмка связана с передачей через +// реквизит ДокументПередачи документа принятия. +// +// Параметры: +// ЦБОрганизация - CatalogRef.Организации - ЦБ (документ передачи хранит ЦБ +// в реквизите "Организация"); Неопределено - отбор не задан. +// СадОрганизация - CatalogRef.Организации - учреждение (сад) в реквизите +// "Учреждение"; Неопределено - отбор по учреждению не задан. +// +&НаСервере +Процедура ЗаполнитьСверку(ЦБОрганизация, СадОрганизация) Сверка.Очистить(); @@ -296,7 +417,7 @@ | СУММА(Принятие.СуммаДокумента) КАК СуммаПринято |ПОМЕСТИТЬ ВТПринято |ИЗ - | Документ.ПС_ПринятиеЗадолженностиОтУчреждения КАК Принятие + | Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ КАК Принятие |ГДЕ | НЕ Принятие.ПометкаУдаления |СГРУППИРОВАТЬ ПО @@ -308,14 +429,14 @@ |ВЫБРАТЬ | Передача.Ссылка КАК ДокументПередачи, | Передача.Период КАК Период, - | Передача.Организация КАК Сад, - | Передача.ЦБ КАК ЦБ, + | Передача.Организация КАК ЦБ, + | Передача.Учреждение КАК Сад, | Передача.СуммаДокумента КАК СуммаПередано, | ЕСТЬNULL(ВТПринято.СуммаПринято, 0) КАК СуммаПринято, | Передача.СуммаДокумента - ЕСТЬNULL(ВТПринято.СуммаПринято, 0) КАК Расхождение, | Передача.Проведен КАК ПередачаПроведена |ИЗ - | Документ.ПС_ПередачаЗадолженностиВЦБ КАК Передача + | Документ.ПС_ПередачаПоступившихПлатежейВУчреждения КАК Передача | ЛЕВОЕ СОЕДИНЕНИЕ ВТПринято КАК ВТПринято | ПО Передача.Ссылка = ВТПринято.ДокументПередачи |ГДЕ @@ -323,18 +444,18 @@ | И Передача.Период >= &НачалоПериода | И Передача.Период <= &КонецПериода | И (&ЦБ = НЕОПРЕДЕЛЕНО - | ИЛИ Передача.ЦБ = &ЦБ) + | ИЛИ Передача.Организация = &ЦБ) | И (&Сад = НЕОПРЕДЕЛЕНО - | ИЛИ Передача.Организация = &Сад) + | ИЛИ Передача.Учреждение = &Сад) | И (&ИФО = НЕОПРЕДЕЛЕНО | ИЛИ Передача.ИФО = &ИФО) |УПОРЯДОЧИТЬ ПО | Передача.Период, - | Передача.Организация"; + | Передача.Учреждение"; Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала); Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания); - Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент); + Запрос.УстановитьПараметр("ЦБ", ЦБОрганизация); Запрос.УстановитьПараметр("Сад", СадОрганизация); Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено)); @@ -345,89 +466,135 @@ КонецПроцедуры -// Заполняет таблицу остатков и оборотов по счетам 205.31 и 304.04. -// Использует виртуальную таблицу ОстаткиИОбороты регистра бухгалтерии. +// Заполняет таблицу остатков по садам: поступило в ЦБ, передано в сад и остаток у ЦБ. +// +// Источник данных - регистр накопления взаиморасчётов по родительской плате: приход +// формирует кассовое поступление, расход - документ передачи платежей в учреждение. +// Остаток показывает, сколько поступило в ЦБ и ещё не передано в сад. // &НаСервере -Процедура ЗаполнитьТаблицуОстатков() +Процедура ЗаполнитьОстаткиПоСадам() - ТаблицаОстатков.Очистить(); - - Если ЗначениеЗаполнено(Объект.Учреждение) Тогда - ОбщегоНазначения.СообщитьПользователю( - "Остатки и обороты по счетам ведутся без разреза по учреждению," - + " поэтому отбор по учреждению на эту страницу не влияет."); - КонецЕсли; - - НачалоПериода = Объект.Период.ДатаНачала; - КонецПериода = Объект.Период.ДатаОкончания; + ТаблицаОстатковСады.Очистить(); Запрос = Новый Запрос; + УсловиеОтбора = УсловиеОтбораОстатков(Запрос); + Запрос.Текст = "ВЫБРАТЬ - | ""205.31"" КАК Счет, - | ОстаткиИОбороты.ИФО КАК ИФО, - | СУММА(ОстаткиИОбороты.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток, - | СУММА(ОстаткиИОбороты.СуммаОборотДт) КАК СуммаОборотДт, - | СУММА(ОстаткиИОбороты.СуммаОборотКт) КАК СуммаОборотКт, - | СУММА(ОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток + | Остатки.Учреждение КАК Учреждение, + | СУММА(Остатки.СуммаПриход) КАК Поступило, + | СУММА(Остатки.СуммаРасход) КАК Передано, + | СУММА(Остатки.СуммаКонечныйОстаток) КАК Остаток |ИЗ - | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ОстаткиИОбороты( - | &НачалоПериода, - | &КонецПериода, - | Авто, - | , - | Счет В ИЕРАРХИИ (&Счет205)) КАК ОстаткиИОбороты - |ГДЕ - | (&ИФО = НЕОПРЕДЕЛЕНО - | ИЛИ ОстаткиИОбороты.ИФО = &ИФО) + | РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.ОстаткиИОбороты( + | &НачалоПериода, &КонецПериода, Авто, , " + УсловиеОтбора + ") КАК Остатки |СГРУППИРОВАТЬ ПО - | ОстаткиИОбороты.ИФО - | - |ОБЪЕДИНИТЬ ВСЕ - | - |ВЫБРАТЬ - | ""304.04"", - | ОстаткиИОбороты.ИФО, - | СУММА(ОстаткиИОбороты.СуммаНачальныйОстаток), - | СУММА(ОстаткиИОбороты.СуммаОборотДт), - | СУММА(ОстаткиИОбороты.СуммаОборотКт), - | СУММА(ОстаткиИОбороты.СуммаКонечныйОстаток) - |ИЗ - | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ОстаткиИОбороты( - | &НачалоПериода, - | &КонецПериода, - | Авто, - | , - | Счет В ИЕРАРХИИ (&Счет304)) КАК ОстаткиИОбороты - |ГДЕ - | (&ИФО = НЕОПРЕДЕЛЕНО - | ИЛИ ОстаткиИОбороты.ИФО = &ИФО) - |СГРУППИРОВАТЬ ПО - | ОстаткиИОбороты.ИФО"; + | Остатки.Учреждение + |УПОРЯДОЧИТЬ ПО + | Остатки.Учреждение"; - Счет205 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31"); - Счет304 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04"); - Если Счет205 = Неопределено ИЛИ Счет304 = Неопределено Тогда - ОбщегоНазначения.СообщитьПользователю( - "Остатки и обороты не рассчитаны: в плане счетов ЕПСБУ не найден счет" - + " 205.31 и/или 304.04."); - Возврат; - КонецЕсли; - - Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода); - Запрос.УстановитьПараметр("КонецПериода", КонецПериода); - Запрос.УстановитьПараметр("Счет205", Счет205); - Запрос.УстановитьПараметр("Счет304", Счет304); - Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено)); + Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала); + Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл - ЗаполнитьЗначенияСвойств(ТаблицаОстатков.Добавить(), Выборка); + Если Выборка.Поступило = 0 И Выборка.Передано = 0 И Выборка.Остаток = 0 Тогда + Продолжить; + КонецЕсли; + ЗаполнитьЗначенияСвойств(ТаблицаОстатковСады.Добавить(), Выборка); КонецЦикла; КонецПроцедуры +// Заполняет таблицу остатков по детям: поступило в ЦБ, передано в сад и остаток у ЦБ +// по каждому ребёнку и договору. +// +// Параметры: +// Учреждение - CatalogRef.Организации - сад, выбранный в таблице остатков по садам; +// Неопределено - детализация строится по всем садам из отбора формы. +// +&НаСервере +Процедура ЗаполнитьОстаткиПоДетям(Учреждение) + + ТаблицаОстатковДети.Очистить(); + + Запрос = Новый Запрос; + УсловиеОтбора = УсловиеОтбораОстатков(Запрос, Учреждение); + + Запрос.Текст = + "ВЫБРАТЬ + | Остатки.Учреждение КАК Учреждение, + | Остатки.ИФО КАК ИФО, + | Остатки.Ребенок КАК Ребенок, + | Остатки.Договор КАК Договор, + | СУММА(Остатки.СуммаПриход) КАК Поступило, + | СУММА(Остатки.СуммаРасход) КАК Передано, + | СУММА(Остатки.СуммаКонечныйОстаток) КАК Остаток + |ИЗ + | РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.ОстаткиИОбороты( + | &НачалоПериода, &КонецПериода, Авто, , " + УсловиеОтбора + ") КАК Остатки + |СГРУППИРОВАТЬ ПО + | Остатки.Учреждение, + | Остатки.ИФО, + | Остатки.Ребенок, + | Остатки.Договор + |УПОРЯДОЧИТЬ ПО + | Учреждение, + | Ребенок"; + + Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала); + Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Если Выборка.Поступило = 0 И Выборка.Передано = 0 И Выборка.Остаток = 0 Тогда + Продолжить; + КонецЕсли; + ЗаполнитьЗначенияСвойств(ТаблицаОстатковДети.Добавить(), Выборка); + КонецЦикла; + +КонецПроцедуры + +// Возвращает условие отбора для виртуальной таблицы остатков регистра взаиморасчётов +// и устанавливает соответствующие параметры запроса. +// +// Параметры: +// Запрос - Запрос - запрос, в который добавляются параметры отбора; +// Учреждение - CatalogRef.Организации - сад, по которому строится детализация; +// Неопределено - используется отбор по учреждению из формы. +// +// Возвращаемое значение: +// Строка - условие отбора в терминах полей регистра; "ИСТИНА", если отборов нет. +// +&НаСервере +Функция УсловиеОтбораОстатков(Запрос, Учреждение = Неопределено) + + Условия = Новый Массив; + + Если ЗначениеЗаполнено(Объект.Организация) Тогда + Запрос.УстановитьПараметр("ОрганизацияОтбор", Объект.Организация); + Условия.Добавить("Организация = &ОрганизацияОтбор"); + КонецЕсли; + + Если ЗначениеЗаполнено(Объект.ИФО) Тогда + Запрос.УстановитьПараметр("ИФООтбор", Объект.ИФО); + Условия.Добавить("ИФО = &ИФООтбор"); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Учреждение) Тогда + Учреждение = Объект.Учреждение; + КонецЕсли; + + Если ЗначениеЗаполнено(Учреждение) Тогда + Запрос.УстановитьПараметр("УчреждениеОтбор", Учреждение); + Условия.Добавить("Учреждение = &УчреждениеОтбор"); + КонецЕсли; + + Возврат ?(Условия.Количество() = 0, "ИСТИНА", СтрСоединить(Условия, " И ")); + +КонецФункции + // Заполняет таблицу формы КассовыеПоступления: документы с признаком "Родительская плата" за период // по установленным отборам. // Колонка "Строк не распознано" показывает строки расшифровки платежа, в которых не определён ребёнок, - diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ObjectModule.bsl index 4d76197..1ade038 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ObjectModule.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ObjectModule.bsl @@ -1,3 +1,2 @@ // Обработка ПС_УправлениеРасчетамиПоРодительскойПлате. // Логика дашборда реализована в модуле управляемой формы (Forms/Форма/Module.bsl). -// Модуль объекта оставлен пустым намеренно. diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ПС_УправлениеРасчетамиПоРодительскойПлате.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ПС_УправлениеРасчетамиПоРодительскойПлате.mdo index ecc8ba7..c00de17 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ПС_УправлениеРасчетамиПоРодительскойПлате.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DataProcessors/ПС_УправлениеРасчетамиПоРодительскойПлате/ПС_УправлениеРасчетамиПоРодительскойПлате.mdo @@ -38,7 +38,7 @@ <value>Учреждение (сад)</value> </synonym> <type> - <types>CatalogRef.Контрагенты</types> + <types>CatalogRef.Организации</types> </type> <minValue xsi:type="core:UndefinedValue"/> <maxValue xsi:type="core:UndefinedValue"/> diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DefinedTypes/ОснованиеВнутреннегоЭлектронногоДокумента/ОснованиеВнутреннегоЭлектронногоДокумента.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DefinedTypes/ОснованиеВнутреннегоЭлектронногоДокумента/ОснованиеВнутреннегоЭлектронногоДокумента.mdo new file mode 100644 index 0000000..f8a0e73 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/DefinedTypes/ОснованиеВнутреннегоЭлектронногоДокумента/ОснованиеВнутреннегоЭлектронногоДокумента.mdo @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:DefinedType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="86adad5d-0084-4ac3-8b7b-67dbe8efde02" extendedConfigurationObject="5182ca77-f944-46c4-925a-8bcd42a8ca04"> + <producedTypes> + <containerType typeId="76a8d07b-bff3-4dc7-b3f3-e329e96d825a" valueTypeId="cd44bd23-4db6-43e3-87b8-df9f511da56c"/> + </producedTypes> + <name>ОснованиеВнутреннегоЭлектронногоДокумента</name> + <objectBelonging>Adopted</objectBelonging> + <extension xsi:type="mdclassExtension:DefinedTypeExtension"> + <extendedConfigurationObject>Checked</extendedConfigurationObject> + <typeExtension> + <types> + <state>Extended</state> + <type>DocumentRef.ПС_ПередачаПоступившихПлатежейВУчреждения</type> + </types> + <types> + <state>Extended</state> + <type>DocumentRef.ПС_ПринятиеПоступившихПлатежейИзЦБ</type> + </types> + </typeExtension> + </extension> +</mdclass:DefinedType> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="7eed47cc-6019-4b3d-b825-4d7b97b70b36" extendedConfigurationObject="96af047b-7cc7-4d47-9267-1faf1018c6c2"> + <producedTypes> + <objectType typeId="55afd80c-cdf6-4ed8-92b4-3e31193c8d83" valueTypeId="a872ebf4-b3a6-457c-b7fb-60f98d89b04a"/> + <refType typeId="549ee220-8152-4947-8c37-d57651460447" valueTypeId="27b5b814-ba0d-4c9e-ae95-9f5571ee9ca7"/> + <selectionType typeId="65fcb32e-4256-4c7b-9454-5781e200fd87" valueTypeId="eb76cc07-493f-45c5-9efe-b20254aa2683"/> + <listType typeId="44f445bb-4096-423a-9317-99751749b025" valueTypeId="4c10ef7b-caeb-4b6a-8bcf-83ed03dc6b34"/> + <managerType typeId="80881412-dd7b-47fb-811e-5bb2773702b4" valueTypeId="264e87d0-6516-4d55-adbb-6330d9527001"/> + </producedTypes> + <name>ИзвещениеВходящее</name> + <objectBelonging>Adopted</objectBelonging> + <extension xsi:type="mdclassExtension:DocumentExtension"> + <extendedConfigurationObject>Checked</extendedConfigurationObject> + </extension> + <useStandardCommands>true</useStandardCommands> +</mdclass:Document> 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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="41775506-5c5d-45c1-b92e-2436acf64680" extendedConfigurationObject="afa2d2ce-ab98-4f62-b4d2-072ff3a30c72"> + <producedTypes> + <objectType typeId="6c3af4d3-ee94-4e95-83c4-91fcc59f3dce" valueTypeId="cc7f7a7e-a66c-49a5-98d3-e0f54bd52ced"/> + <refType typeId="d1d043ef-7ac1-457d-8cde-cf995da6fb89" valueTypeId="fab3c501-9604-4547-ba62-8ce71a0fafd0"/> + <selectionType typeId="f4cf0b07-83ad-4af9-b3ed-f00c47566866" valueTypeId="f3974034-5957-45e6-9de0-653465e08638"/> + <listType typeId="e83fdf40-7c45-4a8c-a871-ee4b7d0e71f2" valueTypeId="5edb65d0-6f93-4e2f-bd2c-13ec11d8fa77"/> + <managerType typeId="5ceeb5c6-84a4-4a68-82fb-54def1eed3cd" valueTypeId="33145c27-4d30-4272-8f0e-670df607a06c"/> + </producedTypes> + <name>ИзвещениеИсходящее</name> + <objectBelonging>Adopted</objectBelonging> + <extension xsi:type="mdclassExtension:DocumentExtension"> + <extendedConfigurationObject>Checked</extendedConfigurationObject> + </extension> + <useStandardCommands>true</useStandardCommands> +</mdclass:Document> diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl index c9aae48..e6b6c1e 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/КассовоеПоступление/ObjectModule.bsl @@ -16,6 +16,16 @@ ПС_РазборПлатежейПоРодительскойПлате.ЗаполнитьКонтрагентовПоНазначениюПлатежа(ЭтотОбъект); + // Признак "Родительская плата" сбрасывается, если в корреспондирующем счёте указан 303.00. + // Без признака приход по регистру взаиморасчётов не формируется, поэтому предупреждаем + // по факту распознанного и найденного лицевого счёта ребёнка. + Если НЕ РодительскаяПлата + И ПС_РазборПлатежейПоРодительскойПлате.ЕстьЛицевыеСчетаДетей(ЭтотОбъект) Тогда + ОбщегоНазначения.СообщитьПользователю( + "В расшифровке платежа распознан лицевой счёт ребёнка, но признак ""Родительская плата""" + + " не установлен: приход по взаиморасчётам по родительской плате не будет сформирован."); + КонецЕсли; + КонецПроцедуры &После("ОбработкаПроведения") @@ -25,9 +35,10 @@ Возврат; КонецЕсли; - // Оплата закрывает задолженность, принятую от учреждения. Переплата допускается - - // она даёт отрицательный (кредитовый) остаток по ребёнку. Строки без определённого - // ребёнка или договора пропускаются: это не оплата родительской платы. + // Поступившие платежи копятся у ЦБ: приход по регистру взаиморасчётов. + // Передача платежей в сады списывает их расходом, поэтому остаток регистра + // показывает, сколько поступило и ещё не передано в учреждения. Строки без + // определённого ребёнка или договора пропускаются: это не плата за детский сад. Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить(); Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина; @@ -50,33 +61,27 @@ Возврат; КонецЕсли; - // Сады детей загружаем одним запросом, контрагента сада ищем по одному разу на сад: - // обращение к базе внутри цикла по строкам недопустимо. + // Сады детей загружаем одним запросом: обращение к базе внутри цикла по строкам недопустимо. ОрганизацииСадов = ПС_ОрганизацииСадовДетей(Дети); - КонтрагентыСадов = Новый Соответствие; Для Каждого СтрокаРасшифровки Из СтрокиОплаты Цикл ОрганизацияСада = ОрганизацииСадов[СтрокаРасшифровки.Ребенок]; - КонтрагентСада = КонтрагентыСадов[ОрганизацияСада]; - Если КонтрагентСада = Неопределено Тогда - КонтрагентСада = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ОрганизацияСада, "Учреждение"); - КонтрагентыСадов.Вставить(ОрганизацияСада, КонтрагентСада); - КонецЕсли; - - Движение = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьРасход(); + Движение = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьПриход(); Движение.Период = Дата; Движение.Организация = Организация; - Движение.Учреждение = КонтрагентСада; + Движение.Учреждение = ОрганизацияСада; Движение.Плательщик = СтрокаРасшифровки.Контрагент; Движение.Ребенок = СтрокаРасшифровки.Ребенок; Движение.Договор = СтрокаРасшифровки.Договор; Движение.ИФО = ИФО; Движение.КФО = СтрокаРасшифровки.КФО; Движение.КПС = СтрокаРасшифровки.КБКНазначениеПлатежа; + Движение.ИДСтроки = ПС_УчетРодительскойПлаты.ИдентификаторСтрокиПоступления( + Ссылка, СтрокаРасшифровки.НомерСтроки); Движение.Сумма = СтрокаРасшифровки.Сумма; - Движение.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.Оплата; + Движение.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПоступлениеПлатежа; КонецЦикла; diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/Forms/ФормаДокумента/Module.bsl index 54c114e..bf5033e 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/Forms/ФормаДокумента/Module.bsl +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/Forms/ФормаДокумента/Module.bsl @@ -112,7 +112,7 @@ КонецЕсли; ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка); - ОткрытьФорму("Документ.ПС_ПередачаЗадолженностиВЦБ.Форма.ФормаДокумента", + ОткрытьФорму("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ.Форма.ФормаДокумента", ПараметрыФормы, ЭтотОбъект); diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/НачислениеРодительскойПлаты.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/НачислениеРодительскойПлаты.mdo index 650385c..a1e2a22 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/НачислениеРодительскойПлаты.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/НачислениеРодительскойПлаты/НачислениеРодительскойПлаты.mdo @@ -12,7 +12,6 @@ <extension xsi:type="mdclassExtension:DocumentExtension"> <extendedConfigurationObject>Checked</extendedConfigurationObject> </extension> - <basedOn>Document.ПС_ПередачаЗадолженностиВЦБ</basedOn> <forms uuid="afd5a88e-f86c-4f20-8edb-b69efb4623e0" extendedConfigurationObject="1a84838c-25fc-4c1b-8b26-74c31f1d8f67"> <name>ФормаДокумента</name> <objectBelonging>Adopted</objectBelonging> diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Forms/ФормаДокумента/Module.bsl deleted file mode 100644 index 23b1ffb..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Forms/ФормаДокумента/Module.bsl +++ /dev/null @@ -1,438 +0,0 @@ -// ПС_ПередачаЗадолженностиВЦБ: модуль формы документа. - -#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация); - - // ИФО показывается только при включённом учёте по ИФО (как в типовых документах). - Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО"); - // КПС определяется автоматически по настройкам учётной политики. - Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина; - - // Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию. - // В режиме передачи начального сальдо скрывается документ начисления и появляется - // команда заполнения по остаткам счёта 205.31. - ЗаполнитьКорреспондирующийСчетПоУмолчанию(); - ОбновитьВидимостьРеквизитовРежимаСальдо(); - - Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда - Основание = Неопределено; - Если Параметры.Свойство("Основание", Основание) - И ТипЗнч(Основание) = Тип("ДокументСсылка.НачислениеРодительскойПлаты") Тогда - Объект.ДокументНачисления = Основание; - ЗаполнитьПоДокументуНачисленияНаСервере(Основание); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(Объект.ЦБ) Тогда - Объект.ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию(); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ПриЧтенииНаСервере(ТекущийОбъект) - - БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация); - -КонецПроцедуры - -&НаКлиенте -Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) - - БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект); - -КонецПроцедуры - -&НаСервере -Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) - - БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗаписи(ПараметрыЗаписи) - - БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект); - -КонецПроцедуры - -&НаСервере -Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) - - БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиКомандФормы - -&НаКлиенте -Процедура ПечатьИзвещения(Команда) - - ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка); - ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н)"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПросмотрБухгалтерскихЗаписей(Команда) - - ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка); - -КонецПроцедуры - -&НаКлиенте -Процедура ПС_СоздатьПринятиеЗадолженностиНаОсновании(Команда) - - Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = "Сначала запишите и проведите документ передачи."; - СообщениеПользователю.Сообщить(); - Возврат; - КонецЕсли; - - Если НЕ Объект.Проведен Тогда - СообщениеПользователю = Новый СообщениеПользователю; - СообщениеПользователю.Текст = "Перед созданием принятия документ передачи должен быть проведён."; - СообщениеПользователю.Сообщить(); - Возврат; - КонецЕсли; - - ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка); - ОткрытьФорму("Документ.ПС_ПринятиеЗадолженностиОтУчреждения.Форма.ФормаДокумента", - ПараметрыФормы, - ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура ЗаполнитьПоОстаткам20531(Команда) - - ЗаполнитьПоОстаткам20531НаСервере(); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиСобытийЭлементовФормы - -&НаКлиенте -Процедура ПередачаСальдоПриИзменении(Элемент) - - // В режиме сальдо поле документа начисления скрывается, команда заполнения по остаткам - показывается. - РежимСальдо = (Объект.ПередачаСальдо = Истина); - Элементы.ЗаполнитьПоОстаткам20531.Видимость = РежимСальдо; - Элементы.ДокументНачисления.Видимость = НЕ РежимСальдо; - -КонецПроцедуры - -&НаКлиенте -Процедура ДокументНачисленияПриИзменении(Элемент) - - Если ЗначениеЗаполнено(Объект.ДокументНачисления) Тогда - ЗаполнитьПоДокументуНачисленияНаСервере(Объект.ДокументНачисления); - Иначе - Объект.Задолженность.Очистить(); - Объект.СуммаДокумента = 0; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗадолженностьПриИзменении(Элемент) - - Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма"); - -КонецПроцедуры - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -&НаСервере -Функция ПечатьИзвещенияНаСервере(ДокументСсылка) - - Возврат Документы.ПС_ПередачаЗадолженностиВЦБ.СформироватьПечатныеФормыИзвещений(ДокументСсылка); - -КонецФункции - -&НаСервере -Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию() - - Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда - Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда - Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ОбновитьВидимостьРеквизитовРежимаСальдо() - - // В режиме начального сальдо документ начисления не используется: его поле скрывается, - // а вместо него доступна команда заполнения по остаткам счёта 205.31. - РежимСальдо = (Объект.ПередачаСальдо = Истина); - Элементы.ЗаполнитьПоОстаткам20531.Видимость = РежимСальдо; - Элементы.ДокументНачисления.Видимость = НЕ РежимСальдо; - -КонецПроцедуры - -// Заполняет табличную часть "Задолженность" остатками счёта 205.31 на дату документа -// по организации (учреждению-саду). Строки доступны для ручной правки. -// -&НаСервере -Процедура ЗаполнитьПоОстаткам20531НаСервере() - - Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда - ОбщегоНазначения.СообщитьПользователю( - "Заполнение по остаткам невозможно: не заполнена организация (учреждение-сад)."); - Возврат; - КонецЕсли; - - Счет20531 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31"); - Если Счет20531 = Неопределено Тогда - ОбщегоНазначения.СообщитьПользователю( - "Заполнение по остаткам невозможно: в плане счетов ЕПСБУ не найден счет 205.31."); - Возврат; - КонецЕсли; - - // Порядок субконто берём из настройки самого счёта: субконто1 - первое субконто счёта. - ВидыСубконто = Новый Массив; - Для Каждого СтрокаСубконто Из Счет20531.ВидыСубконто Цикл - ВидыСубконто.Добавить(СтрокаСубконто.ВидСубконто); - КонецЦикла; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | Остатки.Субконто1 КАК Контрагент, - | Остатки.Субконто2 КАК Договор, - | Дети.Ссылка КАК Ребенок, - | Остатки.КПС КАК КПС, - | Остатки.ИФО КАК ИФО, - | Остатки.КФО КАК КФО, - | Остатки.СуммаОстаток КАК Сумма - |ИЗ - | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки( - | &Дата, - | Счет В ИЕРАРХИИ (&Счет20531), - | &ВидыСубконто, - | Организация = &Организация) КАК Остатки - | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Дети КАК Дети - | ПО Дети.Контрагент = Остатки.Субконто1 - |ГДЕ - | Остатки.СуммаОстаток <> 0 - | - |УПОРЯДОЧИТЬ ПО - | Остатки.Субконто1, - | Остатки.Субконто2"; - Запрос.УстановитьПараметр("Дата", Объект.Дата); - Запрос.УстановитьПараметр("Счет20531", Счет20531); - Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто); - Запрос.УстановитьПараметр("Организация", Объект.Организация); - - Выборка = Запрос.Выполнить().Выбрать(); - - Объект.Задолженность.Очистить(); - - ЗначенияИФО = Новый Соответствие; - ЗначенияКФО = Новый Соответствие; - - Пока Выборка.Следующий() Цикл - - ЗначенияИФО.Вставить(Выборка.ИФО, Истина); - ЗначенияКФО.Вставить(Выборка.КФО, Истина); - - НоваяСтрока = Объект.Задолженность.Добавить(); - НоваяСтрока.Контрагент = Выборка.Контрагент; - НоваяСтрока.Договор = Выборка.Договор; - НоваяСтрока.Ребенок = Выборка.Ребенок; - НоваяСтрока.КПС = Выборка.КПС; - НоваяСтрока.Сумма = Выборка.Сумма; - - КонецЦикла; - - Если Объект.Задолженность.Количество() = 0 Тогда - ВывестиДиагностикуЗаполненияПоОстаткам(Счет20531); - Возврат; - КонецЕсли; - - Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма"); - - // Разрезов ИФО и КФО в табличной части нет - они задаются на весь документ, - // поэтому переносим их в шапку, если в остатках они единственные. - ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО); - - Если ЗначенияИФО.Количество() > 1 ИЛИ ЗначенияКФО.Количество() > 1 Тогда - ОбщегоНазначения.СообщитьПользователю( - "Остатки найдены в разрезе нескольких ИФО и/или КФО, а в документе ИФО и КФО задаются" - + " на весь документ. Проверьте их заполнение и при необходимости перенесите" - + " сальдо отдельными документами."); - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО) - - Если ЗначенияКФО.Количество() = 1 И НЕ ЗначениеЗаполнено(Объект.КФО) Тогда - Для Каждого КлючИЗначение Из ЗначенияКФО Цикл - Объект.КФО = КлючИЗначение.Ключ; - КонецЦикла; - КонецЕсли; - - Если ЗначенияИФО.Количество() = 1 И НЕ ЗначениеЗаполнено(Объект.ИФО) Тогда - Для Каждого КлючИЗначение Из ЗначенияИФО Цикл - Объект.ИФО = КлючИЗначение.Ключ; - КонецЦикла; - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ВывестиДиагностикуЗаполненияПоОстаткам(Счет20531) - - // Проверяем, есть ли вообще остатки по счёту на дату документа - без отборов - // по организации и субконто. Это позволяет понять, что именно не совпало. - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | КОЛИЧЕСТВО(*) КАК ВсегоСтрок - |ИЗ - | РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки( - | &Дата, - | Счет В ИЕРАРХИИ (&Счет20531), , ) КАК Остатки"; - Запрос.УстановитьПараметр("Дата", Объект.Дата); - Запрос.УстановитьПараметр("Счет20531", Счет20531); - - Выборка = Запрос.Выполнить().Выбрать(); - ВсегоСтрок = 0; - Если Выборка.Следующий() Тогда - ВсегоСтрок = Выборка.ВсегоСтрок; - КонецЕсли; - - ДатаДокумента = Формат(Объект.Дата, "ДЛФ=DD"); - - Если ВсегоСтрок = 0 Тогда - ОбщегоНазначения.СообщитьПользователю( - "Остатков по счёту " + Счет20531.Код + " на " + ДатаДокумента - + " нет ни по одной организации. Проверьте дату документа."); - Иначе - ОбщегоНазначения.СообщитьПользователю( - "Остатки по счёту " + Счет20531.Код + " на " + ДатаДокумента + " есть (" - + ВсегоСтрок + " стр.), но не отобраны по организации " + Строка(Объект.Организация) - + " и/или по субконто счёта. Проверьте организацию в документе."); - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ЗаполнитьПоДокументуНачисленияНаСервере(ДокументНачисленияСсылка) - - Если НЕ ЗначениеЗаполнено(ДокументНачисленияСсылка) Тогда - Возврат; - КонецЕсли; - - // Заполнение возможно только на основании проведённого документа начисления. - Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументНачисленияСсылка, "Проведен") Тогда - ОбщегоНазначения.СообщитьПользователю( - "Заполнение документа возможно только на основании проведённого документа начисления родительской платы."); - Возврат; - КонецЕсли; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | НачислениеРодительскойПлаты.Организация КАК Организация, - | НачислениеРодительскойПлаты.ИФО КАК ИФО, - | НачислениеРодительскойПлаты.Ответственный КАК Ответственный, - | НачислениеРодительскойПлаты.НачалоПериода КАК НачалоПериода, - | НачислениеРодительскойПлаты.Дата КАК ДатаДокумента - |ИЗ - | Документ.НачислениеРодительскойПлаты КАК НачислениеРодительскойПлаты - |ГДЕ - | НачислениеРодительскойПлаты.Ссылка = &Ссылка - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ - | НачислениеРодительскойПлатыНачисления.Контрагент КАК Контрагент, - | НачислениеРодительскойПлатыНачисления.ДоговорКонтрагента КАК Договор, - | НачислениеРодительскойПлатыНачисления.Ребенок КАК Ребенок, - | НачислениеРодительскойПлатыНачисления.ИДСтроки КАК ИДСтроки, - | НачислениеРодительскойПлатыНачисления.Сумма КАК Сумма - |ИЗ - | Документ.НачислениеРодительскойПлаты.Начисления КАК НачислениеРодительскойПлатыНачисления - |ГДЕ - | НачислениеРодительскойПлатыНачисления.Ссылка = &Ссылка"; - Запрос.УстановитьПараметр("Ссылка", ДокументНачисленияСсылка); - - Результаты = Запрос.ВыполнитьПакет(); - - ВыборкаШапка = Результаты[0].Выбрать(); - Если НЕ ВыборкаШапка.Следующий() Тогда - Возврат; - КонецЕсли; - - Объект.Организация = ВыборкаШапка.Организация; - Объект.Ответственный = ВыборкаШапка.Ответственный; - Объект.ДокументНачисления = ДокументНачисленияСсылка; - Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда - Объект.ИФО = ВыборкаШапка.ИФО; - КонецЕсли; - - Если ЗначениеЗаполнено(ВыборкаШапка.НачалоПериода) Тогда - Объект.Период = ВыборкаШапка.НачалоПериода; - Иначе - Объект.Период = НачалоМесяца(ВыборкаШапка.ДатаДокумента); - КонецЕсли; - - Объект.ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию(); - - Объект.Задолженность.Очистить(); - Объект.СуммаДокумента = 0; - - ВыборкаСтроки = Результаты[1].Выбрать(); - Пока ВыборкаСтроки.Следующий() Цикл - - НоваяСтрока = Объект.Задолженность.Добавить(); - НоваяСтрока.Контрагент = ВыборкаСтроки.Контрагент; - НоваяСтрока.Договор = ВыборкаСтроки.Договор; - НоваяСтрока.Ребенок = ВыборкаСтроки.Ребенок; - НоваяСтрока.ИДСтроки = ВыборкаСтроки.ИДСтроки; - НоваяСтрока.Сумма = ВыборкаСтроки.Сумма; - - Объект.СуммаДокумента = Объект.СуммаДокумента + ВыборкаСтроки.Сумма; - - КонецЦикла; - - // КФО документа и КПС строк - из проводок документа начисления. - ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(Объект, ДокументНачисленияСсылка); - -КонецПроцедуры - -&НаКлиенте -Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка) - - ПараметрыФормы = Новый Структура; - Отбор = Новый Структура("Регистратор", ДокументСсылка); - ПараметрыФормы.Вставить("Отбор", Отбор); - - ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка", - ПараметрыФормы, - ЭтотОбъект, - УникальныйИдентификатор); - -КонецПроцедуры - -#КонецОбласти - diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ManagerModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ManagerModule.bsl deleted file mode 100644 index 6e8988f..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ManagerModule.bsl +++ /dev/null @@ -1,26 +0,0 @@ -// ПС_ПередачаЗадолженностиВЦБ: модуль менеджера. -// Печатная форма извещения (ф. 0504805, ред. 103н) - сторона отправителя (учреждение). -// Заполнение макета выполняет общая логика подсистемы: ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805. - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ПрограммныйИнтерфейс - -// Формирует табличный документ извещения (ф. 0504805, ред. 103н). -// Вызывается из модуля формы документа кнопкой "Печать". -// -// Параметры: -// ДокументСсылка - ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ - печатаемый документ. -// -// Возвращаемое значение: -// ТабличныйДокумент -// -Функция СформироватьПечатныеФормыИзвещений(ДокументСсылка) Экспорт - - Возврат ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка); - -КонецФункции - -#КонецОбласти - -#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ObjectModule.bsl deleted file mode 100644 index cf187a4..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ObjectModule.bsl +++ /dev/null @@ -1,259 +0,0 @@ -// ПС_ПередачаЗадолженностиВЦБ: модуль объекта. -// Сторона детского сада: Дт 304.04.130 — Кт 205.31.66X. -// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением -// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ. - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ОбработчикиСобытий - -Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) - - Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.НачислениеРодительскойПлаты") Тогда - - // Заполнение возможно только на основании проведённого документа начисления. - Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения, "Проведен") Тогда - ОбщегоНазначения.СообщитьПользователю( - "Заполнение документа возможно только на основании проведённого документа начисления родительской платы."); - Возврат; - КонецЕсли; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | НачислениеРодительскойПлаты.Организация КАК Организация, - | НачислениеРодительскойПлаты.ИФО КАК ИФО, - | НачислениеРодительскойПлаты.Ответственный КАК Ответственный, - | НачислениеРодительскойПлаты.НачалоПериода КАК НачалоПериода, - | НачислениеРодительскойПлаты.Дата КАК ДатаДокумента - |ИЗ - | Документ.НачислениеРодительскойПлаты КАК НачислениеРодительскойПлаты - |ГДЕ - | НачислениеРодительскойПлаты.Ссылка = &Ссылка"; - Запрос.УстановитьПараметр("Ссылка", ДанныеЗаполнения); - ВыборкаШапка = Запрос.Выполнить().Выбрать(); - Если ВыборкаШапка.Следующий() Тогда - Организация = ВыборкаШапка.Организация; - Ответственный = ВыборкаШапка.Ответственный; - ДокументНачисления = ДанныеЗаполнения; - // Учёт по ИФО ведётся только при включённой функциональной опции. - Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда - ИФО = ВыборкаШапка.ИФО; - КонецЕсли; - Если ЗначениеЗаполнено(ВыборкаШапка.НачалоПериода) Тогда - Период = ВыборкаШапка.НачалоПериода; - Иначе - Период = НачалоМесяца(ВыборкаШапка.ДатаДокумента); - КонецЕсли; - КонецЕсли; - - ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию(); - - ЗапросСтроки = Новый Запрос; - ЗапросСтроки.Текст = - "ВЫБРАТЬ - | НачислениеРодительскойПлатыНачисления.Контрагент КАК Контрагент, - | НачислениеРодительскойПлатыНачисления.ДоговорКонтрагента КАК Договор, - | НачислениеРодительскойПлатыНачисления.Ребенок КАК Ребенок, - | НачислениеРодительскойПлатыНачисления.ИДСтроки КАК ИДСтроки, - | НачислениеРодительскойПлатыНачисления.Сумма КАК Сумма - |ИЗ - | Документ.НачислениеРодительскойПлаты.Начисления КАК НачислениеРодительскойПлатыНачисления - |ГДЕ - | НачислениеРодительскойПлатыНачисления.Ссылка = &Ссылка"; - ЗапросСтроки.УстановитьПараметр("Ссылка", ДанныеЗаполнения); - ВыборкаСтроки = ЗапросСтроки.Выполнить().Выбрать(); - Пока ВыборкаСтроки.Следующий() Цикл - НоваяСтрока = Задолженность.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки); - СуммаДокумента = СуммаДокумента + ВыборкаСтроки.Сумма; - КонецЦикла; - - // КФО документа и КПС строк - из проводок документа начисления. - ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДанныеЗаполнения); - - КонецЕсли; - -КонецПроцедуры - -Процедура ОбработкаПроведения(Отказ, РежимПроведения) - - Движения.ЖурналПроводокЕПСБУ.Очистить(); - Движения.ЖурналПроводокЕПСБУ.Записывать = Истина; - Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок"); - - СчетКт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация); - - // Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК задаются реквизитами - // документа (по умолчанию 304.04 и 131) и могут быть изменены пользователем. - СчетДт = СчетКорреспондент; - Если НЕ ЗначениеЗаполнено(СчетДт) Тогда - ОбщегоНазначения.СообщитьПользователю( - "Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.", - , "СчетКорреспондент", "Объект", Отказ); - Возврат; - КонецЕсли; - - ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт); - - // КПС строк наследуется из проводок документа начисления (см. ЗаполнитьКПССтрок), - // КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ). - Для Каждого СтрокаЗадолженности Из Задолженность Цикл - - Движение = Движения.ЖурналПроводокЕПСБУ.Добавить(); - Движение.Период = Дата; - Движение.Организация = Организация; - Движение.ИФО = ИФО; - Движение.КФО = КФО; - Движение.СчетДт = СчетДт; - Движение.СчетКт = СчетКт; - Движение.КПСДт = СтрокаЗадолженности.КПС; - Движение.КПСКт = СтрокаЗадолженности.КПС; - Движение.КЭКДт = КЭККорреспондент; - Движение.КЭККт = КЭКПроводки(СчетКт, "Кт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор); - Движение.Сумма = СтрокаЗадолженности.Сумма; - Движение.ЖурналОпераций = ЖурналОпераций; - Движение.Содержание = "Передача задолженности по родительской плате в ЦБ"; - - Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = ЦБ; - Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент; - Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор; - - КонецЦикла; - - // В конфигурации есть подписка на событие "ОбработкаПроведения" (ЗаписатьТаблицуПроводок), - // которая выполняется после модуля объекта и перезаписывает проводки документа: если таблица - // проводок не передана, набор записей регистра очищается. Поэтому передаём сформированную - // таблицу через ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок. - БухгалтерскиеОперацииСервер.ИнициализироватьБухгалтерскиеОперации(ЭтотОбъект); - ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок = Движения.ЖурналПроводокЕПСБУ.Выгрузить(); - -КонецПроцедуры - -Процедура ОбработкаУдаленияПроведения(Отказ) - - Движения.ЖурналПроводокЕПСБУ.Записывать = Истина; - -КонецПроцедуры - -Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) - - Если ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект); - - ЗаполнитьРеквизитыПоУмолчанию(); - - СуммаДокумента = Задолженность.Итог("Сумма"); - ЗаполнитьКПССтрок(); - -КонецПроцедуры - -Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) - - Если НЕ ЗначениеЗаполнено(Организация) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнена организация (учреждение-сад)", , "Организация", "Объект", Отказ); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(ЦБ) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнен получатель - ЦБ (администратор доходов)", , "ЦБ", "Объект", Отказ); - КонецЕсли; - - Если НЕ ПередачаСальдо И НЕ ЗначениеЗаполнено(ДокументНачисления) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнен документ начисления родительской платы", , "ДокументНачисления", "Объект", Отказ); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(КФО) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнен КФО", , "КФО", "Объект", Отказ); - КонецЕсли; - - Если Задолженность.Количество() = 0 Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнена табличная часть ""Задолженность""", , "Задолженность", "Объект", Отказ); - Иначе - Для Каждого СтрокаЗадолженности Из Задолженность Цикл - Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда - ТекстСообщения = "Не заполнен КПС строки табличной части ""Задолженность""."; - Если НЕ ПередачаСальдо Тогда - ТекстСообщения = ТекстСообщения - + " Заполнение возможно только на основании проведённого документа начисления родительской платы."; - КонецЕсли; - ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "Задолженность", "Объект", Отказ); - Прервать; - КонецЕсли; - КонецЦикла; - КонецЕсли; - - СуммаПоТаблице = Задолженность.Итог("Сумма"); - Если СуммаДокумента <> СуммаПоТаблице Тогда - ОбщегоНазначения.СообщитьПользователю("Сумма документа не совпадает с итогом по табличной части", , "СуммаДокумента", "Объект", Отказ); - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК -// значениями по умолчанию, если они не заданы пользователем. -// -Процедура ЗаполнитьРеквизитыПоУмолчанию() - - Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда - СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда - КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); - КонецЕсли; - -КонецПроцедуры - -// Заполняет строки табличной части "Задолженность" КПС, унаследованным -// из проводок документа начисления родительской платы. -// -Процедура ЗаполнитьКПССтрок() - - // В режиме передачи начального сальдо КПС строк заполняется по остаткам счёта 205.31, - // а не по проводкам документа начисления. - Если ПередачаСальдо Тогда - Возврат; - КонецЕсли; - - ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДокументНачисления); - -КонецПроцедуры - -// Возвращает КЭК проводки, определённый по настройкам счёта -// и типу контрагента (подстатья КОСГУ). -// -// Параметры: -// Счет - ПланСчетовСсылка.ЕПСБУ - счёт проводки. -// ДтКт - Строка - сторона проводки: "Дт" или "Кт". -// Субконто1 - Произвольный - значение первого субконто проводки. -// Субконто2 - Произвольный - значение второго субконто проводки. -// -// Возвращаемое значение: -// СправочникСсылка.КОСГУ - КЭК проводки. -// -Функция КЭКПроводки(Счет, ДтКт, Субконто1 = Неопределено, Субконто2 = Неопределено) - - ПараметрыКЭК = БухгалтерскийУчетКлиентСервер.ПараметрыРасчетаКЭКПроводки(); - ПараметрыКЭК.Организация = Организация; - ПараметрыКЭК.ИФО = ИФО; - ПараметрыКЭК.КФО = КФО; - ПараметрыКЭК.Дата = Дата; - ПараметрыКЭК.Счет = Счет; - ПараметрыКЭК.ДтКт = ДтКт; - ПараметрыКЭК.Субконто1 = Субконто1; - ПараметрыКЭК.Субконто2 = Субконто2; - - Возврат БухгалтерскийУчет.КЭКПроводки(ПараметрыКЭК); - -КонецФункции - -#КонецОбласти - -#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Forms/ФормаДокумента/Form.form b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form similarity index 72% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Forms/ФормаДокумента/Form.form rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form index 3e49597..47df018 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Forms/ФормаДокумента/Form.form +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Form.form @@ -52,23 +52,19 @@ </extInfo> </items> <items xsi:type="form:FormField"> - <name>ДокументПередачи</name> - <id>22</id> + <name>Учреждение</name> + <id>110</id> <visible>true</visible> <enabled>true</enabled> <userVisible> <common>true</common> </userVisible> <dataPath xsi:type="form:DataPath"> - <segments>Объект.ДокументПередачи</segments> + <segments>Объект.Учреждение</segments> </dataPath> - <handlers> - <event>OnChange</event> - <name>ДокументПередачиПриИзменении</name> - </handlers> <extendedTooltip> - <name>ДокументПередачиРасширеннаяПодсказка</name> - <id>24</id> + <name>УчреждениеРасширеннаяПодсказка</name> + <id>112</id> <type>Label</type> <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> @@ -77,12 +73,12 @@ </extInfo> </extendedTooltip> <contextMenu> - <name>ДокументПередачиКонтекстноеМеню</name> - <id>23</id> + <name>УчреждениеКонтекстноеМеню</name> + <id>111</id> <autoFill>true</autoFill> </contextMenu> <type>InputField</type> - <editMode>EnterOnInput</editMode> + <editMode>Enter</editMode> <showInHeader>true</showInHeader> <headerHorizontalAlign>Left</headerHorizontalAlign> <showInFooter>true</showInFooter> @@ -90,7 +86,6 @@ <autoMaxWidth>true</autoMaxWidth> <autoMaxHeight>true</autoMaxHeight> <wrap>true</wrap> - <extendedEditMultipleValues>true</extendedEditMultipleValues> <chooseType>true</chooseType> <typeDomainEnabled>true</typeDomainEnabled> <textEdit>true</textEdit> @@ -255,48 +250,6 @@ <textSize>Normal</textSize> </extInfo> </items> - <items xsi:type="form:FormField"> - <name>Учреждение</name> - <id>13</id> - <visible>true</visible> - <enabled>true</enabled> - <userVisible> - <common>true</common> - </userVisible> - <dataPath xsi:type="form:DataPath"> - <segments>Объект.Учреждение</segments> - </dataPath> - <extendedTooltip> - <name>УчреждениеРасширеннаяПодсказка</name> - <id>15</id> - <type>Label</type> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <extInfo xsi:type="form:LabelDecorationExtInfo"> - <horizontalAlign>Left</horizontalAlign> - </extInfo> - </extendedTooltip> - <contextMenu> - <name>УчреждениеКонтекстноеМеню</name> - <id>14</id> - <autoFill>true</autoFill> - </contextMenu> - <type>InputField</type> - <editMode>EnterOnInput</editMode> - <showInHeader>true</showInHeader> - <headerHorizontalAlign>Left</headerHorizontalAlign> - <showInFooter>true</showInFooter> - <extInfo xsi:type="form:InputFieldExtInfo"> - <autoMaxWidth>true</autoMaxWidth> - <autoMaxHeight>true</autoMaxHeight> - <wrap>true</wrap> - <extendedEditMultipleValues>true</extendedEditMultipleValues> - <chooseType>true</chooseType> - <typeDomainEnabled>true</typeDomainEnabled> - <textEdit>true</textEdit> - <textSize>Normal</textSize> - </extInfo> - </items> <visible>true</visible> <enabled>true</enabled> <userVisible> @@ -732,6 +685,276 @@ <textSize>Normal</textSize> </extInfo> </items> + <items xsi:type="form:FormField"> + <name>ЗадолженностьЛицевойСчет</name> + <id>113</id> + <title> + <key>ru</key> + <value>Лицевой счет</value> + + true + true + + true + + + Объект.Задолженность.ЛицевойСчет + + + ЗадолженностьЗадолженностьЛицевойСчетРасширеннаяПодсказка + 115 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьЛицевойСчетКонтекстноеМеню + 114 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьНазначениеПлатежа + 116 + + <key>ru</key> + <value>Назначение платежа</value> + + true + true + + true + + + Объект.Задолженность.НазначениеПлатежа + + + ЗадолженностьЗадолженностьНазначениеПлатежаРасширеннаяПодсказка + 118 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьНазначениеПлатежаКонтекстноеМеню + 117 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьРасчетныйСчет + 119 + + <key>ru</key> + <value>Расчетный счет</value> + + true + true + + true + + + Объект.Задолженность.РасчетныйСчет + + + ЗадолженностьЗадолженностьРасчетныйСчетРасширеннаяПодсказка + 121 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьРасчетныйСчетКонтекстноеМеню + 120 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьГруппа + 122 + + <key>ru</key> + <value>Группа</value> + + true + true + + true + + + Объект.Задолженность.Группа + + + ЗадолженностьЗадолженностьГруппаРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьГруппаКонтекстноеМеню + 123 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьПериодОплаты + 125 + + <key>ru</key> + <value>Период оплаты</value> + + true + true + + true + + + Объект.Задолженность.ПериодОплаты + + + ЗадолженностьЗадолженностьПериодОплатыРасширеннаяПодсказка + 127 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьПериодОплатыКонтекстноеМеню + 126 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьДатаПлатежа + 128 + + <key>ru</key> + <value>Дата приема платежа</value> + + true + true + + true + + + Объект.Задолженность.ДатаПлатежа + + + ЗадолженностьЗадолженностьДатаПлатежаРасширеннаяПодсказка + 130 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьДатаПлатежаКонтекстноеМеню + 129 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + ЗадолженностьКоманднаяПанель 30 @@ -882,6 +1105,50 @@ ГруппаСтраницыОбщихДанных 88 + + ПринятиеПлатежей + 138 + + <key>ru</key> + <value>Принятие платежей</value> + + true + true + + true + + + Объект.ПринятиеПлатежей + + + ПринятиеПлатежейРасширеннаяПодсказка + 140 + Label + true + true + + Left + + + + ПринятиеПлатежейКонтекстноеМеню + 139 + true + + LabelField + Enter + true + Left + true + + true + true + true + + 1 + + + ИФО 10 @@ -969,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 @@ -1014,43 +1321,6 @@ Normal - - ПередачаСальдо - 94 - - <key>ru</key> - <value>Передача начального сальдо</value> - - true - true - - true - - - Объект.ПередачаСальдо - - - ПередачаСальдоРасширеннаяПодсказка - 96 - Label - true - true - - Left - - - - ПередачаСальдоКонтекстноеМеню - 95 - true - - CheckBoxField - Enter - true - Left - true - - СчетКорреспондент 97 @@ -1323,6 +1593,110 @@ UserCmds Auto + + ЗаполнитьПоПоступившимПлатежам + 106 + true + true + + true + + + ФормаЗаполнитьПоПоступившимПлатежамРасширеннаяПодсказка + 107 + Label + true + true + + Left + + + Form.Command.ЗаполнитьПоПоступившимПлатежам + Normal + Auto + true + true + UserCmds + Auto + + + СоздатьПринятиеПлатежей + 108 + true + true + + true + + + ФормаСоздатьПринятиеПлатежейРасширеннаяПодсказка + 109 + Label + true + true + + Left + + + Form.Command.СоздатьПринятиеПлатежей + Normal + Auto + true + true + 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 @@ -1330,6 +1704,10 @@ OnCreateAtServer ПриСозданииНаСервере + + NotificationProcessing + ОбработкаОповещения + true true true @@ -1343,7 +1721,7 @@ Объект 1 - DocumentObject.ПС_ПринятиеЗадолженностиОтУчреждения + DocumentObject.ПС_ПередачаПоступившихПлатежейВУчреждения true @@ -1392,11 +1770,95 @@ + + ЗаполнитьПоПоступившимПлатежам + + <key>ru</key> + <value>Заполнить по поступившим платежам</value> + + 3 + + true + + + + ЗаполнитьПоПоступившимПлатежам + + + + + СоздатьПринятиеПлатежей + + <key>ru</key> + <value>Создать приём платежей</value> + + 4 + + true + + + + СоздатьПринятиеПлатежей + + + + + ПечатьРеестраПлатежей + + <key>ru</key> + <value>Реестр платежей</value> + + 5 + + true + + + + ПечатьРеестраПлатежей + + + + + СоздатьИзвещение + + <key>ru</key> + <value>Создать извещение 0504805</value> + + 6 + + true + + + + СоздатьИзвещение + + + + + BeforeWrite + ПередЗаписью + + + BeforeWriteAtServer + ПередЗаписьюНаСервере + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + + AfterWrite + ПослеЗаписи + true diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl new file mode 100644 index 0000000..50fd18b --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Forms/ФормаДокумента/Module.bsl @@ -0,0 +1,496 @@ +// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль формы документа. + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация); + + // ИФО показывается только при включённом учёте по ИФО (как в типовых документах). + Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО"); + // КПС определяется автоматически по настройкам учётной политики. + Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина; + + // Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию. + ЗаполнитьКорреспондирующийСчетПоУмолчанию(); + + Если НЕ ЗначениеЗаполнено(Объект.Ссылка) + И НЕ ЗначениеЗаполнено(Объект.Организация) Тогда + Объект.Организация = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить(); + КонецЕсли; + + // Состояние внутреннего ЭДО (подсистема БГУ): организация документа уже определена. + ОбщегоНазначенияБГУ.ПриСозданииНаСервере(ЭтотОбъект, Объект); + +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация); + + ОбщегоНазначенияБГУ.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект); + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) + + БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +&НаСервере +Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗаписи(ПараметрыЗаписи) + + БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + // Обновляет гиперссылку состояния внутреннего ЭДО. + ОбщегоНазначенияБГУКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура Подключаемый_ДекорацияБГУНажатие(Элемент, СтандартнаяОбработка) + + ОбщегоНазначенияБГУКлиент.ДекорацияНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадолженность + +&НаКлиенте +Процедура ЗадолженностьПриИзменении(Элемент) + + Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма"); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ПечатьИзвещения(Команда) + + ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка); + ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - отправитель"); + +КонецПроцедуры + +&НаКлиенте +Процедура ПечатьРеестраПлатежей(Команда) + + ТабличныйДокумент = ПечатьРеестраПлатежейНаСервере(Объект.Ссылка); + ТабличныйДокумент.Показать("Реестр платежей"); + +КонецПроцедуры + +&НаКлиенте +Процедура СоздатьИзвещение(Команда) + + Извещение = СоздатьИзвещениеНаСервере(); + Если ЗначениеЗаполнено(Извещение) Тогда + ПараметрыФормы = Новый Структура("Ключ", Извещение); + ОткрытьФорму("Документ.ИзвещениеИсходящее.Форма.ФормаДокумента", ПараметрыФормы, ЭтотОбъект); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПросмотрБухгалтерскихЗаписей(Команда) + + ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьПоПоступившимПлатежам(Команда) + + ЗаполнитьПоПоступившимПлатежамНаСервере(); + +КонецПроцедуры + +&НаКлиенте +Процедура СоздатьПринятиеПлатежей(Команда) + + Принятие = СоздатьПринятиеПлатежейНаСервере(); + Если ЗначениеЗаполнено(Принятие) Тогда + ПараметрыФормы = Новый Структура("Ключ", Принятие); + ОткрытьФорму("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ.Форма.ФормаДокумента", + ПараметрыФормы, + ЭтотОбъект, + Строка(Принятие)); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ВыполнитьКомандуБГУ(Команда) + + ОбщегоНазначенияБГУКлиент.ВыполнитьПодключаемуюКоманду(Команда, ЭтотОбъект, Объект); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Функция ПечатьИзвещенияНаСервере(ДокументСсылка) + + Возврат Документы.ПС_ПередачаПоступившихПлатежейВУчреждения.СформироватьПечатныеФормыИзвещений(ДокументСсылка); + +КонецФункции + +&НаСервере +Функция ПечатьРеестраПлатежейНаСервере(ДокументСсылка) + + Возврат ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка); + +КонецФункции + +&НаСервере +Функция СоздатьПринятиеПлатежейНаСервере() + + Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда + ОбщегоНазначения.СообщитьПользователю("Сначала запишите документ передачи платежей."); + Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПустаяСсылка(); + КонецЕсли; + + Если НЕ Объект.Проведен Тогда + ОбщегоНазначения.СообщитьПользователю( + "Перед созданием приёма платежей документ передачи должен быть проведён."); + Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПустаяСсылка(); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Объект.Учреждение) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Не заполнено учреждение (получатель) документа передачи."); + Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПустаяСсылка(); + КонецЕсли; + + // Документ передачи адресный: приём платежей по нему один. Если он уже создан, + // открывается существующий - повторное нажатие не плодит документы. + Если ЗначениеЗаполнено(Объект.ПринятиеПлатежей) Тогда + Существующий = Объект.ПринятиеПлатежей.ПолучитьОбъект(); + Если Существующий <> Неопределено И НЕ Существующий.ПометкаУдаления Тогда + Возврат Объект.ПринятиеПлатежей; + КонецЕсли; + КонецЕсли; + + Принятие = Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.СоздатьДокумент(); + Принятие.Организация = Объект.Учреждение; + Принятие.Заполнить(Объект.Ссылка); + Принятие.Записать(РежимЗаписиДокумента.Запись); + + Объект.ПринятиеПлатежей = Принятие.Ссылка; + Записать(); + + Возврат Принятие.Ссылка; + +КонецФункции + +&НаСервере +Функция СоздатьИзвещениеНаСервере() + + Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда + ОбщегоНазначения.СообщитьПользователю("Сначала запишите документ передачи платежей."); + Возврат Документы.ИзвещениеИсходящее.ПустаяСсылка(); + КонецЕсли; + + Извещение = ПС_УчетРодительскойПлаты.СоздатьИзвещениеПоПередаче(Объект.Ссылка); + Если ЗначениеЗаполнено(Извещение) Тогда + Объект.ИзвещениеИсходящее = Извещение; + Записать(); + КонецЕсли; + + Возврат Извещение; + +КонецФункции + +&НаСервере +Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию() + + Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда + Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда + Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); + КонецЕсли; + +КонецПроцедуры + +// Подбирает в табличную часть "Задолженность" поступившие платежи, ещё не переданные +// в учреждения: остатки регистра накопления ПС_ВзаиморасчетыПоРодительскойПлате в разрезе +// квитанций (измерение "ИДСтроки"). Предыдущая передача выбирает остатки, поэтому следующая +// их уже не видит. Реквизиты реестра (лицевой счёт, расчётный счёт, группа, период оплаты, +// назначение платежа) разбираются из назначения платежа строки расшифровки кассового поступления. +// +&НаСервере +Процедура ЗаполнитьПоПоступившимПлатежамНаСервере() + + Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Заполнение невозможно: не заполнена организация (ЦБ)."); + Возврат; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Объект.Учреждение) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Заполнение невозможно: не заполнено учреждение (получатель)."); + Возврат; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Остатки.ИДСтроки КАК ИДСтроки, + | Остатки.Плательщик КАК Контрагент, + | Остатки.Договор КАК Договор, + | Остатки.Ребенок КАК Ребенок, + | Остатки.КПС КАК КПС, + | Остатки.ИФО КАК ИФО, + | Остатки.КФО КАК КФО, + | Остатки.СуммаОстаток КАК Сумма + |ИЗ + | РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Остатки( + | &МоментВремени, + | Организация = &Организация + | И Учреждение = &Учреждение) КАК Остатки + |ГДЕ + | Остатки.СуммаОстаток <> 0 + + |УПОРЯДОЧИТЬ ПО + | Остатки.Плательщик, + | Остатки.Договор"; + // Поступившие платежи собираются на границу конца дня документа: кассовые поступления + // по умолчанию датируются 23:59:59 и при моменте времени, равном началу дня документа, + // в остатки не попадали. + Запрос.УстановитьПараметр("МоментВремени", КонецДня(Объект.Дата) + 1); + Запрос.УстановитьПараметр("Организация", Объект.Организация); + Запрос.УстановитьПараметр("Учреждение", Объект.Учреждение); + + Выборка = Запрос.Выполнить().Выбрать(); + + Объект.Задолженность.Очистить(); + Объект.СуммаДокумента = 0; + + ЗначенияИФО = Новый Соответствие; + ЗначенияКФО = Новый Соответствие; + СтрокиОстатков = Новый Массив; + + Пока Выборка.Следующий() Цикл + + СтрокаОстатка = Новый Структура; + СтрокаОстатка.Вставить("ИДСтроки", Выборка.ИДСтроки); + СтрокаОстатка.Вставить("Контрагент", Выборка.Контрагент); + СтрокаОстатка.Вставить("Договор", Выборка.Договор); + СтрокаОстатка.Вставить("Ребенок", Выборка.Ребенок); + СтрокаОстатка.Вставить("КПС", Выборка.КПС); + СтрокаОстатка.Вставить("Сумма", Выборка.Сумма); + СтрокиОстатков.Добавить(СтрокаОстатка); + + ЗначенияИФО.Вставить(Выборка.ИФО, Истина); + ЗначенияКФО.Вставить(Выборка.КФО, Истина); + + КонецЦикла; + + Если СтрокиОстатков.Количество() = 0 Тогда + ОбщегоНазначения.СообщитьПользователю( + "Поступивших платежей, ещё не переданных в учреждения, не найдено."); + Возврат; + КонецЕсли; + + // Расшифровки платежей читаются одним запросом на весь документ. + Расшифровки = РасшифровкиПлатежейПоИД(СтрокиОстатков); + + СтрокБезИдентификатора = 0; + СтрокБезРасшифровки = 0; + + Для Каждого СтрокаОстатка Из СтрокиОстатков Цикл + + НоваяСтрока = Объект.Задолженность.Добавить(); + НоваяСтрока.Контрагент = СтрокаОстатка.Контрагент; + НоваяСтрока.Договор = СтрокаОстатка.Договор; + НоваяСтрока.Ребенок = СтрокаОстатка.Ребенок; + НоваяСтрока.КПС = СтрокаОстатка.КПС; + НоваяСтрока.Сумма = СтрокаОстатка.Сумма; + НоваяСтрока.ИДСтроки = СтрокаОстатка.ИДСтроки; + + ДанныеРасшифровки = Расшифровки[СтрокаОстатка.ИДСтроки]; + Если ДанныеРасшифровки = Неопределено Тогда + // Идентификатор строки пишется в регистр при проведении кассового поступления: + // у документов, проведённых до появления измерения, он пуст. + Если СтрДлина(СокрЛП(СтрокаОстатка.ИДСтроки)) < 38 Тогда + СтрокБезИдентификатора = СтрокБезИдентификатора + 1; + Иначе + СтрокБезРасшифровки = СтрокБезРасшифровки + 1; + КонецЕсли; + Продолжить; + КонецЕсли; + + ТекстНазначения = СокрЛП(ДанныеРасшифровки.Примечание); + ДанныеПлатежа = ПС_РазборПлатежейПоРодительскойПлате.РазобратьНазначениеПлатежа(ТекстНазначения); + + НоваяСтрока.НазначениеПлатежа = Лев(ТекстНазначения, 200); + НоваяСтрока.ЛицевойСчет = ДанныеПлатежа.ЛицевойСчет; + НоваяСтрока.РасчетныйСчет = ДанныеПлатежа.РасчетныйСчет; + НоваяСтрока.Группа = ДанныеПлатежа.Группа; + НоваяСтрока.ПериодОплаты = ДанныеПлатежа.ПериодОплаты; + НоваяСтрока.ДатаПлатежа = ДанныеРасшифровки.Дата; + + КонецЦикла; + + Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма"); + + Если СтрокБезИдентификатора > 0 Тогда + ОбщегоНазначения.СообщитьПользователю(СтрШаблон( + "По %1 строкам в регистре нет идентификатора квитанции: кассовое поступление не перепроведено." + + " Лицевой счёт, назначение платежа, расчётный счёт, группа, период оплаты и дата платежа" + + " не заполнены. Перепроведите кассовые поступления и заполните документ заново.", + СтрокБезИдентификатора)); + КонецЕсли; + + Если СтрокБезРасшифровки > 0 Тогда + ОбщегоНазначения.СообщитьПользователю(СтрШаблон( + "По %1 строкам идентификатор квитанции есть, но строка расшифровки платежа не найдена:" + + " кассовое поступление изменялось после проведения. Перепроведите кассовые поступления" + + " и заполните документ заново.", СтрокБезРасшифровки)); + КонецЕсли; + + // Разрезов ИФО и КФО в табличной части нет - они задаются на весь документ, + // поэтому переносим их в шапку, если в остатках они единственные. + ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО); + + Если ЗначенияИФО.Количество() > 1 ИЛИ ЗначенияКФО.Количество() > 1 Тогда + ОбщегоНазначения.СообщитьПользователю( + "Поступившие платежи найдены в разрезе нескольких ИФО и/или КФО, а в документе ИФО и КФО" + + " задаются на весь документ. Передайте их отдельными документами."); + КонецЕсли; + +КонецПроцедуры + +// Возвращает расшифровки платежей по идентификаторам строк поступлений. +// +// Параметры: +// СтрокиОстатков - Массив из Структура - строки остатков регистра взаиморасчётов +// с полем "ИДСтроки" вида ":<номер строки>". +// +// Возвращаемое значение: +// Соответствие из Строка, Структура - расшифровки по идентификатору строки: +// * Примечание - Строка - текст назначения платежа; +// * Дата - Дата - дата кассового поступления. +// +&НаСервере +Функция РасшифровкиПлатежейПоИД(СтрокиОстатков) + + Результат = Новый Соответствие; + Идентификаторы = Новый Соответствие; + ДокументыПоступления = Новый Массив; + + Для Каждого СтрокаОстатка Из СтрокиОстатков Цикл + + Идентификатор = СокрЛП(СтрокаОстатка.ИДСтроки); + Если СтрДлина(Идентификатор) < 38 Тогда + Продолжить; + КонецЕсли; + + ИдентификаторДокумента = Лев(Идентификатор, 36); + Если Идентификаторы[ИдентификаторДокумента] <> Неопределено Тогда + Продолжить; + КонецЕсли; + Идентификаторы.Вставить(ИдентификаторДокумента, Истина); + + ДокументыПоступления.Добавить(Документы.КассовоеПоступление.ПолучитьСсылку( + Новый УникальныйИдентификатор(ИдентификаторДокумента))); + + КонецЦикла; + + Если ДокументыПоступления.Количество() = 0 Тогда + Возврат Результат; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Расшифровка.Ссылка КАК Ссылка, + | Расшифровка.НомерСтроки КАК НомерСтроки, + | Расшифровка.Примечание КАК Примечание, + | Расшифровка.Ссылка.Дата КАК Дата + |ИЗ + | Документ.КассовоеПоступление.РасшифровкаПлатежа КАК Расшифровка + |ГДЕ + | Расшифровка.Ссылка В (&ДокументыПоступления)"; + Запрос.УстановитьПараметр("ДокументыПоступления", ДокументыПоступления); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Результат.Вставить( + ПС_УчетРодительскойПлаты.ИдентификаторСтрокиПоступления(Выборка.Ссылка, Выборка.НомерСтроки), + Новый Структура("Примечание, Дата", Выборка.Примечание, Выборка.Дата)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервере +Процедура ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО) + + Если ЗначенияКФО.Количество() = 1 И НЕ ЗначениеЗаполнено(Объект.КФО) Тогда + Для Каждого КлючИЗначение Из ЗначенияКФО Цикл + Объект.КФО = КлючИЗначение.Ключ; + КонецЦикла; + КонецЕсли; + + Если ЗначенияИФО.Количество() = 1 И НЕ ЗначениеЗаполнено(Объект.ИФО) Тогда + Для Каждого КлючИЗначение Из ЗначенияИФО Цикл + Объект.ИФО = КлючИЗначение.Ключ; + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка) + + ПараметрыФормы = Новый Структура; + Отбор = Новый Структура("Регистратор", ДокументСсылка); + ПараметрыФормы.Вставить("Отбор", Отбор); + + ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка", + ПараметрыФормы, + ЭтотОбъект, + "Проводки" + Строка(ДокументСсылка)); + +КонецПроцедуры + +#КонецОбласти diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl new file mode 100644 index 0000000..7fe5880 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ManagerModule.bsl @@ -0,0 +1,80 @@ +// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль менеджера. +// Печатная форма извещения (ф. 0504805, ред. 103н) - сторона получателя (централизованная бухгалтерия). +// Заполнение макета выполняет общая логика подсистемы: ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805. + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Формирует табличный документ извещения (ф. 0504805, ред. 103н). +// Вызывается из модуля формы документа кнопкой "Печать". +// +// Параметры: +// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - печатаемый документ. +// +// Возвращаемое значение: +// ТабличныйДокумент +// +Функция СформироватьПечатныеФормыИзвещений(ДокументСсылка) Экспорт + + Возврат ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка); + +КонецФункции + +// Заполняет список команд печати документа. +// +// Параметры: +// КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати. +// +Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт + + КомандаПечати = КомандыПечати.Добавить(); + КомандаПечати.МенеджерПечати = "Документ.ПС_ПередачаПоступившихПлатежейВУчреждения"; + КомандаПечати.Идентификатор = "Извещение0504805"; + КомандаПечати.Представление = "Извещение (ф. 0504805)"; + КомандаПечати.Порядок = 1; + + КомандаПечати = КомандыПечати.Добавить(); + КомандаПечати.МенеджерПечати = "Документ.ПС_ПередачаПоступившихПлатежейВУчреждения"; + КомандаПечати.Идентификатор = "РеестрПлатежей"; + КомандаПечати.Представление = "Реестр платежей"; + КомандаПечати.Порядок = 2; + +КонецПроцедуры + +// Формирует печатные формы документа для подсистемы БСП "Печать". +// +// Параметры: +// МассивОбъектов - Массив из ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - печатаемые документы. +// ПараметрыПечати - Структура - параметры печати. +// КоллекцияПечатныхФорм - ТаблицаЗначений - коллекция печатных форм. +// ОбъектыПечати - Соответствие из КлючИЗначение - соответствие объектов печати. +// ПараметрыВывода - Структура - параметры вывода. +// +Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт + + Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Извещение0504805") Тогда + Для Каждого ДокументСсылка Из МассивОбъектов Цикл + УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( + КоллекцияПечатныхФорм, + "Извещение0504805", + "Извещение (ф. 0504805)", + ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка)); + КонецЦикла; + КонецЕсли; + + Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрПлатежей") Тогда + Для Каждого ДокументСсылка Из МассивОбъектов Цикл + УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( + КоллекцияПечатныхФорм, + "РеестрПлатежей", + "Реестр платежей", + ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка)); + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl new file mode 100644 index 0000000..94f4a9b --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ObjectModule.bsl @@ -0,0 +1,132 @@ +// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль объекта. +// Сторона ЦБ — администратор кассовых поступлений. Бухгалтерских проводок документ не формирует: +// учёт ведётся в регистре накопления ПС_ВзаиморасчетыПоРодительскойПлате, а информация +// передаётся учреждению реестром платежей и извещением (ф. 0504805). +// Документ собирает поступившие платежи (приход в регистре накопления +// ПС_ВзаиморасчетыПоРодительскойПлате, сделанный кассовыми поступлениями) +// и передаёт их учреждениям — расход по тому же регистру. Пока передано не всё, +// остаток регистра ненулевой; он и служит контролем полноты передачи. + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ОбработкаПроведения(Отказ, РежимПроведения) + + Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить(); + Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина; + + Для Каждого СтрокаЗадолженности Из Задолженность Цикл + + // Взаиморасчёты: переданные в учреждение поступившие платежи списываются расходом. + ДвижениеПС = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьРасход(); + ДвижениеПС.Период = Дата; + ДвижениеПС.Организация = Организация; + ДвижениеПС.Учреждение = Учреждение; + ДвижениеПС.Плательщик = СтрокаЗадолженности.Контрагент; + ДвижениеПС.Ребенок = СтрокаЗадолженности.Ребенок; + ДвижениеПС.Договор = СтрокаЗадолженности.Договор; + ДвижениеПС.ИФО = ИФО; + ДвижениеПС.КФО = КФО; + ДвижениеПС.КПС = СтрокаЗадолженности.КПС; + ДвижениеПС.Сумма = СтрокаЗадолженности.Сумма; + ДвижениеПС.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПередачаВУчреждение; + ДвижениеПС.ИДСтроки = СтрокаЗадолженности.ИДСтроки; + + КонецЦикла; + +КонецПроцедуры + +Процедура ОбработкаУдаленияПроведения(Отказ) + + Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина; + +КонецПроцедуры + +Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект); + + ЗаполнитьРеквизитыПоУмолчанию(); + + СуммаДокумента = Задолженность.Итог("Сумма"); + +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + // Изменение данных подписанного извещения обесценивает его электронный документ: + // расходящиеся электронные документы аннулируются. + ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ); + + // Связанное извещение перезаполняется по актуальным строкам реестра, + // чтобы его печатная форма не разошлась с документом. + ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект); + +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + Если НЕ ЗначениеЗаполнено(Организация) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнена организация (ЦБ)", , "Организация", "Объект", Отказ); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(КФО) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнен КФО", , "КФО", "Объект", Отказ); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Учреждение) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнено учреждение (получатель)", , "Учреждение", "Объект", Отказ); + КонецЕсли; + + Если Задолженность.Количество() = 0 Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнена табличная часть ""Задолженность""", , "Задолженность", "Объект", Отказ); + Иначе + Для Каждого СтрокаЗадолженности Из Задолженность Цикл + Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Не заполнен КПС строки табличной части ""Задолженность""." + + " Заполните строки по поступившим платежам.", + , "Задолженность", "Объект", Отказ); + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + СуммаПоТаблице = Задолженность.Итог("Сумма"); + Если СуммаДокумента <> СуммаПоТаблице Тогда + ОбщегоНазначения.СообщитьПользователю("Сумма документа не совпадает с итогом по табличной части", , "СуммаДокумента", "Объект", Отказ); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК +// значениями по умолчанию, если они не заданы пользователем. +// +Процедура ЗаполнитьРеквизитыПоУмолчанию() + + Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда + СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда + КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель/Template.mxlx similarity index 99% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП/Template.mxlx rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель/Template.mxlx index 8d17fed..b80a0c7 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП/Template.mxlx +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель/Template.mxlx @@ -1186,12 +1186,7 @@ 2 59 - - - ru - - - + @@ -2360,12 +2355,7 @@ 2 59 - - - ru - - - + @@ -3992,6 +3982,8 @@ -1 + #000080 + #000080 Solid diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ПС_ПринятиеЗадолженностиОтУчреждения.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo similarity index 71% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ПС_ПринятиеЗадолженностиОтУчреждения.mdo rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo index 5e14160..181288c 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ПС_ПринятиеЗадолженностиОтУчреждения.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаПоступившихПлатежейВУчреждения/ПС_ПередачаПоступившихПлатежейВУчреждения.mdo @@ -7,10 +7,10 @@ - ПС_ПринятиеЗадолженностиОтУчреждения + ПС_ПередачаПоступившихПлатежейВУчреждения ru - Принятие в ЦБ начислений от учреждения + Передача поступивших платежей в учреждение true DontUse @@ -18,19 +18,18 @@ Use ru - Принятие задолженности от учреждения + Передача поступивших платежей в учреждение ru - Принятия в ЦБ начислений от учреждения + Передачи поступивших платежей в учреждение String 9 Variable true true - Document.ПС_ПринятиеЗадолженностиОтУчреждения.Form.ФормаДокумента - AccountingRegister.ЖурналПроводокЕПСБУ + Document.ПС_ПередачаПоступившихПлатежейВУчреждения.Form.ФормаДокумента AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате true true @@ -38,7 +37,7 @@ Организация ru - Организация (ЦБ) + Отправитель (ЦБ) CatalogRef.Организации @@ -64,21 +63,6 @@ Use Use - - Учреждение - - ru - Учреждение-отправитель - - - CatalogRef.Контрагенты - - - - - Use - Use - Период @@ -116,21 +100,6 @@ Use Use - - ДокументПередачи - - ru - Документ передачи - - - DocumentRef.ПС_ПередачаЗадолженностиВЦБ - - - - - Use - Use - Ответственный @@ -178,21 +147,6 @@ Use Use - - ПередачаСальдо - - ru - Передача начального сальдо - - - Boolean - - - - - Use - Use - КЭККорреспондент @@ -223,6 +177,51 @@ Use Use + + Учреждение + + ru + Получатель (учреждение) + + + CatalogRef.Организации + + + + + Use + Use + + + ИзвещениеИсходящее + + ru + Извещение исходящее + + + DocumentRef.ИзвещениеИсходящее + + + + + Use + Use + + + ПринятиеПлатежей + + ru + Документ принятия платежей + + + DocumentRef.ПС_ПринятиеПоступившихПлатежейИзЦБ + + + + + Use + Use + ФормаДокумента @@ -287,7 +286,7 @@ String - 25 + 50 @@ -327,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н_ПС_РП_Получатель diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Forms/ФормаДокумента/Module.bsl deleted file mode 100644 index 1246c2e..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Forms/ФормаДокумента/Module.bsl +++ /dev/null @@ -1,232 +0,0 @@ -// ПС_ПринятиеЗадолженностиОтУчреждения: модуль формы документа. - -#Область ОбработчикиСобытийФормы - -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - - БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация); - - // ИФО показывается только при включённом учёте по ИФО (как в типовых документах). - Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО"); - // КПС определяется автоматически по настройкам учётной политики. - Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина; - - // Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию - // (в режиме начального сальдо наследуются из документа передачи). - ЗаполнитьКорреспондирующийСчетПоУмолчанию(); - - Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда - Основание = Неопределено; - Если Параметры.Свойство("Основание", Основание) - И ТипЗнч(Основание) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда - Объект.ДокументПередачи = Основание; - ЗаполнитьПоДокументуПередачиНаСервере(Основание); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда - Объект.Организация = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить(); - КонецЕсли; - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ПриЧтенииНаСервере(ТекущийОбъект) - - БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация); - -КонецПроцедуры - -&НаКлиенте -Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) - - БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект); - -КонецПроцедуры - -&НаСервере -Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) - - БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект); - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗаписи(ПараметрыЗаписи) - - БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект); - -КонецПроцедуры - -&НаСервере -Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) - - БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиКомандФормы - -&НаКлиенте -Процедура ПечатьИзвещения(Команда) - - ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка); - ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - получатель"); - -КонецПроцедуры - -&НаКлиенте -Процедура ПросмотрБухгалтерскихЗаписей(Команда) - - ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка); - -КонецПроцедуры - -#КонецОбласти - -#Область ОбработчикиСобытийЭлементовФормы - -&НаКлиенте -Процедура ДокументПередачиПриИзменении(Элемент) - - Если ЗначениеЗаполнено(Объект.ДокументПередачи) Тогда - ЗаполнитьПоДокументуПередачиНаСервере(Объект.ДокументПередачи); - Иначе - Объект.Задолженность.Очистить(); - Объект.СуммаДокумента = 0; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗадолженностьПриИзменении(Элемент) - - Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма"); - -КонецПроцедуры - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -&НаСервере -Функция ПечатьИзвещенияНаСервере(ДокументСсылка) - - Возврат Документы.ПС_ПринятиеЗадолженностиОтУчреждения.СформироватьПечатныеФормыИзвещений(ДокументСсылка); - -КонецФункции - -&НаСервере -Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию() - - Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда - Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда - Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); - КонецЕсли; - -КонецПроцедуры - -&НаСервере -Процедура ЗаполнитьПоДокументуПередачиНаСервере(ДокументПередачиСсылка) - - Если НЕ ЗначениеЗаполнено(ДокументПередачиСсылка) Тогда - Возврат; - КонецЕсли; - - // Заполнение возможно только на основании проведённого документа передачи. - Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументПередачиСсылка, "Проведен") Тогда - ОбщегоНазначения.СообщитьПользователю( - "Заполнение документа возможно только на основании проведённого документа передачи задолженности."); - Возврат; - КонецЕсли; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | ПередачаЗадолженности.ЦБ КАК Организация, - | ПередачаЗадолженности.Организация КАК Учреждение, - | ПередачаЗадолженности.ИФО КАК ИФО, - | ПередачаЗадолженности.Ответственный КАК Ответственный, - | ПередачаЗадолженности.Период КАК Период - |ИЗ - | Документ.ПС_ПередачаЗадолженностиВЦБ КАК ПередачаЗадолженности - |ГДЕ - | ПередачаЗадолженности.Ссылка = &Ссылка - |; - | - |//////////////////////////////////////////////////////////////////////////////// - |ВЫБРАТЬ - | ПередачаЗадолженностиЗадолженность.Контрагент КАК Контрагент, - | ПередачаЗадолженностиЗадолженность.Договор КАК Договор, - | ПередачаЗадолженностиЗадолженность.Ребенок КАК Ребенок, - | ПередачаЗадолженностиЗадолженность.ИДСтроки КАК ИДСтроки, - | ПередачаЗадолженностиЗадолженность.Сумма КАК Сумма - |ИЗ - | Документ.ПС_ПередачаЗадолженностиВЦБ.Задолженность КАК ПередачаЗадолженностиЗадолженность - |ГДЕ - | ПередачаЗадолженностиЗадолженность.Ссылка = &Ссылка"; - Запрос.УстановитьПараметр("Ссылка", ДокументПередачиСсылка); - - Результаты = Запрос.ВыполнитьПакет(); - - ВыборкаШапка = Результаты[0].Выбрать(); - Если НЕ ВыборкаШапка.Следующий() Тогда - Возврат; - КонецЕсли; - - Объект.Организация = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ВыборкаШапка.Организация, "Организация (ЦБ)"); - Объект.Учреждение = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ВыборкаШапка.Учреждение, "Учреждение-отправитель"); - Объект.Ответственный = ВыборкаШапка.Ответственный; - Объект.Период = ВыборкаШапка.Период; - Объект.ДокументПередачи = ДокументПередачиСсылка; - - // Режим начального сальдо и корреспондирующий счёт с КЭК наследуются от документа передачи. - РеквизитыПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачиСсылка, - "ПередачаСальдо, СчетКорреспондент, КЭККорреспондент"); - Объект.ПередачаСальдо = РеквизитыПередачи.ПередачаСальдо; - Объект.СчетКорреспондент = РеквизитыПередачи.СчетКорреспондент; - Объект.КЭККорреспондент = РеквизитыПередачи.КЭККорреспондент; - - Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда - Объект.ИФО = ВыборкаШапка.ИФО; - КонецЕсли; - - Объект.Задолженность.Очистить(); - Объект.СуммаДокумента = 0; - - ВыборкаСтроки = Результаты[1].Выбрать(); - Пока ВыборкаСтроки.Следующий() Цикл - - НоваяСтрока = Объект.Задолженность.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки); - Объект.СуммаДокумента = Объект.СуммаДокумента + ВыборкаСтроки.Сумма; - - КонецЦикла; - - // КФО документа и КПС строк - из проводок документа передачи. - ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(Объект, ДокументПередачиСсылка); - -КонецПроцедуры - -&НаКлиенте -Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка) - - ПараметрыФормы = Новый Структура; - Отбор = Новый Структура("Регистратор", ДокументСсылка); - ПараметрыФормы.Вставить("Отбор", Отбор); - - ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка", - ПараметрыФормы, - ЭтотОбъект, - УникальныйИдентификатор); - -КонецПроцедуры - -#КонецОбласти - diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ManagerModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ManagerModule.bsl deleted file mode 100644 index 8d79c13..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ManagerModule.bsl +++ /dev/null @@ -1,26 +0,0 @@ -// ПС_ПринятиеЗадолженностиОтУчреждения: модуль менеджера. -// Печатная форма извещения (ф. 0504805, ред. 103н) - сторона получателя (централизованная бухгалтерия). -// Заполнение макета выполняет общая логика подсистемы: ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805. - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ПрограммныйИнтерфейс - -// Формирует табличный документ извещения (ф. 0504805, ред. 103н). -// Вызывается из модуля формы документа кнопкой "Печать". -// -// Параметры: -// ДокументСсылка - ДокументСсылка.ПС_ПринятиеЗадолженностиОтУчреждения - печатаемый документ. -// -// Возвращаемое значение: -// ТабличныйДокумент -// -Функция СформироватьПечатныеФормыИзвещений(ДокументСсылка) Экспорт - - Возврат ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка); - -КонецФункции - -#КонецОбласти - -#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ObjectModule.bsl deleted file mode 100644 index 81d6d1a..0000000 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/ObjectModule.bsl +++ /dev/null @@ -1,290 +0,0 @@ -// ПС_ПринятиеЗадолженностиОтУчреждения: модуль объекта. -// Сторона ЦБ: Дт 205.31.56X — Кт 304.04.130. -// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением -// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ. -// Кроме проводок документ формирует приход в регистре накопления -// ПС_ВзаиморасчетыПоРодительскойПлате (принятая от учреждения задолженность). - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ОбработчикиСобытий - -Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) - - Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда - - // Заполнение возможно только на основании проведённого документа передачи. - Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения, "Проведен") Тогда - ОбщегоНазначения.СообщитьПользователю( - "Заполнение документа возможно только на основании проведённого документа передачи задолженности."); - Возврат; - КонецЕсли; - - Запрос = Новый Запрос; - Запрос.Текст = - "ВЫБРАТЬ - | ПередачаЗадолженности.ЦБ КАК Организация, - | ПередачаЗадолженности.Организация КАК Учреждение, - | ПередачаЗадолженности.ИФО КАК ИФО, - | ПередачаЗадолженности.Ответственный КАК Ответственный, - | ПередачаЗадолженности.Период КАК Период, - | ПередачаЗадолженности.КФО КАК КФО, - | ПередачаЗадолженности.ПередачаСальдо КАК ПередачаСальдо, - | ПередачаЗадолженности.СчетКорреспондент КАК СчетКорреспондент, - | ПередачаЗадолженности.КЭККорреспондент КАК КЭККорреспондент - |ИЗ - | Документ.ПС_ПередачаЗадолженностиВЦБ КАК ПередачаЗадолженности - |ГДЕ - | ПередачаЗадолженности.Ссылка = &Ссылка"; - Запрос.УстановитьПараметр("Ссылка", ДанныеЗаполнения); - ВыборкаШапка = Запрос.Выполнить().Выбрать(); - Если ВыборкаШапка.Следующий() Тогда - // Организация на стороне ЦБ — берём организацию-получатель из передачи (это и есть ЦБ). - ОрганизацияЦБ = ВыборкаШапка.Организация; - Если ЗначениеЗаполнено(ОрганизацияЦБ) Тогда - Организация = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ОрганизацияЦБ, "Организация (ЦБ)"); - КонецЕсли; - // Учреждение-отправитель (ПБС) — берём организацию-отправитель из передачи - // (там тип CatalogRef.Организации), а в нашем документе нужен CatalogRef.Контрагенты. - УчреждениеОрганизация = ВыборкаШапка.Учреждение; - Если ЗначениеЗаполнено(УчреждениеОрганизация) Тогда - Учреждение = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(УчреждениеОрганизация, "Учреждение-отправитель"); - КонецЕсли; - Ответственный = ВыборкаШапка.Ответственный; - Период = ВыборкаШапка.Период; - КФО = ВыборкаШапка.КФО; - ДокументПередачи = ДанныеЗаполнения; - // Режим начального сальдо и корреспондирующий счёт с КЭК наследуются от передачи. - ПередачаСальдо = ВыборкаШапка.ПередачаСальдо; - СчетКорреспондент = ВыборкаШапка.СчетКорреспондент; - КЭККорреспондент = ВыборкаШапка.КЭККорреспондент; - // Учёт по ИФО ведётся только при включённой функциональной опции. - Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда - ИФО = ВыборкаШапка.ИФО; - КонецЕсли; - КонецЕсли; - - ЗапросСтроки = Новый Запрос; - ЗапросСтроки.Текст = - "ВЫБРАТЬ - | ПередачаЗадолженностиЗадолженность.Контрагент КАК Контрагент, - | ПередачаЗадолженностиЗадолженность.Договор КАК Договор, - | ПередачаЗадолженностиЗадолженность.Ребенок КАК Ребенок, - | ПередачаЗадолженностиЗадолженность.ИДСтроки КАК ИДСтроки, - | ПередачаЗадолженностиЗадолженность.Сумма КАК Сумма - |ИЗ - | Документ.ПС_ПередачаЗадолженностиВЦБ.Задолженность КАК ПередачаЗадолженностиЗадолженность - |ГДЕ - | ПередачаЗадолженностиЗадолженность.Ссылка = &Ссылка"; - ЗапросСтроки.УстановитьПараметр("Ссылка", ДанныеЗаполнения); - ВыборкаСтроки = ЗапросСтроки.Выполнить().Выбрать(); - Пока ВыборкаСтроки.Следующий() Цикл - НоваяСтрока = Задолженность.Добавить(); - ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки); - СуммаДокумента = СуммаДокумента + ВыборкаСтроки.Сумма; - КонецЦикла; - - // КФО документа и КПС строк - из проводок документа передачи. - ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДанныеЗаполнения); - - КонецЕсли; - -КонецПроцедуры - -Процедура ОбработкаПроведения(Отказ, РежимПроведения) - - Движения.ЖурналПроводокЕПСБУ.Очистить(); - Движения.ЖурналПроводокЕПСБУ.Записывать = Истина; - Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок"); - - Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить(); - Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина; - - СчетДт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация); - - // Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК наследуются - // из документа передачи (заполняются при вводе на основании). - СчетКт = СчетКорреспондент; - Если НЕ ЗначениеЗаполнено(СчетКт) Тогда - ОбщегоНазначения.СообщитьПользователю( - "Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.", - , "СчетКорреспондент", "Объект", Отказ); - Возврат; - КонецЕсли; - - ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт); - - // КПС строк наследуется из проводок документа передачи (см. ЗаполнитьКПССтрок), - // КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ). - Для Каждого СтрокаЗадолженности Из Задолженность Цикл - - Движение = Движения.ЖурналПроводокЕПСБУ.Добавить(); - Движение.Период = Дата; - Движение.Организация = Организация; - Движение.ИФО = ИФО; - Движение.КФО = КФО; - Движение.СчетДт = СчетДт; - Движение.СчетКт = СчетКт; - Движение.КПСДт = СтрокаЗадолженности.КПС; - Движение.КПСКт = СтрокаЗадолженности.КПС; - Движение.КЭКДт = КЭКПроводки(СчетДт, "Дт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор); - Движение.КЭККт = КЭККорреспондент; - Движение.Сумма = СтрокаЗадолженности.Сумма; - Движение.ЖурналОпераций = ЖурналОпераций; - Движение.Содержание = "Принятие задолженности по родительской плате от учреждения"; - - Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент; - Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор; - Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = Учреждение; - - // Взаиморасчеты по родительской плате: принятая от учреждения задолженность. - ДвижениеПС = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьПриход(); - ДвижениеПС.Период = Дата; - ДвижениеПС.Организация = Организация; - ДвижениеПС.Учреждение = Учреждение; - ДвижениеПС.Плательщик = СтрокаЗадолженности.Контрагент; - ДвижениеПС.Ребенок = СтрокаЗадолженности.Ребенок; - ДвижениеПС.Договор = СтрокаЗадолженности.Договор; - ДвижениеПС.ИФО = ИФО; - ДвижениеПС.КФО = КФО; - ДвижениеПС.КПС = СтрокаЗадолженности.КПС; - ДвижениеПС.Сумма = СтрокаЗадолженности.Сумма; - ДвижениеПС.ВидОперации = ?(ПередачаСальдо, - Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.НачальноеСальдо, - Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПринятоОтУчреждения); - ДвижениеПС.ИДСтроки = СтрокаЗадолженности.ИДСтроки; - ДвижениеПС.ДокументПередачи = ДокументПередачи; - - КонецЦикла; - - // В конфигурации есть подписка на событие "ОбработкаПроведения" (ЗаписатьТаблицуПроводок), - // которая выполняется после модуля объекта и перезаписывает проводки документа: если таблица - // проводок не передана, набор записей регистра очищается. Поэтому передаём сформированную - // таблицу через ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок. - БухгалтерскиеОперацииСервер.ИнициализироватьБухгалтерскиеОперации(ЭтотОбъект); - ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок = Движения.ЖурналПроводокЕПСБУ.Выгрузить(); - -КонецПроцедуры - -Процедура ОбработкаУдаленияПроведения(Отказ) - - Движения.ЖурналПроводокЕПСБУ.Записывать = Истина; - Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина; - -КонецПроцедуры - -Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) - - Если ОбменДанными.Загрузка Тогда - Возврат; - КонецЕсли; - - ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект); - - ЗаполнитьРеквизитыПоУмолчанию(); - - СуммаДокумента = Задолженность.Итог("Сумма"); - ЗаполнитьКПССтрок(); - -КонецПроцедуры - -Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) - - Если НЕ ЗначениеЗаполнено(Организация) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнена организация (ЦБ)", , "Организация", "Объект", Отказ); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(Учреждение) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнено учреждение (сад-отправитель)", , "Учреждение", "Объект", Отказ); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(ДокументПередачи) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнен документ передачи задолженности", , "ДокументПередачи", "Объект", Отказ); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(КФО) Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнен КФО", , "КФО", "Объект", Отказ); - КонецЕсли; - - Если Задолженность.Количество() = 0 Тогда - ОбщегоНазначения.СообщитьПользователю("Не заполнена табличная часть ""Задолженность""", , "Задолженность", "Объект", Отказ); - Иначе - Для Каждого СтрокаЗадолженности Из Задолженность Цикл - Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда - ТекстСообщения = "Не заполнен КПС строки табличной части ""Задолженность""."; - Если НЕ ПередачаСальдо Тогда - ТекстСообщения = ТекстСообщения - + " Заполнение возможно только на основании проведённого документа передачи задолженности."; - КонецЕсли; - ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "Задолженность", "Объект", Отказ); - Прервать; - КонецЕсли; - КонецЦикла; - КонецЕсли; - - СуммаПоТаблице = Задолженность.Итог("Сумма"); - Если СуммаДокумента <> СуммаПоТаблице Тогда - ОбщегоНазначения.СообщитьПользователю("Сумма документа не совпадает с итогом по табличной части", , "СуммаДокумента", "Объект", Отказ); - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК -// значениями по умолчанию, если они не заданы пользователем. -// -Процедура ЗаполнитьРеквизитыПоУмолчанию() - - Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда - СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); - КонецЕсли; - - Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда - КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); - КонецЕсли; - -КонецПроцедуры - -// Заполняет строки табличной части "Задолженность" КПС, унаследованным -// из проводок документа передачи задолженности. -// -Процедура ЗаполнитьКПССтрок() - - ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДокументПередачи); - -КонецПроцедуры - -// Возвращает КЭК проводки, определённый по настройкам счёта -// и типу контрагента (подстатья КОСГУ). -// -// Параметры: -// Счет - ПланСчетовСсылка.ЕПСБУ - счёт проводки. -// ДтКт - Строка - сторона проводки: "Дт" или "Кт". -// Субконто1 - Произвольный - значение первого субконто проводки. -// Субконто2 - Произвольный - значение второго субконто проводки. -// -// Возвращаемое значение: -// СправочникСсылка.КОСГУ - КЭК проводки. -// -Функция КЭКПроводки(Счет, ДтКт, Субконто1 = Неопределено, Субконто2 = Неопределено) - - ПараметрыКЭК = БухгалтерскийУчетКлиентСервер.ПараметрыРасчетаКЭКПроводки(); - ПараметрыКЭК.Организация = Организация; - ПараметрыКЭК.ИФО = ИФО; - ПараметрыКЭК.КФО = КФО; - ПараметрыКЭК.Дата = Дата; - ПараметрыКЭК.Счет = Счет; - ПараметрыКЭК.ДтКт = ДтКт; - ПараметрыКЭК.Субконто1 = Субконто1; - ПараметрыКЭК.Субконто2 = Субконто2; - - Возврат БухгалтерскийУчет.КЭКПроводки(ПараметрыКЭК); - -КонецФункции - -#КонецОбласти - -#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Forms/ФормаДокумента/Form.form b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form similarity index 77% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Forms/ФормаДокумента/Form.form rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form index f452bac..8852316 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/Forms/ФормаДокумента/Form.form +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Form.form @@ -722,6 +722,276 @@ Normal + + ЗадолженностьЛицевойСчет + 119 + + <key>ru</key> + <value>Лицевой счет</value> + + true + true + + true + + + Объект.Задолженность.ЛицевойСчет + + + ЗадолженностьЗадолженностьЛицевойСчетРасширеннаяПодсказка + 121 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьЛицевойСчетКонтекстноеМеню + 120 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьНазначениеПлатежа + 122 + + <key>ru</key> + <value>Назначение платежа</value> + + true + true + + true + + + Объект.Задолженность.НазначениеПлатежа + + + ЗадолженностьЗадолженностьНазначениеПлатежаРасширеннаяПодсказка + 124 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьНазначениеПлатежаКонтекстноеМеню + 123 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьРасчетныйСчет + 125 + + <key>ru</key> + <value>Расчетный счет</value> + + true + true + + true + + + Объект.Задолженность.РасчетныйСчет + + + ЗадолженностьЗадолженностьРасчетныйСчетРасширеннаяПодсказка + 127 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьРасчетныйСчетКонтекстноеМеню + 126 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьГруппа + 128 + + <key>ru</key> + <value>Группа</value> + + true + true + + true + + + Объект.Задолженность.Группа + + + ЗадолженностьЗадолженностьГруппаРасширеннаяПодсказка + 130 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьГруппаКонтекстноеМеню + 129 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьПериодОплаты + 131 + + <key>ru</key> + <value>Период оплаты</value> + + true + true + + true + + + Объект.Задолженность.ПериодОплаты + + + ЗадолженностьЗадолженностьПериодОплатыРасширеннаяПодсказка + 133 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьПериодОплатыКонтекстноеМеню + 132 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + + + ЗадолженностьДатаПлатежа + 134 + + <key>ru</key> + <value>Дата приема платежа</value> + + true + true + + true + + + Объект.Задолженность.ДатаПлатежа + + + ЗадолженностьЗадолженностьДатаПлатежаРасширеннаяПодсказка + 136 + Label + true + true + + Left + + + + ЗадолженностьЗадолженностьДатаПлатежаКонтекстноеМеню + 135 + true + + InputField + Auto + true + Left + true + + true + true + true + true + true + true + Normal + + ЗадолженностьКоманднаяПанель 30 @@ -873,27 +1143,23 @@ ГруппаСтраницыОперации 94 - ПередачаСальдо - 98 - - <key>ru</key> - <value>Передача начального сальдо</value> - + ДокументПередачи + 111 true true true - Объект.ПередачаСальдо + Объект.ДокументПередачи OnChange - ПередачаСальдоПриИзменении + ДокументПередачиПриИзменении - ПередачаСальдоРасширеннаяПодсказка - 100 + ДокументПередачиРасширеннаяПодсказка + 113 Label true true @@ -902,61 +1168,22 @@ - ПередачаСальдоКонтекстноеМеню - 99 + ДокументПередачиКонтекстноеМеню + 112 true - CheckBoxField + LabelField Enter true Left true - - - - ДокументНачисления - 19 - true - true - - true - - - Объект.ДокументНачисления - - - OnChange - ДокументНачисленияПриИзменении - - - ДокументНачисленияРасширеннаяПодсказка - 21 - Label + true true - - Left - - - - ДокументНачисленияКонтекстноеМеню - 20 - true - - InputField - EnterOnInput - true - Left - true - - true - true - true - true - true - true - true - Normal + true + + 1 + @@ -1046,6 +1273,51 @@ Normal + + ВидПлатежаВБюджет + 116 + + <key>ru</key> + <value>Вид платежа в бюджет (аналитика 303.05)</value> + + true + true + + true + + + Объект.ВидПлатежаВБюджет + + + ВидПлатежаВБюджетРасширеннаяПодсказка + 118 + Label + true + true + + Left + + + + ВидПлатежаВБюджетКонтекстноеМеню + 117 + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + Normal + + ГруппаКорреспондентующегоСчёта 109 @@ -1170,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 @@ -1398,16 +1710,16 @@ Auto - СоздатьПринятиеЗадолженностиНаОсновании - 77 + ЗаполнитьПоДокументуПередачи + 114 true true true - ФормаСоздатьПринятиеЗадолженностиНаОснованииРасширеннаяПодсказка - 78 + ФормаЗаполнитьПоДокументуПередачиРасширеннаяПодсказка + 115 Label true true @@ -1415,7 +1727,7 @@ Left - Form.Command.СоздатьПринятиеЗадолженностиНаОсновании + Form.Command.ЗаполнитьПоДокументуПередачи Normal Auto true @@ -1424,16 +1736,16 @@ Auto - ЗаполнитьПоОстаткам20531 - 107 + ПечатьРеестраПлатежей + 137 true true true - ФормаЗаполнитьПоОстаткам20531РасширеннаяПодсказка - 108 + ФормаПечатьРеестраПлатежейРасширеннаяПодсказка + 138 Label true true @@ -1441,7 +1753,33 @@ Left - Form.Command.ЗаполнитьПоОстаткам20531 + Form.Command.ПечатьРеестраПлатежей + Normal + Auto + true + true + UserCmds + Auto + + + СоздатьИзвещение + 139 + true + true + + true + + + ФормаСоздатьИзвещениеРасширеннаяПодсказка + 140 + Label + true + true + + Left + + + Form.Command.СоздатьИзвещение Normal Auto true @@ -1469,7 +1807,7 @@ Объект 1 - DocumentObject.ПС_ПередачаЗадолженностиВЦБ + DocumentObject.ПС_ПринятиеПоступившихПлатежейИзЦБ true @@ -1519,10 +1857,10 @@ - СоздатьПринятиеЗадолженностиНаОсновании + ЗаполнитьПоДокументуПередачи <key>ru</key> - <value>Создать принятие на основании</value> + <value>Заполнить по документу передачи</value> 3 @@ -1530,15 +1868,15 @@ - ПС_СоздатьПринятиеЗадолженностиНаОсновании + ЗаполнитьПоДокументуПередачи - ЗаполнитьПоОстаткам20531 + ПечатьРеестраПлатежей <key>ru</key> - <value>Заполнить по остаткам счета 205.31</value> + <value>Реестр платежей</value> 4 @@ -1546,7 +1884,23 @@ - ЗаполнитьПоОстаткам20531 + ПечатьРеестраПлатежей + + + + + СоздатьИзвещение + + <key>ru</key> + <value>Создать извещение 0504805</value> + + 5 + + true + + + + СоздатьИзвещение diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl new file mode 100644 index 0000000..7ca78ff --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Forms/ФормаДокумента/Module.bsl @@ -0,0 +1,271 @@ +// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль формы документа. + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация); + + // ИФО показывается только при включённом учёте по ИФО (как в типовых документах). + Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО"); + // КПС определяется автоматически по настройкам учётной политики. + Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина; + + // Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию. + ЗаполнитьКорреспондирующийСчетПоУмолчанию(); + + Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда + + // Сад (получатель) задаётся при открытии формы из документа передачи платежей: + // до заполнения он должен быть известен, иначе строки не подберутся. + ОрганизацияСада = Неопределено; + Если Параметры.Свойство("ОрганизацияСада", ОрганизацияСада) + И ЗначениеЗаполнено(ОрганизацияСада) Тогда + Объект.Организация = ОрганизацияСада; + КонецЕсли; + + // Форма открывается командой "Создать приём платежей" документа передачи: + // из него переносятся реквизиты учёта, а строки подбираются по саду документа. + ДокументПередачи = Неопределено; + Если Параметры.Свойство("ДокументПередачи", ДокументПередачи) + И ТипЗнч(ДокументПередачи) = Тип("ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения") Тогда + ДокументОбъект = РеквизитФормыВЗначение("Объект"); + ДокументОбъект.Заполнить(ДокументПередачи); + ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Объект.ЦБ) Тогда + Объект.ЦБ = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить(); + КонецЕсли; + + КонецЕсли; + + // Состояние внутреннего ЭДО (подсистема БГУ): организация документа уже определена. + ОбщегоНазначенияБГУ.ПриСозданииНаСервере(ЭтотОбъект, Объект); + +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация); + + ОбщегоНазначенияБГУ.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект); + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) + + БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +&НаСервере +Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗаписи(ПараметрыЗаписи) + + БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект); + +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + // Обновляет гиперссылку состояния внутреннего ЭДО (подсистема БГУ). + ОбщегоНазначенияБГУКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +&НаКлиенте +Процедура Подключаемый_ДекорацияБГУНажатие(Элемент, СтандартнаяОбработка) + + ОбщегоНазначенияБГУКлиент.ДекорацияНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка); + +КонецПроцедуры + +&НаКлиенте +Процедура ДокументПередачиПриИзменении(Элемент) + + // При смене документа передачи строки подбираются заново по саду документа. + Если ЗначениеЗаполнено(Объект.ДокументПередачи) + И ЗначениеЗаполнено(Объект.Организация) Тогда + ЗаполнитьПоДокументуПередачиНаСервере(); + Иначе + Объект.Задолженность.Очистить(); + Объект.СуммаДокумента = 0; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадолженность + +&НаКлиенте +Процедура ЗадолженностьПриИзменении(Элемент) + + Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма"); + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ПечатьИзвещения(Команда) + + ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка); + ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - получатель"); + +КонецПроцедуры + +&НаКлиенте +Процедура ПечатьРеестраПлатежей(Команда) + + ТабличныйДокумент = ПечатьРеестраПлатежейНаСервере(Объект.Ссылка); + ТабличныйДокумент.Показать("Реестр платежей"); + +КонецПроцедуры + +&НаКлиенте +Процедура СоздатьИзвещение(Команда) + + Извещение = СоздатьИзвещениеНаСервере(); + Если ЗначениеЗаполнено(Извещение) Тогда + ПараметрыФормы = Новый Структура("Ключ", Извещение); + ОткрытьФорму("Документ.ИзвещениеВходящее.Форма.ФормаДокумента", ПараметрыФормы, ЭтотОбъект); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПросмотрБухгалтерскихЗаписей(Команда) + + ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьПоДокументуПередачи(Команда) + + Если НЕ ЗначениеЗаполнено(Объект.ДокументПередачи) Тогда + СообщениеПользователю = Новый СообщениеПользователю; + СообщениеПользователю.Текст = "Не заполнен документ передачи платежей."; + СообщениеПользователю.Сообщить(); + Возврат; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда + СообщениеПользователю = Новый СообщениеПользователю; + СообщениеПользователю.Текст = "Укажите организацию (учреждение-сад), чтобы подобрать строки."; + СообщениеПользователю.Сообщить(); + Возврат; + КонецЕсли; + + ЗаполнитьПоДокументуПередачиНаСервере(); + +КонецПроцедуры + +&НаКлиенте +Процедура Подключаемый_ВыполнитьКомандуБГУ(Команда) + + ОбщегоНазначенияБГУКлиент.ВыполнитьПодключаемуюКоманду(Команда, ЭтотОбъект, Объект); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Функция ПечатьИзвещенияНаСервере(ДокументСсылка) + + Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.СформироватьПечатныеФормыИзвещений(ДокументСсылка); + +КонецФункции + +&НаСервере +Функция ПечатьРеестраПлатежейНаСервере(ДокументСсылка) + + Возврат ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка); + +КонецФункции + +&НаСервере +Функция СоздатьИзвещениеНаСервере() + + Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда + ОбщегоНазначения.СообщитьПользователю("Сначала запишите документ принятия платежей."); + Возврат Документы.ИзвещениеВходящее.ПустаяСсылка(); + КонецЕсли; + + Извещение = ПС_УчетРодительскойПлаты.СоздатьИзвещениеПоПринятию(Объект.Ссылка); + Если ЗначениеЗаполнено(Извещение) Тогда + Объект.ИзвещениеВходящее = Извещение; + Записать(); + КонецЕсли; + + Возврат Извещение; + +КонецФункции + +&НаСервере +Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию() + + Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда + Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда + Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); + КонецЕсли; + +КонецПроцедуры + +// Подбирает строки табличной части "Задолженность" из документа передачи по саду +// документа (реквизит "Организация"). +// +&НаСервере +Процедура ЗаполнитьПоДокументуПередачиНаСервере() + + ДокументОбъект = РеквизитФормыВЗначение("Объект"); + ДокументОбъект.Заполнить(Объект.ДокументПередачи); + ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка) + + ПараметрыФормы = Новый Структура; + Отбор = Новый Структура("Регистратор", ДокументСсылка); + ПараметрыФормы.Вставить("Отбор", Отбор); + + ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка", + ПараметрыФормы, + ЭтотОбъект, + УникальныйИдентификатор); + +КонецПроцедуры + +#КонецОбласти diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl new file mode 100644 index 0000000..908fb86 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ManagerModule.bsl @@ -0,0 +1,80 @@ +// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль менеджера. +// Печатная форма извещения (ф. 0504805, ред. 103н) - сторона отправителя (учреждение). +// Заполнение макета выполняет общая логика подсистемы: ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805. + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Формирует табличный документ извещения (ф. 0504805, ред. 103н). +// Вызывается из модуля формы документа кнопкой "Печать". +// +// Параметры: +// ДокументСсылка - ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемый документ. +// +// Возвращаемое значение: +// ТабличныйДокумент +// +Функция СформироватьПечатныеФормыИзвещений(ДокументСсылка) Экспорт + + Возврат ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка); + +КонецФункции + +// Заполняет список команд печати документа. +// +// Параметры: +// КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати. +// +Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт + + КомандаПечати = КомандыПечати.Добавить(); + КомандаПечати.МенеджерПечати = "Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ"; + КомандаПечати.Идентификатор = "Извещение0504805"; + КомандаПечати.Представление = "Извещение (ф. 0504805)"; + КомандаПечати.Порядок = 1; + + КомандаПечати = КомандыПечати.Добавить(); + КомандаПечати.МенеджерПечати = "Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ"; + КомандаПечати.Идентификатор = "РеестрПлатежей"; + КомандаПечати.Представление = "Реестр платежей"; + КомандаПечати.Порядок = 2; + +КонецПроцедуры + +// Формирует печатные формы документа для подсистемы БСП "Печать". +// +// Параметры: +// МассивОбъектов - Массив из ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемые документы. +// ПараметрыПечати - Структура - параметры печати. +// КоллекцияПечатныхФорм - ТаблицаЗначений - коллекция печатных форм. +// ОбъектыПечати - Соответствие из КлючИЗначение - соответствие объектов печати. +// ПараметрыВывода - Структура - параметры вывода. +// +Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт + + Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Извещение0504805") Тогда + Для Каждого ДокументСсылка Из МассивОбъектов Цикл + УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( + КоллекцияПечатныхФорм, + "Извещение0504805", + "Извещение (ф. 0504805)", + ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805(ДокументСсылка)); + КонецЦикла; + КонецЕсли; + + Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "РеестрПлатежей") Тогда + Для Каждого ДокументСсылка Из МассивОбъектов Цикл + УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( + КоллекцияПечатныхФорм, + "РеестрПлатежей", + "Реестр платежей", + ПС_УчетРодительскойПлаты.ПечатьРеестраПлатежей(ДокументСсылка)); + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl new file mode 100644 index 0000000..220905e --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ObjectModule.bsl @@ -0,0 +1,257 @@ +// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль объекта. +// Сторона детского сада, методическая операция 1.3: Дт 303.05.831 — Кт 205.31.660 +// (п. 104 Инструкции № 162н) — зачисление суммы в доход бюджета на основании извещения +// от администратора кассовых поступлений. +// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением +// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ. +// Документ вводится на основании документа передачи платежей ЦБ и принимает +// в саду поступившие платежи этого сада. В регистр взаиморасчётов не пишет: +// его ведёт только ЦБ. + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) + + Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения") Тогда + + // Заполнение возможно только на основании проведённого документа передачи. + Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения, "Проведен") Тогда + ОбщегоНазначения.СообщитьПользователю( + "Заполнение документа возможно только на основании проведённого документа передачи платежей."); + Возврат; + КонецЕсли; + + РеквизитыПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДанныеЗаполнения, + "Дата, Период, ИФО, КФО, Ответственный, СчетКорреспондент, КЭККорреспондент, Организация"); + + ДокументПередачи = ДанныеЗаполнения; + Дата = РеквизитыПередачи.Дата; + Период = РеквизитыПередачи.Период; + КФО = РеквизитыПередачи.КФО; + Ответственный = РеквизитыПередачи.Ответственный; + СчетКорреспондент = РеквизитыПередачи.СчетКорреспондент; + КЭККорреспондент = РеквизитыПередачи.КЭККорреспондент; + Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда + ИФО = РеквизитыПередачи.ИФО; + КонецЕсли; + + // Отправитель (ЦБ) определяется по организации документа передачи: + // в документе передачи и в документе сада ЦБ хранится организацией. + ЦБ = РеквизитыПередачи.Организация; + + // Строки подбираются по саду документа: сад задаётся реквизитом "Организация". + // Если сад ещё не указан, строки заполняются командой формы после его выбора. + ЗаполнитьСтрокиПоДокументуПередачи(ДанныеЗаполнения); + + // Реквизиты и табличная часть заполнены вручную, стандартное заполнение не требуется: + // оно скопировало бы строки всех садов и организацию централизованной бухгалтерии. + СтандартнаяОбработка = Ложь; + + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаПроведения(Отказ, РежимПроведения) + + Движения.ЖурналПроводокЕПСБУ.Очистить(); + Движения.ЖурналПроводокЕПСБУ.Записывать = Истина; + Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок"); + + // Методическая операция 1.3: Дт 303.05.831 — Кт 205.31.660 (п. 104 Инструкции № 162н). + СчетДт = БухгалтерскийУчет.СчетПоКоду("303.05", Дата, Организация); + СчетКт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация); + КЭКДт = Справочники.КОСГУ.НайтиПоКоду("831"); + КЭККт = Справочники.КОСГУ.НайтиПоКоду("660"); + + ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт); + + // КПС строк наследуется из строк документа передачи (см. ЗаполнитьСтрокиПоДокументуПередачи). + Для Каждого СтрокаЗадолженности Из Задолженность Цикл + + Движение = Движения.ЖурналПроводокЕПСБУ.Добавить(); + Движение.Период = Дата; + Движение.Организация = Организация; + Движение.ИФО = ИФО; + Движение.КФО = КФО; + Движение.СчетДт = СчетДт; + Движение.СчетКт = СчетКт; + Движение.КПСДт = СтрокаЗадолженности.КПС; + Движение.КПСКт = СтрокаЗадолженности.КПС; + Движение.КЭКДт = КЭКДт; + Движение.КЭККт = КЭККт; + Движение.Сумма = СтрокаЗадолженности.Сумма; + Движение.ЖурналОпераций = ЖурналОпераций; + Движение.Содержание = "Принятие поступивших платежей по родительской плате из ЦБ"; + + // Аналитика по счёту 303.05 - вид платежа в бюджет ("Доходы от родительской платы"): + // обобщённая аналитика ожидаемых поступлений, задаётся пользователем в шапке документа. + Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.ВидыНалоговИПлатежей] = ВидПлатежаВБюджет; + + Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент; + Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор; + + КонецЦикла; + + // В конфигурации есть подписка на событие "ОбработкаПроведения" (ЗаписатьТаблицуПроводок), + // которая выполняется после модуля объекта и перезаписывает проводки документа: если таблица + // проводок не передана, набор записей регистра очищается. Поэтому передаём сформированную + // таблицу через ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок. + БухгалтерскиеОперацииСервер.ИнициализироватьБухгалтерскиеОперации(ЭтотОбъект); + ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок = Движения.ЖурналПроводокЕПСБУ.Выгрузить(); + +КонецПроцедуры + +Процедура ОбработкаУдаленияПроведения(Отказ) + + Движения.ЖурналПроводокЕПСБУ.Записывать = Истина; + +КонецПроцедуры + +Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект); + + ЗаполнитьРеквизитыПоУмолчанию(); + + СуммаДокумента = Задолженность.Итог("Сумма"); + +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + // Изменение данных подписанного извещения обесценивает его электронный документ: + // расходящиеся электронные документы аннулируются. + ПС_ВнутреннийЭДОИзвещений.ПС_АннулироватьЭлектронныеДокументыПриИзменении(ЭтотОбъект, Отказ); + + // Связанное извещение перезаполняется по актуальным строкам реестра, + // чтобы его печатная форма не разошлась с документом. + ПС_УчетРодительскойПлаты.ОбновитьИзвещениеПриИзмененииДокумента(ЭтотОбъект); + +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + Если НЕ ЗначениеЗаполнено(Организация) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнена организация (учреждение-сад)", , "Организация", "Объект", Отказ); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ЦБ) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнен получатель - ЦБ (администратор доходов)", , "ЦБ", "Объект", Отказ); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ДокументПередачи) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнен документ передачи платежей", , "ДокументПередачи", "Объект", Отказ); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(КФО) Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнен КФО", , "КФО", "Объект", Отказ); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ВидПлатежаВБюджет) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Не заполнен вид платежа в бюджет - аналитика по счёту 303.05", + , "ВидПлатежаВБюджет", "Объект", Отказ); + КонецЕсли; + + Если Задолженность.Количество() = 0 Тогда + ОбщегоНазначения.СообщитьПользователю("Не заполнена табличная часть ""Задолженность""", , "Задолженность", "Объект", Отказ); + Иначе + Для Каждого СтрокаЗадолженности Из Задолженность Цикл + Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда + ОбщегоНазначения.СообщитьПользователю( + "Не заполнен КПС строки табличной части ""Задолженность""." + + " Заполните строки по документу передачи.", + , "Задолженность", "Объект", Отказ); + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + + СуммаПоТаблице = Задолженность.Итог("Сумма"); + Если СуммаДокумента <> СуммаПоТаблице Тогда + ОбщегоНазначения.СообщитьПользователю("Сумма документа не совпадает с итогом по табличной части", , "СуммаДокумента", "Объект", Отказ); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК +// значениями по умолчанию, если они не заданы пользователем. +// +Процедура ЗаполнитьРеквизитыПоУмолчанию() + + Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда + СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию(); + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда + КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию(); + КонецЕсли; + +КонецПроцедуры + +// Подбирает строки табличной части "Задолженность" из документа передачи по саду +// документа (реквизит "Организация"). Если сад не указан, табличная часть очищается. +// +// Параметры: +// ДокументПередачиСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ-основание. +// +Процедура ЗаполнитьСтрокиПоДокументуПередачи(ДокументПередачиСсылка) + + Задолженность.Очистить(); + СуммаДокумента = 0; + + Если НЕ ЗначениеЗаполнено(ДокументПередачиСсылка) ИЛИ НЕ ЗначениеЗаполнено(Организация) Тогда + Возврат; + КонецЕсли; + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | СтрокиПередачи.Контрагент КАК Контрагент, + | СтрокиПередачи.Договор КАК Договор, + | СтрокиПередачи.Ребенок КАК Ребенок, + | СтрокиПередачи.ИДСтроки КАК ИДСтроки, + | СтрокиПередачи.Сумма КАК Сумма, + | СтрокиПередачи.КПС КАК КПС, + | СтрокиПередачи.ЛицевойСчет КАК ЛицевойСчет, + | СтрокиПередачи.НазначениеПлатежа КАК НазначениеПлатежа, + | СтрокиПередачи.РасчетныйСчет КАК РасчетныйСчет, + | СтрокиПередачи.Группа КАК Группа, + | СтрокиПередачи.ПериодОплаты КАК ПериодОплаты, + | СтрокиПередачи.ДатаПлатежа КАК ДатаПлатежа + |ИЗ + | Документ.ПС_ПередачаПоступившихПлатежейВУчреждения.Задолженность КАК СтрокиПередачи + |ГДЕ + | СтрокиПередачи.Ссылка = &ДокументПередачи + | И СтрокиПередачи.Ссылка.Учреждение = &Учреждение"; + Запрос.УстановитьПараметр("ДокументПередачи", ДокументПередачиСсылка); + Запрос.УстановитьПараметр("Учреждение", Организация); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + + НоваяСтрока = Задолженность.Добавить(); + ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка); + СуммаДокумента = СуммаДокумента + Выборка.Сумма; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель/Template.mxlx b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП/Template.mxlx similarity index 99% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель/Template.mxlx rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП/Template.mxlx index 946b071..5b2391b 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеЗадолженностиОтУчреждения/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель/Template.mxlx +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/Templates/ПФ_MXL_Извещение0504805_103н_ПС_РП/Template.mxlx @@ -1186,12 +1186,7 @@ 2 59 - - - ru - - - + @@ -2360,12 +2355,7 @@ 2 59 - - - ru - - - + @@ -3992,8 +3982,6 @@ -1 - #000080 - #000080 Solid diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ПС_ПередачаЗадолженностиВЦБ.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo similarity index 68% rename from 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ПС_ПередачаЗадолженностиВЦБ.mdo rename to 153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo index bb5da20..dcedc68 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПередачаЗадолженностиВЦБ/ПС_ПередачаЗадолженностиВЦБ.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Documents/ПС_ПринятиеПоступившихПлатежейИзЦБ/ПС_ПринятиеПоступившихПлатежейИзЦБ.mdo @@ -7,10 +7,10 @@ - ПС_ПередачаЗадолженностиВЦБ + ПС_ПринятиеПоступившихПлатежейИзЦБ ru - Передача начислений в ЦБ + Принятие поступивших платежей из ЦБ true DontUse @@ -18,18 +18,18 @@ Use ru - Передача задолженности в ЦБ + Принятие поступивших платежей из ЦБ ru - Передача начислений в ЦБ + Принятия поступивших платежей из ЦБ String 9 Variable true true - Document.ПС_ПередачаЗадолженностиВЦБ.Form.ФормаДокумента + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ.Form.ФормаДокумента AccountingRegister.ЖурналПроводокЕПСБУ true true @@ -37,7 +37,7 @@ Организация ru - Организация + Получатель (учреждение) CatalogRef.Организации @@ -52,10 +52,10 @@ ЦБ ru - ЦБ (получатель) + Отправитель (ЦБ) - CatalogRef.Контрагенты + CatalogRef.Организации @@ -100,21 +100,6 @@ Use Use - - ДокументНачисления - - ru - Документ начисления - - - DocumentRef.НачислениеРодительскойПлаты - - - - - Use - Use - ИФО @@ -177,21 +162,6 @@ Use Use - - ПередачаСальдо - - ru - Передача начального сальдо - - - Boolean - - - - - Use - Use - КЭККорреспондент @@ -222,6 +192,51 @@ Use Use + + ДокументПередачи + + ru + Документ передачи платежей + + + DocumentRef.ПС_ПередачаПоступившихПлатежейВУчреждения + + + + + Use + Use + + + ВидПлатежаВБюджет + + ru + Вид платежа в бюджет (аналитика 303.05) + + + CatalogRef.ВидыНалоговИПлатежей + + + + + Use + Use + + + ИзвещениеВходящее + + ru + Извещение входящее + + + DocumentRef.ИзвещениеВходящее + + + + + Use + Use + ФормаДокумента @@ -286,7 +301,7 @@ String - 25 + 50 @@ -326,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н_ПС_РП diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Enums/ПС_ВидыОперацийПоВзаиморасчетам/ПС_ВидыОперацийПоВзаиморасчетам.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Enums/ПС_ВидыОперацийПоВзаиморасчетам/ПС_ВидыОперацийПоВзаиморасчетам.mdo index 08364cd..434f469 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Enums/ПС_ВидыОперацийПоВзаиморасчетам/ПС_ВидыОперацийПоВзаиморасчетам.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Enums/ПС_ВидыОперацийПоВзаиморасчетам/ПС_ВидыОперацийПоВзаиморасчетам.mdo @@ -13,24 +13,17 @@ true BothWays - ПринятоОтУчреждения + ПередачаВУчреждение ru - Принято от учреждения + Передача в учреждение - Оплата + ПоступлениеПлатежа ru - Оплата родительской платы - - - - НачальноеСальдо - - ru - Начальное сальдо + Поступление родительской платы diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Reports/ПС_ВедомостьЦБПоРодительскойПлате/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Reports/ПС_ВедомостьЦБПоРодительскойПлате/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs index 3aa9527..5818e2e 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Reports/ПС_ВедомостьЦБПоРодительскойПлате/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Reports/ПС_ВедомостьЦБПоРодительскойПлате/Templates/ОсновнаяСхемаКомпоновкиДанных/Template.dcs @@ -106,6 +106,10 @@ + + ИДСтроки + ИДСтроки + ИсточникДанных1 ВЫБРАТЬ ПС_ВзаиморасчетыПоРодительскойПлатеОстатки.Организация КАК Организация, @@ -119,6 +123,10 @@ ИЗ РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Остатки(&НачалоПериода,) КАК ПС_ВзаиморасчетыПоРодительскойПлатеОстатки +ИНДЕКСИРОВАТЬ ПО + Организация, + Учреждение, + Ребенок ; //////////////////////////////////////////////////////////////////////////////// @@ -134,8 +142,12 @@ ПС_ВзаиморасчетыПоРодительскойПлатеОбороты.СуммаРасход КАК Расход ПОМЕСТИТЬ ОборотыПоРП ИЗ - РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Обороты(&НачалоПериода, &КонецПериода, Регистратор,) КАК + РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Обороты(&НачалоПериода, ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), СЕКУНДА, 1), Регистратор,) КАК ПС_ВзаиморасчетыПоРодительскойПлатеОбороты +ИНДЕКСИРОВАТЬ ПО + Организация, + Учреждение, + Ребенок ; //////////////////////////////////////////////////////////////////////////////// @@ -149,8 +161,12 @@ ПС_ВзаиморасчетыПоРодительскойПлатеОстатки.СуммаОстаток КАК ОстатокНаКонец ПОМЕСТИТЬ ОстаткиПоРПНаКонец ИЗ - РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Остатки(&КонецПериода,) КАК + РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Остатки(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), СЕКУНДА, 1),) КАК ПС_ВзаиморасчетыПоРодительскойПлатеОстатки +ИНДЕКСИРОВАТЬ ПО + Организация, + Учреждение, + Ребенок ; //////////////////////////////////////////////////////////////////////////////// diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/Rights.rights b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/Rights.rights new file mode 100644 index 0000000..d92b064 --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/Rights.rights @@ -0,0 +1,483 @@ + + + false + false + false + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.КФО + + View + true + + + + Document.ПС_ПередачаПоступившихПлатежейВУчреждения + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistory + true + + + UpdateDataHistoryOfMissingData + true + + + UpdateDataHistorySettings + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.НачислениеРодительскойПлаты + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistory + true + + + UpdateDataHistoryOfMissingData + true + + + UpdateDataHistorySettings + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.Договор + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.StandardAttribute.RecordType + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.StandardAttribute.Active + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.StandardAttribute.LineNumber + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.StandardAttribute.Recorder + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.StandardAttribute.Period + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Attribute.ВидОперации + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.Плательщик + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.ИФО + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Resource.Сумма + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Attribute.ДокументПередачи + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.Учреждение + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.Организация + + View + true + + + + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistory + true + + + UpdateDataHistoryOfMissingData + true + + + UpdateDataHistorySettings + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.Ребенок + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.ИДСтроки + + View + true + + + + DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате + + Use + true + + + View + true + + + + Report.ПС_ВедомостьЦБПоРодительскойПлате + + Use + true + + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате.Dimension.КПС + + View + true + + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/ПС_ЗаписьРодительскойПлаты.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/ПС_ЗаписьРодительскойПлаты.mdo new file mode 100644 index 0000000..0ac10ab --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЗаписьРодительскойПлаты/ПС_ЗаписьРодительскойПлаты.mdo @@ -0,0 +1,8 @@ + + + ПС_ЗаписьРодительскойПлаты + + ru + Родительская плата: запись + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ОсновнаяРоль/Rights.rights b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ОсновнаяРоль/Rights.rights index eb67030..f1d6baf 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ОсновнаяРоль/Rights.rights +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ОсновнаяРоль/Rights.rights @@ -4,7 +4,7 @@ false false - Document.ПС_ПередачаЗадолженностиВЦБ + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ Read true @@ -27,7 +27,7 @@ - Document.ПС_ПринятиеЗадолженностиОтУчреждения + Document.ПС_ПередачаПоступившихПлатежейВУчреждения Read true diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/Rights.rights b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/Rights.rights new file mode 100644 index 0000000..336ed2c --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/Rights.rights @@ -0,0 +1,68 @@ + + + false + false + false + + Document.ПС_ПередачаПоступившихПлатежейВУчреждения + + Read + true + + + View + true + + + + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ + + Read + true + + + View + true + + + + AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате + + Read + true + + + + DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате + + Use + true + + + View + true + + + + Report.ПС_ВедомостьЦБПоРодительскойПлате + + Use + true + + + View + true + + + + Document.НачислениеРодительскойПлаты + + Read + true + + + View + true + + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/ПС_ЧтениеРодительскойПлаты.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/ПС_ЧтениеРодительскойПлаты.mdo new file mode 100644 index 0000000..bd2e64a --- /dev/null +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Roles/ПС_ЧтениеРодительскойПлаты/ПС_ЧтениеРодительскойПлаты.mdo @@ -0,0 +1,8 @@ + + + ПС_ЧтениеРодительскойПлаты + + ru + Родительская плата: чтение + + diff --git a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Subsystems/ТаксиПлатноеОбразование/Subsystems/РодительскаяПлата/РодительскаяПлата.mdo b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Subsystems/ТаксиПлатноеОбразование/Subsystems/РодительскаяПлата/РодительскаяПлата.mdo index 54e2369..1475459 100644 --- a/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Subsystems/ТаксиПлатноеОбразование/Subsystems/РодительскаяПлата/РодительскаяПлата.mdo +++ b/153_ЦБ_ОУО_БГУ.ПрофиСофт/src/Subsystems/ТаксиПлатноеОбразование/Subsystems/РодительскаяПлата/РодительскаяПлата.mdo @@ -8,8 +8,8 @@ Extended true - Document.ПС_ПередачаЗадолженностиВЦБ - Document.ПС_ПринятиеЗадолженностиОтУчреждения + Document.ПС_ПринятиеПоступившихПлатежейИзЦБ + Document.ПС_ПередачаПоступившихПлатежейВУчреждения DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате Subsystem.ТаксиПлатноеОбразование diff --git a/docs/ЗАДАЧА. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md b/docs/ЗАДАЧА. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md new file mode 100644 index 0000000..e7ea60b --- /dev/null +++ b/docs/ЗАДАЧА. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md @@ -0,0 +1,74 @@ +# ЗАДАЧА. Остатки взаиморасчётов с детьми в садах (БГУ 2.0) + +**Ветка:** `feature/ostatki-v-sadah` +**Статус:** концепция согласована; план доработки и рабочая документация — отдельным шагом +**Дата:** 14.10.2026 +**Основание:** замечание заказчика к следствию текущей схемы — остатки по взаиморасчётам с детьми формируются в ЦБ; заказчик хочет видеть их в детских садах + +--- + +## 1. Суть изменения + +### 1.1. Как было (схема «Передача начислений в ЦБ») + +1. Сад начисляет плату типовым документом «Начисление родительской платы». +2. Сад передаёт задолженность в ЦБ документом `ПС_ПередачаЗадолженностиВЦБ` (Дт 304.04 — Кт 205.31). +3. ЦБ принимает задолженность документом `ПС_ПринятиеЗадолженностиОтУчреждения` (Дт 205.31 — Кт 304.04). +4. Реестр платежей из СУФД загружается в «Кассовое поступление», расшифровка платежа идентифицируется автоматически. +5. **Остатки взаиморасчётов с детьми формируются в ЦБ** — на стороне централизованной бухгалтерии. + +### 1.2. Как стало + +1. Платежи приходят **в ЦБ** — «Кассовое поступление» с автозаполнением расшифровки платежа. Идентификация платежа и заполнение расшифровки не меняются; разворачивается только направление движения по регистру взаиморасчётов (см. план). +2. ЦБ **собирает поступившие суммы** — с кредита счёта 205.31 — и заполняет ими документ, который **передаёт поступившие платежи в сады**. Механизм тот же: внутриведомственные расчёты, бухгалтерская запись та же. +3. На основании документа передачи в **каждом саду** создаётся свой документ **принятия поступивших платежей из ЦБ**. Документов столько, сколько садов в выписке: по выписке ЦБ за один день платежи поступают в адрес нескольких садов. +4. **Остатки взаиморасчётов с детьми формируются в садах.** Сады смотрят их **типовыми отчётами** — отдельная доработка не требуется. + +Итог: меняются экономические смыслы и наименования документов; бухгалтерские записи и порядок поступления средств сохраняются. + +--- + +## 2. Переименование документов (согласовано) + +| Сейчас | Стало | Сторона | Роль в новой схеме | +|---|---|---|---| +| `ПС_ПринятиеЗадолженностиОтУчреждения` | `ПС_ПередачаПоступившихПлатежейВУчреждения` | ЦБ → сады | ЦБ собирает поступившие платежи и передаёт их в сады | +| `ПС_ПередачаЗадолженностиВЦБ` | `ПС_ПринятиеПоступившихПлатежейИзЦБ` | сад ← ЦБ | Сад принимает поступившие платежи из ЦБ; вводится на основании документа передачи, по одному на сад | + +Наименования согласованы — отражают суть документов. + +--- + +## 3. Что не меняется + +- **Поступление средств:** «Кассовое поступление», автозаполнение расшифровки платежа, идентификация ребёнка по лицевому счёту, счёт расчётов 205.31, КОСГУ 131. +- **Направление движений регистра взаиморасчётов меняется:** «Кассовое поступление» даёт **приход** (поступившие платежи копятся у ЦБ), «Передача платежей» — **расход** (отдаём в сады). Так регистр обнуляется, когда всё передано. +- **Бухгалтерские записи** внутриведомственных расчётов. Направления сохраняются буквально: у ЦБ Дт 205.31 — Кт 304.04, у сада Дт 304.04 — Кт 205.31. В сторону ЦБ передавалась дебиторская задолженность, обратно передаётся кредиторская — поэтому записи не меняются. +- **Печать извещения (ф. 0504805)** — остаётся у обоих документов, как и было. +- **Пульт** `ПС_УправлениеРасчетамиПоРодительскойПлате` — не трогаем: он работает с теми же документами и счетами, меняются только наименования документов. +- **Наши регистры** (`AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате`) — пока не трогаем. +- **Типовые отчёты** сады используют как есть. + +--- + +## 4. Что убираем + +**Режим «Начальное сальдо»** — сейчас он живёт в документе сада вместе с командой «Заполнить по остаткам счёта 205.31». Надобность отпала: обороты переносятся в обратную сторону, сальдо там нет. + +--- + +## 5. Изменение роли отчёта + +`Report.ПС_ВедомостьЦБПоРодительскойПлате` раньше служил ЦБ для контроля взаиморасчётов по родительской плате. Теперь взаиморасчёты остаются в садах, и назначение отчёта смещается: он остаётся **инструментом ЦБ для контроля правильности формирования и проведения документов**. Критерий — если все поступившие платежи переданы в сады, остатки по отчёту должны быть нулевыми. + +Имя отчёта сохраняется; при необходимости переименуем отдельным решением. + +--- + +## 6. Что предстоит сделать (заготовка, план — позже) + +- Переименовать два документа метаданных и проследить цепочку ссылок: формы, роли, подсистемы, движения регистров, макеты печатных форм, настройки вариантов отчётов. +- Убрать из документа сада режим «Начальное сальдо» и команду заполнения по остаткам. +- Перестроить логику заполнения: ЦБ собирает поступившие суммы с кредита 205.31 и передаёт их в сады; в садах принимают — по одному документу на сад. +- Проверить печать извещения на обоих документах. +- Обновить рабочую документацию (памятка, руководство пользователя, руководство по эксплуатации) под новую схему. diff --git a/docs/ПАМЯТКА. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md b/docs/ПАМЯТКА. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md deleted file mode 100644 index 9dccd7b..0000000 --- a/docs/ПАМЯТКА. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md +++ /dev/null @@ -1,76 +0,0 @@ -# ПАМЯТКА. Учёт родительской платы ЦБ ОУО (БГУ 2.0) - -**Кому:** бухгалтер ЦБ, бухгалтер детского сада. -**Где:** 1С:Предприятие → раздел **«Платное обучение»** → **«Сервис»** → обработка **«Управление расчётами по родительской плате»** (далее — рабочее место). -**Дата:** 07.10.2026 - ---- - -## 1. Порядок работы в течение месяца - -| № | Кто | Что делает | Где | -|---|---|---|---| -| 1 | Сад | Табель посещаемости, документ **«Начисление родительской платы»** | Типовой механизм БГУ | -| 2 | ЦБ | Проверить, что начисления всех садов пришли | Рабочее место → страница **«Начисления»** | -| 3 | Сад | **«Передача задолженности в ЦБ»** → печать извещения (ф. 0504805) | Раздел «Платное обучение» → «Сервис» | -| 4 | ЦБ | **«Принятие задолженности от учреждения»** (ввод на основании передачи) | Раздел «Платное обучение» → «Сервис» | -| 5 | ЦБ | Сверить переданное и принятое | Рабочее место → страница **«Сверка «передано / принято»»** | -| 6 | ЦБ | Загрузить реестр платежей из СУФД → создаётся **«Кассовое поступление»** | Типовой механизм БГУ | -| 7 | ЦБ | Проверить, все ли строки платежей распознаны | Рабочее место → страница **«Кассовые поступления»** | - -В рабочем месте перед работой задайте **Период** (по умолчанию «Этот месяц»), при необходимости — **Организацию (ЦБ)**, **ИФО**, **Учреждение (сад)**, и нажмите **«Обновить»**. - -## 2. Кассовые поступления: что делается автоматически - -При записи документа «Кассовое поступление» с признаком **«Родительская плата»** система сама заполняет в строках табличной части «Расшифровка платежа»: - -- **Ребёнок** — по лицевому счёту из назначения платежа; -- **Контрагент** — родитель (плательщик) из карточки ребёнка; -- **Договор** — см. правила ниже; -- **Счёт расчётов** — 205.31; -- **КОСГУ назначения платежа** — 131. - -**Как определяется договор** (по убыванию приоритета): -1. если по счёту 205.31 есть остатки — договор берётся из остатков; -2. иначе — единственный договор, отобранный по контрагенту; -3. если договоров нет или их больше одного — поле остаётся пустым и выводится сообщение. - -**Что не перезаписывается:** строки, в которых уже заполнен ребёнок, повторно не обрабатываются; счёт расчётов заполняется только в пустое поле. Исключение — КОСГУ: код «000», который проставляет типовая загрузка, принудительно заменяется на 131. - -**Что происходит при проведении.** Проведение документа «Кассовое поступление» с признаком «Родительская плата» закрывает задолженность: по каждой строке, где определён ребёнок и договор, формируется расход по регистру взаиморасчётов — оплата родительской платы. Сумма платежа уменьшает остаток по ребёнку. Если задолженности нет, образуется отрицательный остаток — это переплата, в учёте она допустима. - -## 3. Если строка не распозналась - -1. В рабочем месте на странице **«Кассовые поступления»** найдите документ с ненулевой колонкой **«Строк не распознано»**. -2. Откройте документ и прочитайте сообщения. Возможные тексты: - -| Сообщение | Что означает | Что проверить | -|---|---|---| -| «не найден ребёнок с лицевым счётом …» | лицевого счёта нет в справочнике «Дети» | код ребёнка в справочнике (код = лицевой счёт), лишние пробелы и символы | -| «не удалось определить лицевой счёт ребёнка» | в назначении платежа нет фрагмента «л/с …» | текст назначения платежа в строке | -| «у ребёнка … не заполнен контрагент» | в карточке ребёнка пустой контрагент | карточка ребёнка → контрагент (родитель) | -| «не найден счёт 205.31» / «не найден код 131» | справочники не настроены | план счетов ЕПСБУ, справочник КОСГУ | - -3. Заполните строку вручную (ребёнок, контрагент, договор) и запишите документ. - -## 4. Начальное сальдо при запуске системы - -1. Документ **«Передача задолженности в ЦБ»** с признаком **«Начальное сальдо»**. -2. Команда **«Заполнить по остаткам счёта 205.31»** — табличная часть заполнится остатками на дату документа (строки можно править и добавлять). -3. Печать извещения (ф. 0504805) и передача в ЦБ. -4. В ЦБ — **«Принятие задолженности от учреждения»** на основании документа передачи. - -Переплаты вводятся **отрицательной суммой** в строке. - -## 5. Отчёты и контроль - -- **Оборотная ведомость** — кнопка в рабочем месте (передаются текущие отборы и период). Отчёт строится по учреждениям, внутри — по детям; колонки: остаток на начало, приход, расход, остаток на конец. Если период не задан, отчёт показывает все данные. -- **Остатки и обороты** — страница рабочего места (счета 205.31 и 304.04, в разрезе ИФО). -- **Сверка «передано / принято»** — страница рабочего места (расхождения по документам передачи). - -> Остатки в рабочем месте берутся из бухгалтерских проводок и только в разрезе ИФО — отбор по учреждению (саду) на них не влияет, о чём выводится предупреждение. - -## 6. Куда обращаться - -- Вопросы по методике учёта — бухгалтерия ЦБ. -- Технические проблемы (ошибки при записи, незаполненные поля, расхождения) — сопровождение с указанием: документ, дата, номер, текст сообщения. diff --git a/docs/ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md b/docs/ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md new file mode 100644 index 0000000..d398059 --- /dev/null +++ b/docs/ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md @@ -0,0 +1,120 @@ +# ПЛАН. Остатки взаиморасчётов с детьми в садах (БГУ 2.0) + +**Ветка:** `feature/ostatki-v-sadah` +**Основание:** `docs/ЗАДАЧА. Остатки взаиморасчётов с детьми в садах (БГУ 2.0).md` +**Дата:** 14.10.2026 +**Статус:** решения получены полностью; можно начинать правки + +--- + +## 0. Ревизия выполнена + +Проведён разбор обоих документов и их связей. Ниже — что именно затронет работа. + +**Документы и их текущая роль:** + +| Роль сейчас | Объект | Проводка | Движения по регистрам | +|---|---|---|---| +| ЦБ принимает задолженность | `ПС_ПринятиеЗадолженностиОтУчреждения` | Дт 205.31 — Кт 304.04 | Журнал проводок **и** регистр взаиморасчётов (приход) | +| Сад передаёт задолженность | `ПС_ПередачаЗадолженностиВЦБ` | Дт 304.04 — Кт 205.31 | только Журнал проводок | + +**Цепочка «ввод на основании»:** «Начисление родительской платы» → `ПС_ПередачаЗадолженностиВЦБ` (через `basedOn`) → `ПС_ПринятиеЗадолженностиОтУчреждения` (командой формы). + +**Ссылки, которые надо пройти при переименовании:** + +1. `Configuration.mdo` — состав документов. +2. `Roles\ПС_ОсновнаяРоль\Rights.rights` — два блока прав. +3. Подсистема `РодительскаяПлата.mdo` — состав содержимого. +4. `НачислениеРодительскойПлаты.mdo` — свойство `basedOn`. +5. Типы реквизитов `ДокументПередачи`: в `.mdo` ЦБ-документа и в регистре `ПС_ВзаиморасчетыПоРодительскойПлате`. +6. Код: `Тип("ДокументСсылка.…")`, тексты запросов `Документ.…`, `Документы.….СформироватьПечатныеФормыИзвещений`, `Документы.….ПолучитьМакет`, `ОткрытьФорму("Документ.….Форма.ФормаДокумента")` — в обоих документах, в общем модуле `ПС_УчетРодительскойПлаты`, в пульте, в форме «Начисления родительской платы». +7. Ключи параметров печати в `ПС_УчетРодительскойПлаты` (`ПАРАМЕТРЫ_ПЕЧАТИ_…`). +8. Типы в `.form`: `DocumentObject.…` в формах документов, `DocumentRef.…` в форме пульта. +9. Модули объектов и форм, модули менеджеров обоих документов, макеты печатных форм. + +**Не затрагивается:** `ПС_РаботаСКонтрагентами`, `ПС_РазборПлатежейПоРодительскойПлате`, отчёт `ПС_ВедомостьЦБПоРодительскойПлате` (работает с регистром, а не с документами), интерфейс подсистемы, определяемые типы, подписки на события. + +--- + +## 1. Переименование документов + +| Сейчас | Стало | +|---|---| +| `ПС_ПринятиеЗадолженностиОтУчреждения` | `ПС_ПередачаПоступившихПлатежейВУчреждения` | +| `ПС_ПередачаЗадолженностиВЦБ` | `ПС_ПринятиеПоступившихПлатежейИзЦБ` | + +Порядок работ: сначала переименование в метаданных, затем проход по цепочке ссылок из п. 0, затем код. Перед началом — переключить EDT на ветку и убедиться, что проект собирается. + +--- + +## 2. Смена ролей и логики заполнения + +- **ЦБ-документ** (`ПС_ПередачаПоступившихПлатежейВУчреждения`) — источник. Заполняется **из остатков регистра накопления** `ПС_ВзаиморасчетыПоРодительскойПлате`: в документ попадают поступившие платежи, ещё не переданные в сады. + - Почему не из расшифровки «Кассового поступления»: тогда пришлось бы отдельно контролировать, чтобы платежи одного поступления не уехали в несколько передач. Через регистр контроль не нужен — предыдущая передача выбирает остатки, следующая их уже не видит. + - Условие корректности — последовательность проведения: каждую следующую передачу проводить после предыдущей по дате. +- **Сад-документы** (`ПС_ПринятиеПоступившихПлатежейИзЦБ`) — вводятся **на основании** ЦБ-документа, **по одному на сад** (в выписке ЦБ за день платежи идут в адрес нескольких садов). +- **«Ввод на основании» разворачивается в обратную сторону:** снять `basedOn` у «Начисления родительской платы» (сейчас он указывает на сад-документ); первым заполняется ЦБ-документ передачи, а сад-документы вводятся по нему. +- Проверить и поправить автозаполнение реквизитов при вводе на основании: организация, учреждение, ИФО, КФО, суммы. + +--- + +## 3. Снятие режима «Начальное сальдо» + +Искореняется полностью: + +- **Сад-документ:** реквизит `ПередачаСальдо`, команда `ЗаполнитьПоОстаткам20531` и её обработчик `ЗаполнитьПоОстаткам20531НаСервере`, процедуры `ОбновитьВидимостьРеквизитовРежимаСальдо` и `ПередачаСальдоПриИзменении`, связанные элементы формы. +- **ЦБ-документ:** реквизит `ПередачаСальдо` и ветка `ВидОперации = НачальноеСальдо` при формировании движений. +- **Перечисление** `ПС_ВидыОперацийПоВзаиморасчетам` — значение «Начальное сальдо» удаляется. + +--- + +## 4. Проводки и печать — без изменений + +- Проводки сохраняются буквально: у ЦБ Дт 205.31 — Кт 304.04, у сада Дт 304.04 — Кт 205.31. В ЦБ сторону уходила дебиторская задолженность, обратно возвращается кредиторская. +- Извещение ф. 0504805 — у обоих документов, как и было. Макеты и их имена не меняются. + +--- + +## 5. Регистр взаиморасчётов и отчёт + +- Регистр `ПС_ВзаиморасчетыПоРодительскойПлате` — главный инструмент контроля ЦБ: он должен показать, что **все данные о платежах уехали из ЦБ**. Пишется **только документами ЦБ** — «Кассовым поступлением» и «Передачей платежей»; сад-документы в него **не пишут**. +- Когда все документы проведены в правильной последовательности, регистр даёт **нулевые остатки**. +- Структуру регистра и отчёт `ПС_ВедомостьЦБПоРодительскойПлате` не трогаем. Отчёт остаётся средством контроля: нулевые остатки означают, что всё передано. + +--- + +## 6. Пульт — не трогаем + +- В форме пульта четыре запроса и типы реквизитов ссылаются на документы. После переименования их надо поправить механически, логику не менять. + +--- + +## 7. Проверка + +- Переработать приёмочные сценарии под новую схему: загрузка реестра → ЦБ собирает поступившие суммы → передача в сады → приём в каждом саду → нулевые остатки по регистру. +- Прогнать проверку маркеров EDT по изменённым объектам. + +--- + +## 8. Документация + +- **Убрать «Начальное сальдо»** из памятки (раздел 4) и руководства пользователя (п. 3.2) — режима больше нет. +- Переписать схему в руководстве пользователя и руководстве по эксплуатации под новую модель, переименовать документы во всех упоминаниях. +- Обновлять шар и `docs/` синхронно, после стабилизации результата. + +--- + +## Решения по вопросам плана (согласовано) + +1. **Источник заполнения ЦБ-документа** — остатки регистра накопления, а не расшифровка «Кассового поступления». Контроль дублей не нужен: предыдущая передача снимает остатки, следующая их не видит; требуется лишь соблюдать последовательность проведения по дате. +2. **Движения регистра** — остаются за ЦБ-документами: «Кассовым поступлением» и «Передачей платежей». Сад-документы движений в регистр не делают. +3. **«Начальное сальдо»** — искореняется полностью, включая значение в перечислении видов операций. +4. **`basedOn`** — разворачивается: первым заполняется ЦБ-документ передачи, на его основании вводятся документы приёма платежей в садах. + +--- + +## Направление движений регистра (подтверждено) + +«Кассовое поступление» даёт **приход** — поступившие платежи копятся у ЦБ. «Передача платежей» даёт **расход** — отдаём в сады. Регистр обнуляется, когда всё передано. + +Это разворот относительно текущего кода: сейчас «Кассовое поступление» пишет расход (вид операции «Оплата» — платёж закрывал задолженность перед ЦБ). Направление меняется вместе с наименованиями: логика следует сути. diff --git a/docs/РУКОВОДСТВО АДМИНИСТРАТОРА. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md b/docs/РУКОВОДСТВО АДМИНИСТРАТОРА. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md new file mode 100644 index 0000000..002e212 --- /dev/null +++ b/docs/РУКОВОДСТВО АДМИНИСТРАТОРА. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md @@ -0,0 +1,169 @@ +# РУКОВОДСТВО АДМИНИСТРАТОРА. Учёт родительской платы ЦБ ОУО (БГУ 2.0) + +Расширение: `153_ЦБ_ОУО_БГУ.ПрофиСофт`, **версия 1.0.3** +Базовая конфигурация: БГУ 2.0 (2.0.107.53), режим совместимости расширения 8.3.24 +Документ актуален на 30.10.2026. + +Документ для администратора системы: установка, первичная настройка, права доступа, обновление, диагностика. Порядок ежедневной работы — в «РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ». + +--- + +## 1. Состав поставки + +| Объект | Назначение | +|---|---| +| `КассовоеПоступление` (типовой, расширен) | приход по регистру взаиморасчётов по строкам расшифровки платежа | +| `ПС_ПередачаПоступившихПлатежейВУчреждения` | ЦБ передаёт саду поступившие платежи | +| `ПС_ПринятиеПоступившихПлатежейИзЦБ` | сад принимает переданные суммы | +| `ПС_ВзаиморасчетыПоРодительскойПлате` | регистр накопления — единственный источник сумм по расчётам | +| `ПС_УправлениеРасчетамиПоРодительскойПлате` | пульт управления | +| `ПС_ВедомостьЦБПоРодительскойПлате` | оборотная ведомость | +| `ПС_УчетРодительскойПлаты`, `ПС_РазборПлатежейПоРодительскойПлате`, `ПС_ВнутреннийЭДОИзвещений` | общие модули: печать, разбор назначения платежа, извещения | +| `ПС_РеестрПлатежей` (общий макет) | вёрстка реестра, одна для обоих документов | +| `ПС_ЧтениеРодительскойПлаты`, `ПС_ЗаписьРодительскойПлаты` | роли доступа | + +Файл поставки — `.cfe`. Версия указывается в имени файла и в свойствах расширения; **всегда сверяйте версию** перед установкой. + +--- + +## 2. Установка расширения + +1. Получить `.cfe` у разработчика. +2. В 1С: **Администрирование → Расширения конфигурации** (или «Расширения конфигурации» в разделе «НСИ и администрирование»). +3. **Добавить из файла** → выбрать `.cfe`. +4. **Обновить конфигурацию базы данных**. Сделать это в монопольном режиме или когда пользователи не работают. +5. Проверить: **Сервис → О программе** → блок «Расширения конфигурации» → строка `Профи софт`, колонка **«Версия»**. Должна совпасть с заявленной. +6. Проверить, что расширение **активно** (флажок «Активно» установлен). + +Проверка версии — обязательный шаг. Если версия не совпадает, дальше разбираться бессмысленно: установлена не та сборка. + +--- + +## 3. Первичная настройка базы + +Выполняется один раз при внедрении и повторяется при добавлении нового учреждения. + +### 3.1. Константа «Организация централизованной бухгалтерии» + +Заполняется организацией ЦБ. По ней по умолчанию подставляется организация в пульте, в передаче и в принятии. + +### 3.2. Справочник «Организации» + +- ЦБ — отдельная организация. +- Каждый детский сад — отдельная организация. +- У обеих сторон заполнены ИНН, КПП, ИФО и счета. + +### 3.3. Соответствие «Организация → Контрагент» + +Извещения ф. 0504805 адресуются контрагентам, а документы расширения — организациям. Контрагент подбирается автоматически: штатной функцией БГУ (`БюджетнаяОтчетностьПолучениеНСИ.КонтрагентПоОрганизации` — ИНН + КПП + бюджет), при неудаче — по ИНН с уточнением по КПП и бюджету. + +**Требование:** для ЦБ и **для каждого сада** должен существовать контрагент, который находится этим подбором. Без него извещение создаётся с пустым получателем/отправителем и не пройдёт проверку заполнения. + +### 3.4. Типовая операция кассового поступления (критично) + +Поступления родительской платы идут на счёт 303.05. В типовой конфигурации при заполненном корсчёте 303.00 сбрасывается признак «Родительская плата», и приход по регистру взаиморасчётов **не формируется**. + +Рабочая настройка: + +1. Скопировать типовую операцию «Поступление, зачисление в бюджеты» (для 303-го счёта). +2. В копии изменить отбор по корреспондирующему счёту на **«прочие счета»** (корсчёт не заполнен). +3. В документе выбирать эту операцию, корсчёт — «прочие счета», признак «Родительская плата» — установлен. + +Страховка в расширении: если признак снят, но в назначении платежа распознан лицевой счёт ребёнка, при записи документа выводится предупреждение. + +### 3.5. Справочники расчётов с родителями + +| Справочник | Требования | +|---|---| +| `Дети` | код = лицевой счёт ребёнка (`X000013125` или `000010525`); **обязательно заполнен контрагент** | +| `Контрагенты` | плательщики (родители) | +| `Договоры` | у родителя должен быть **один** договор, иначе он не заполнится автоматически | +| `ВидыНалоговИПлатежей` | значение для аналитики счёта 303.05 в документе принятия | +| `ИсточникиФинансовогоОбеспечения` | заполняется в документах и реестрах | +| `ЛицевыеСчета` | раздел счёта с табличной частью «Допустимые КФО» — из неё берётся КФО строк расшифровки | +| `КОСГУ` | код 131 — КОСГУ назначения платежа родительской платы | + +**КФО строк расшифровки.** Берётся из настроек лицевого счёта: раздел → «Допустимые КФО». Используется типовая функция `ПлатежноРасчетныеДокументыПовтИсп.ДопустимыеКФО`, поэтому результат совпадает с поведением типовых форм: подставляется **первое** допустимое значение (с наименьшим порядком перечисления КВД). Если у счёта допустимо несколько КФО — остальные бухгалтер выбирает вручную. Если КФО не заполнился — проверьте, что у лицевого счёта есть раздел и в нём заполнены допустимые КФО. + +--- + +## 4. Роли и права + +В расширении две роли. Третья, `ПС_ОсновнаяРоль`, создаётся платформой автоматически — **назначать её пользователям не нужно**. + +| Право на объект | `ПС_ЧтениеРодительскойПлаты` | `ПС_ЗаписьРодительскойПлаты` | +|---|---|---| +| Документы передачи, принятия, начисления — Read, View | да | да | +| Те же документы — Insert, Update, Delete, Posting, UndoPosting | — | да | +| Регистр `ПС_ВзаиморасчетыПоРодительскойПлате` — Read | да | да | +| Тот же регистр — Update | — | да | +| Пульт и ведомость — Use, View | да | да | + +**Важно:** роли расширения дают права только на объекты расширения. Пользователю дополнительно нужны штатные роли БГУ (базовые права, работа с документами, отчётами). Назначать только роль расширения недостаточно — интерфейс останется пустым. + +Рекомендуемая схема: + +| Кто | Роли | +|---|---| +| Бухгалтер ЦБ | `ПС_ЗаписьРодительскойПлаты` + штатные роли БГУ для работы с кассовыми документами | +| Бухгалтер сада | `ПС_ЗаписьРодительскойПлаты` + штатные роли БГУ своего учреждения | +| Руководитель, методист, контролёр | `ПС_ЧтениеРодительскойПлаты` + штатные роли для просмотра | + +Роли удобно включать в профиль групп доступа, чтобы не назначать по одному пользователю. + +Права на сами объекты метаданных (справочники, план счетов) не дублируются: они наследуются от базовой конфигурации. + +--- + +## 5. Обновление расширения + +1. Получить `.cfe`, сверить версию. +2. Сделать резервную копию базы. +3. Загрузить и обновить расширение (раздел 2). +4. Проверить версию в «О программе». +5. Если обновление меняло состав измерений регистра или структуру табличных частей — **перепровести** кассовые поступления и документы передачи за затронутый период. Признак необходимости: в передаче пусты лицевой счёт, расчётный счёт, группа, период оплаты, дата платежа. +6. Проверить на одном-двух документах: заполнение передачи, печать реестра, печать извещения. + +--- + +## 6. Резервное копирование и обслуживание + +- Резервная копия базы — перед каждым обновлением расширения, без исключений. +- Ежемесячно, после закрытия передач: сверить на пульте страницу «Сверка „передано / принято“». Расхождение ≠ 0 означает, что сад не принял документ. +- Ежемесячно: проверить на пульте «Остатки и обороты» — «Остаток у ЦБ» после передачи должен быть нулевым. +- После добавления нового сада: проверить контрагента (п. 3.3) и организацию (п. 3.2). + +--- + +## 7. Диагностика + +| Сообщение / симптом | Причина | Действия | +|---|---|---| +| В передаче пусты лицевой счёт, назначение, расчётный счёт, группа, период оплаты, дата | у записи регистра пуст `ИДСтроки` — кассовое поступление проведено до появления измерения | перепровести кассовое поступление, заново заполнить передачу | +| «По N строкам идентификатор квитанции есть, но строка расшифровки платежа не найдена» | состав строк расшифровки менялся после проведения | перепровести кассовое поступление | +| «Распознан лицевой счёт ребёнка, но признак „Родительская плата“ не установлен» | снят признак, обычно из-за заполненного корсчёта 303.00 | см. п. 3.4 | +| КФО в строках расшифровки пуст | у лицевого счёта нет раздела или в разделе нет допустимых КФО | заполнить раздел и допустимые КФО | +| «Для организации … не найден контрагент» | нет соответствия «организация → контрагент» | см. п. 3.3, пересоздать извещение | +| «Поступившие платежи найдены в разрезе нескольких ИФО и/или КФО» | ИФО и КФО задаются на весь документ | передавать отдельными документами по каждому ИФО/КФО | +| Пульт открывается, таблицы пустые | не задан период (обе границы) | указать период, нажать «Обновить» | +| Раздел «Родительская плата» не виден пользователю | нет ролей | назначить роли (раздел 4) | +| Печать реестра выводит пустой лист | не заполнено тело общего макета `ПС_РеестрПлатежей` | проверить макет в конфигураторе/EDT | + +--- + +## 8. Технические сведения + +- **Регистр `ПС_ВзаиморасчетыПоРодительскойПлате`.** Измерения: Организация, Учреждение, Плательщик, Ребёнок, Договор, ИФО, КФО, КПС, `ИДСтроки`. Ресурс: Сумма. Приход формирует кассовое поступление, расход — документ передачи. Все остатки и сверка считаются по нему. +- **`ИДСтроки`** — ключ строки квитанции в формате `:<номер строки>`. По нему передача находит реквизиты реестра. Заполняется при проведении кассового поступления; у документов, проведённых до появления измерения, пуст. +- **Печать.** Оба документа печатают реестр из общего макета `ПС_РеестрПлатежей` через `ПолучитьОбщийМакет`. Макеты в самих документах удалены — вёрстка сопровождается в одном месте. +- **Извещения.** Создаются как обёртки: хранят ссылку на документ расширения и табличную часть «Задолженность». При изменении документа извещение перезаполняется, если оно не проведено и не помечено на удаление. Проведённое извещение не меняется. +- **Внутренний ЭДО** извещений не поддерживается: подписание и обмен — внешними средствами. + +--- + +## 9. Ограничения текущей версии + +- Извещения ф. 0504805 не формируют проводок и не участвуют в расчётах. +- Сверка «передано / принято» сравнивает суммы документов, а не построчные суммы регистра. +- Документ передачи адресный: один сад на документ; ИФО и КФО — на весь документ. +- В передачах, созданных до версии 1.0.0, реквизит «Принятие платежей» не заполнен — его нужно проставить вручную либо создать принятие кнопкой. diff --git a/docs/РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md b/docs/РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md deleted file mode 100644 index 8575bbd..0000000 --- a/docs/РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md +++ /dev/null @@ -1,170 +0,0 @@ -# РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ. Учёт родительской платы ЦБ ОУО (БГУ 2.0) - -**Конфигурация:** Бухгалтерия государственного учреждения, редакция 2.0 (БГУ 2.0.107.53), платформа 8.5.1, режим совместимости 8.3.24 -**Расширение:** `153_ЦБ_ОУО_БГУ.ПрофиСофт`, префикс объектов `ПС_`, режим совместимости 8.3.14 -**Базовая конфигурация:** на полной поддержке, не модифицируется -**Версия документа:** 1.2 от 12.10.2026 - ---- - -## 1. Назначение и состав - -### 1.1. Назначение - -Расширение реализует учёт родительской платы по схеме «детский сад → централизованная бухгалтерия»: передачу и принятие задолженности, печать извещений (ф. 0504805), идентификацию кассовых поступлений по назначению платежа, контроль расчётов. - -### 1.2. Состав объектов расширения - -| Объект | Назначение | -|---|---| -| `Document.ПС_ПередачаЗадолженностиВЦБ` | Передача задолженности из сада в ЦБ, печать извещения (ф. 0504805) | -| `Document.ПС_ПринятиеЗадолженностиОтУчреждения` | Принятие задолженности в ЦБ, движения регистра взаиморасчётов | -| `AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате` | Аналитический учёт взаиморасчётов на стороне ЦБ (8 измерений: организация, учреждение, плательщик, ребёнок, договор, ИФО, КФО, КПС; ресурс «Сумма»; реквизиты: вид операции, ИД строки (квитанции), документ передачи) | -| `Enum.ПС_ВидыОперацийПоВзаиморасчетам` | Виды операций: принято от учреждения, оплата, начальное сальдо | -| `CommonModule.ПС_УчетРодительскойПлаты` | Проводки и печатные формы 0504805 | -| `CommonModule.ПС_РаботаСКонтрагентами` | Сопоставление ЦБ ↔ контрагент и сад ↔ организация по ИНН | -| `CommonModule.ПС_РазборПлатежейПоРодительскойПлате` | Разбор назначения платежа и заполнение расшифровки платежа | -| `DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате` | Рабочее место управления расчётами | -| `Report.ПС_ВедомостьЦБПоРодительскойПлате` | Оборотная ведомость по расчётам по родительской плате (СКД, на штатных механизмах БСП) | -| `Role.ПС_ОсновнаяРоль` | Права на объекты расширения | -| Макет `ПФ_MXL_Извещение0504805_103н_ПС_РП` | Печатная форма извещения (ф. 0504805, 103н) | - -**Заимствованные объекты типовой конфигурации:** - -| Объект | Что изменено | -|---|---| -| `Document.КассовоеПоступление` | Добавлены обработчики `&После("ПередЗаписью")` — автозаполнение расшифровки платежа, и `&После("ОбработкаПроведения")` — формирование расхода по регистру взаиморасчётов (закрытие задолженности); заимствованы реквизиты `РодительскаяПлата`, `Организация`, `ИФО` и табличная часть `РасшифровкаПлатежа` с реквизитами `Примечание`, `Контрагент`, `Ребенок`, `Договор`, `СчетРасчетов`, `КОСГУНазначениеПлатежа`, `КБКНазначениеПлатежа`, `КФО` | -| Подсистемы `ТаксиПлатноеОбразование` / `РодительскаяПлата` | Размещение новых документов и обработок | -| `Subsystem.ПодключаемыеОтчетыИОбработки` | Подключение отчёта расширения к механизму «Варианты отчётов» БСП | -| `CommonModule.ВариантыОтчетовПереопределяемый` | Описание отчёта и его варианта в механизме БСП (в доработке) | -| `CommonForm.ФормаОтчета` | Общая форма отчёта БСП — назначена основной формой отчёта | - -> Заимствование реквизитов и табличной части — не «украшательство»: без него статический анализатор EDT не видит наследованную структуру документа и выдаёт предупреждения SU232 на каждое обращение в коде расширения. - ---- - -## 2. Установка и подключение - -1. Собрать расширение в EDT (проект `153_ЦБ_ОУО_БГУ.ПрофиСофт`) и получить файл расширения (`.cfe`). -2. В 1С:Предприятие: **Администрирование → Печатные формы, отчёты и обработки → Расширения** → добавить файл расширения → **перезапустить сеанс**. -3. Убедиться, что расширение активно и в разделе **«Платное обучение»** → **«Сервис»** появилась обработка «Управление расчётами по родительской плате». -4. Проверить права: пользователям ЦБ и садов должны быть доступны объекты расширения (роль `ПС_ОсновнаяРоль` или права, включённые в используемые роли). - -> После изменения состава формы или метаданных расширения необходимо **пересобрать проект** и заново подключить (обновить) расширение, иначе изменения формы не появятся в пользовательском режиме. - ---- - -## 3. Настройка перед началом работы - -| Что настроить | Требование | -|---|---| -| **Организация ЦБ** | Константа «Организация централизованная бухгалтерия» — подставляется в рабочее место автоматически | -| **Справочник «Дети»** | Код элемента = **лицевой счёт ребёнка** (15 символов, например `Х000012877`); обязательно заполнен реквизит **«Контрагент»** (родитель-плательщик) | -| **Справочник «Контрагенты»** | Сады и родители; ИНН садов должен совпадать с ИНН соответствующих организаций — по ИНН работает сопоставление в рабочем месте | -| **Справочник «Организации»** | Сады (ПБС) и ЦБ (АДБ) с корректными ИНН | -| **Справочник «Договоры»** | Договоры привязаны к контрагенту (реквизит «Контрагент»). Справочник **не иерархический** | -| **Справочник «КОСГУ»** | Должен существовать код **131** (используется как КОСГУ назначения платежа) | -| **План счетов ЕПСБУ** | Должны существовать счета **205.31** и **304.04** | -| **Источники финансирования (ИФО)** | Заполнены у садов и в проводках | -| **Права пользователей** | Доступ к документам расширения и обработке | - ---- - -## 4. Регламент загрузки реестров платежей из СУФД - -1. Реестр платежей загружается **штатным механизмом БГУ** («Импорт данных из файлов платёжных поручений на общую сумму с реестром»). Расширение XML не разбирает. -2. В результате создаётся документ **«Кассовое поступление»**; строки реестра попадают в табличную часть **«Расшифровка платежа»** (назначение платежа — в реквизите «Примечание»). -3. Для документов с признаком **«Родительская плата»** при записи автоматически заполняются: ребёнок, контрагент, договор, счёт расчётов 205.31, КОСГУ 131. -4. После загрузки: рабочее место → страница **«Кассовые поступления»** → проверить колонку **«Строк не распознано»**; по документам с ненулевым значением выполнить ручной доввод строк. -5. При **проведении** документа с признаком «Родительская плата» формируется **расход** по регистру взаиморасчётов: по каждой строке, где определён ребёнок и договор, задолженность закрывается (вид операции «Оплата»). Разрезы движения: организация — из шапки (ЦБ); учреждение (сад) — по организации ребёнка через сопоставление с контрагентом; плательщик, ребёнок, договор, КФО, КПС — из строки расшифровки; ИФО — из шапки документа. Если задолженности нет, образуется отрицательный остаток — переплата (допустима). - -**Важно:** обработчик автозаполнения срабатывает **на записи документа**, а закрытие задолженности — **на проведении**. Документы, загруженные до установки/обновления расширения, нужно перезаписать (открыть и записать) — либо довводить строки вручную. Непроведённое кассовое поступление движений по регистру взаиморасчётов не создаёт. - -**См. также — документация БГУ 2.0 на ИТС:** -- [Импорт данных из файлов платежных поручений на общую сумму с реестром](https://its.1c.ru/db/metbud81/content/7407/hdoc) — как настроить загрузку реестров платежей: по реестру формируется «Кассовое поступление» с заполненной расшифровкой платежа. - ---- - -## 5. Проверка работоспособности (приёмочные сценарии) - -| № | Сценарий | Ожидаемый результат | -|---|---|---| -| 1 | Открыть рабочее место, задать период, нажать «Обновить» | Все страницы заполняются без ошибок; период по умолчанию — «Этот месяц»; организация ЦБ подставлена | -| 2 | Открыть рабочее место → «Остатки и обороты» | Остатки и обороты по 205.31 и 304.04 в разрезе ИФО | -| 3 | Провести документ «Передача задолженности в ЦБ» | Проводки Дт 304.04 — Кт 205.31; печать извещения формируется | -| 4 | Ввести «Принятие задолженности» на основании передачи | Проводки Дт 205.31 — Кт 304.04; движения регистра; сверка «передано/принято» без расхождений | -| 5 | Документ передачи с признаком «Начальное сальдо» → «Заполнить по остаткам счёта 205.31» | Табличная часть заполнена остатками на дату документа; поле «Документ начисления» скрыто | -| 6 | Загрузить реестр с корректными лицевыми счетами | В расшифровке платежа заполнены ребёнок, контрагент, договор, счёт расчётов 205.31, КОСГУ 131 | -| 7 | Загрузить реестр со строкой «чужого» лицевого счёта | Строка не распознана, выведено сообщение с номером строки и причиной; поле ребёнка пустое | -| 8 | Повторно записать обработанный документ | Ранее заполненные строки не перезаписаны; КОСГУ «000» заменён на 131 | -| 9 | Контрагент с несколькими договорами и без остатков | Договор пустой, выведено диагностическое сообщение | -| 10 | Провести кассовое поступление с распознанными строками | Сформирован расход по регистру взаиморасчётов (вид операции «Оплата»); остаток по ребёнку уменьшился | -| 11 | Провести кассовое поступление по ребёнку без задолженности | Образован отрицательный остаток — переплата (ошибок нет) | -| 12 | Кнопка «Оборотная ведомость» в рабочем месте | Открывается отчёт `ПС_ВедомостьЦБПоРодительскойПлате` в общей форме отчёта БСП; структура — учреждения, внутри дети; колонки: остаток на начало, приход, расход, остаток на конец | - ---- - -## 6. Типовые ошибки и их устранение - -### 6.1. Ошибки времени выполнения - -| Симптом | Причина | Устранение | -|---|---|---| -| `Поле не найдено "Субконто1"` при записи кассового поступления | Отбор по субконто стоял в позиции «Счет» виртуальной таблицы `Остатки` | В параметрах ВТ `Остатки(<Период>, <Счет>, <Субконто>, <Условие>)` условия по `Субконто<Номер>` допустимы **только в «Условии»** (4-й параметр) | -| `Неверные параметры "…ОстаткиИОбороты, 5"` при открытии рабочего места | Условие по счёту стояло в позиции «Субконто» | Порядок параметров ВТ `ОстаткиИОбороты` — `(Начало периода, Конец периода, Периодичность, Метод дополнения, **Счет**, Субконто, Условие)`: счёт идёт **пятым**. Ориентир — типовые отчёты `СправкаРасчетСебестоимостьПродукции`, `СправкаРасчетКалькуляцииСебестоимости` | -| `Поле не найдено "Договоры.ЭтоГруппа"` | Справочник «Договоры» не иерархический | Убрать условие `НЕ Договоры.ЭтоГруппа` из запросов | -| `Кассовое поступление …: контрагент не определён — не найден ребёнок с лицевым счётом …` по всем строкам | Отбор по организации в поиске ребёнка (в документе организация — ЦБ, а дети относятся к садам) | Идентифицировать ребёнка **только по лицевому счёту**, без отбора по организации | -| Сообщение по строке, хотя лицевой счёт верный | Код в справочнике «Дети» хранится дополненным пробелами до длины 15 | Нормализовать сравнение (`СокрЛП`) с обеих сторон | -| КОСГУ остаётся «000» после записи | Код «000» проставляет типовая загрузка реестров, а правило «заполнять только пустое» его не трогает | КОСГУ «000» заменять на 131 принудительно | -| Автозаполнение не срабатывает | Документ загружен до установки расширения, либо снят признак «Родительская плата» | Перезаписать документ; проверить признак | -| Таблицы рабочего места пусты, выведено сообщение о сопоставлении | Не удалось сопоставить организацию и контрагента по ИНН | Сверить ИНН в справочниках «Организации» и «Контрагенты» | - -### 6.2. Ошибки при разработке и сборке (EDT) - -| Симптом | Причина | Устранение | -|---|---|---| -| SU232 «Свойство (метод) объекта не обнаружено» на реквизиты/ТЧ заимствованного документа | Анализатор не видит наследованную структуру | Заимствовать в расширение используемые реквизиты документа и реквизиты табличной части | -| SU89 «Запрос в цикле» | Обращения к базе внутри цикла по строкам | Собирать данные в цикле без запросов, выполнять один пакетный запрос на документ | -| SU47/SU67 на расширяющем методе | Метод расширения виден на клиенте | Оборачивать обработчик в `#Если Сервер` | -| Коллизия имён `РодительскаяПлата` | В конфигурации есть одноимённый общий модуль | Не использовать «голое» имя реквизита в модуле объекта; проверку признака выполнять внутри общего модуля расширения | -| Ошибка «Файл был изменён после чтения» | Параллельная правка файла | Перечитать файл и повторить правку | -| Ошибки SU112 по табличной части | Артефакт записи `.mdo` | Повторить проверку маркеров после пересборки | -| «Метод объекта не обнаружен (`ПриОпределенииНастроек`)» при чтении настроек отчёта | Отчёт включён в `ПодключаемыеОтчетыИОбработки`, но в модуле менеджера нет обязательного метода | Добавить в модуль менеджера отчёта процедуру `ПриОпределенииНастроек(Настройки) Экспорт` | -| Параметр периода в запросе СКД пуст или ошибка типа | Двойное экранирование `&` при записи текста запроса через метаданные (`&amp;`) | Перезаписать текст запроса, передавая `&` как есть | - ---- - -## 7. Обновление - -1. **Обновление типовой конфигурации:** после обновления БГУ 2.0 проверить заимствованные объекты (`Document.КассовоеПоступление`, подсистемы) — при изменении типовой структуры требуется повторное заимствование реквизитов и повторная сборка расширения. -2. **Обновление расширения:** пересобрать проект в EDT → сформировать `.cfe` → обновить расширение в 1С:Предприятие → перезапустить сеансы. -3. После обновления прогнать приёмочные сценарии из раздела 5. -4. **Обновление БСП / типовой:** в расширение заимствованы объекты БСП (`ПодключаемыеОтчетыИОбработки`, `ВариантыОтчетовПереопределяемый`, общая форма `ФормаОтчета`). После обновления типовой их состав нужно проверять и при необходимости перезаимствовать — расширение несёт их копии. -5. **Перед любым обновлением** — резервная копия информационной базы. - ---- - -## 8. Ограничения и известные особенности - -1. **Период платежа не разбирается** — для заполнения расшифровки он не используется. -2. **Поиск ребёнка по ФИО не выполняется** (ФИО не уникально); идентификатор — только лицевой счёт. -3. **Сад в шапке кассового поступления не определяется** — организация в документе это ЦБ; сад виден только по строкам. -4. **Остатки в рабочем месте — без разреза по саду** (только ИФО): в проводках по 205.31/304.04 нет разреза по учреждению. -5. **Отбор/вывод вида операции «начальное сальдо»** в оборотной ведомости не реализован. -6. **Смена лицевого счёта ребёнка** не переидентифицирует ранее загруженные платежи. -7. **Массовый повторный разбор** существующих документов не автоматизирован — доввод выполняется по документу вручную. -8. **Отчёт «Оборотная ведомость» переведён на штатные механизмы БСП**: структура (учреждение → ребёнок) и выводимые поля заданы в схеме компоновки данных, период — стандартный параметр `Период` с вычисляемыми границами; отчёт открывается общей формой отчёта БСП. Программная сборка структуры из модуля отчёта убрана. -9. **Вывод поля периода в шапке отчёта** (в общей форме БСП) и **размещение отчёта в разделе** «Родительская плата» — в доработке. - ---- - -## 9. Сопровождение - -При обращении фиксировать: - -- документ (вид, дата, номер), организацию, период; -- номер строки расшифровки платежа и текст назначения платежа; -- полный текст сообщения системы; -- действия, приведшие к ошибке. - -Разбор инцидентов «строка не распознана» начинается с проверки справочника «Дети» (код = лицевой счёт, заполнен контрагент) и наличия договора у контрагента. diff --git a/docs/РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md b/docs/РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md index c70225e..b21d4d3 100644 --- a/docs/РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md +++ b/docs/РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. Учёт родительской платы ЦБ ОУО (БГУ 2.0).md @@ -1,246 +1,271 @@ # РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. Учёт родительской платы ЦБ ОУО (БГУ 2.0) -**Конфигурация:** Бухгалтерия государственного учреждения, редакция 2.0 (БГУ 2.0), платформа 8.5.1 -**Расширение:** `153_ЦБ_ОУО_БГУ.ПрофиСофт` (префикс объектов `ПС_`) -**Версия документа:** 1.1 от 07.10.2026 +Расширение: `153_ЦБ_ОУО_БГУ.ПрофиСофт`, **версия 1.0.4** +Документ актуален на 02.11.2026. + +Руководство для бухгалтера ЦБ ОУО и бухгалтера детского сада. Установку, настройку и обновление см. в «РУКОВОДСТВО АДМИНИСТРАТОРА». --- -## 1. Общие сведения +## 1. Кто что делает -### 1.1. Назначение - -Расширение реализует учёт **родительской платы** в схеме «детский сад → централизованная бухгалтерия (ЦБ)»: - -- начисление платы ведётся в садах (типовым документом БГУ); -- начисления **передаются в ЦБ** документом «Передача задолженности в ЦБ» с печатной формой извещения (ф. 0504805); -- ЦБ **принимает** задолженность документом «Принятие задолженности от учреждения»; -- платежи родителей, поступающие реестром из СУФД, **автоматически идентифицируются** по назначению платежа; -- расчёты контролируются в **рабочем месте «Управление расчётами по родительской плате»**. - -### 1.2. Роли - -| Роль | Кто | Что делает | +| Сторона | Роль в учёте | Что делает в системе | |---|---|---| -| Бухгалтер сада | ПБС, лицевой счёт 03 | Начисление, передача задолженности в ЦБ, печать извещения | -| Бухгалтер ЦБ | АДБ, лицевой счёт 04 | Принятие задолженности, загрузка реестров платежей, идентификация платежей, контроль расчётов | +| **Детский сад** | начисляет родительскую плату (счёт 205.31) | ведёт начисления, передаёт сведения о начислениях в ЦБ, **принимает** переданные ЦБ платежи, подписывает извещение | +| **ЦБ ОУО** | администратор кассовых поступлений | принимает деньги в бюджет, ведёт расчёты с садами, **передаёт** садам поступившие суммы | -### 1.3. Термины +Полный цикл всегда такой: -| Термин | Значение | -|---|---| -| ЦБ | Централизованная бухгалтерия — организация, в которой ведётся учёт и принимаются платежи | -| Сад | Дошкольное учреждение (ПБС), начисляющее плату | -| Лицевой счёт ребёнка | Код ребёнка в справочнике «Дети» (синоним «Лицевой счёт», 15 символов, например `Х000012877`) | -| Расшифровка платежа | Табличная часть документа «Кассовое поступление», по строке на каждого плательщика | -| Назначение платежа | Текст из реестра СУФД; в расшифровке платежа хранится в реквизите «Примечание» | +**сад начислил → сад сообщил начисление в ЦБ → деньги пришли в ЦБ → ЦБ передал их в сад → сад принял**. + +Первые два шага — типовые документы БГУ (раздел 4). Шаги «пришли → передал → принял» — документы расширения (разделы 5–7). --- -## 2. Начало работы +## 2. Где что находится -### 2.1. Открытие рабочего места - -1С:Предприятие → раздел **«Платное обучение»** → **«Сервис»** → обработка **«Управление расчётами по родительской плате»**. - -### 2.2. Отборы и период - -В верхней части формы расположена группа **«Параметры периода»**: - -| Поле | Назначение | +| Что нужно | Где в 1С | |---|---| -| **Период** | Стандартный период. По умолчанию — «Этот месяц». Если период не заполнен, таблицы очищаются и выводится сообщение | -| **Организация (ЦБ)** | Организация централизованной бухгалтерии. При открытии подставляется автоматически из константы «Организация централизованная бухгалтерия» | -| **ИФО** | Источник финансового обеспечения | -| **Учреждение (сад)** | Детский сад (справочник «Контрагенты») | +| Пульт управления расчётами | раздел **Родительская плата** → «Управление расчётами по родительской плате» | +| Начисление родительской платы | типовой документ «Начисление родительской платы» | +| Извещения ф. 0504805 | типовые документы «Извещение исходящее» и «Извещение входящее» | +| Кассовые поступления | раздел **Денежные средства** → «Кассовые поступления» | +| Передача платежей в учреждения (ЦБ) | раздел **Родительская плата** → «Передача поступивших платежей в учреждения» | +| Принятие платежей из ЦБ (сад) | раздел **Родительская плата** → «Принятие поступивших платежей из ЦБ» | +| Оборотная ведомость | кнопка **«Оборотная ведомость»** на пульте | -Кнопки: - -- **«Обновить»** — пересчитать все таблицы по установленным отборам; -- **«Оборотная ведомость»** — открыть отчёт с текущими отборами и периодом. - -### 2.3. Страницы рабочего места - -| Страница | Содержание | -|---|---| -| **Документы** | Документы принятия задолженности (ЦБ) и передачи задолженности (сад), колонка «Начальное сальдо» | -| **Начисления** | Документы «Начисление родительской платы» за период | -| **Сверка «передано / принято»** | Сопоставление переданных и принятых сумм по каждому документу передачи | -| **Остатки и обороты** | Остатки и обороты по счетам 205.31 и 304.04 в разрезе ИФО | -| **Кассовые поступления** | Документы «Кассовое поступление» с признаком «Родительская плата» и числом нераспознанных строк | - -> Значения отборов сопоставляются между справочниками «Организации» и «Контрагенты» по ИНН. Если сопоставление не удалось, таблицы очищаются и выводится причина. +Если раздела «Родительская плата» не видно — у пользователя нет прав. Обратитесь к администратору (см. «Руководство администратора», раздел «Роли и права»). --- -## 3. Работа с документами +## 3. Как часто выполнять передачу и принятие -### 3.1. Начисление родительской платы (сад) +В расширении **нет привязки к календарному месяцу**: передачу поступивших платежей и их принятие можно делать за любой период — за день, за неделю, за месяц. Ограничений в программе нет, период на пульте выбирается любой. -Выполняется **типовым** документом БГУ «Начисление родительской платы». Расширение его не меняет. Начисления видны в рабочем месте на странице «Начисления» и служат основанием для передачи задолженности в ЦБ. +| Режим | Как выглядит | Когда удобен | +|---|---|---| +| **Ежедневный (оперативный)** | ЦБ каждый день передаёт суммы, поступившие за день; сад принимает их на следующий день | остаток у ЦБ близок к нулю, взаиморасчёты видны в любой момент | +| **Периодический** | передача раз в несколько дней или раз в неделю | меньше документов, контроль чаще, чем раз в месяц | +| **Месячный** | одна передача по итогам месяца | минимальный документооборот | -### 3.2. Передача задолженности в ЦБ (сад) +Выбранная периодичность фиксируется регламентом взаимодействия и учётной политикой. Внутри периода действует простое правило: **передавать и принимать можно столько раз, сколько нужно** — каждая передача забирает только те суммы, которые ещё не переданы. -**Документ:** «Передача задолженности в ЦБ». +Что важно при любом режиме: -| Реквизит | Что указывать | -|---|---| -| Организация | Сад (ПБС) | -| ИФО | Источник финансового обеспечения сада | -| ЦБ | Централизованная бухгалтерия (получатель) | -| Период | Месяц начисления | -| Документ начисления | Основание — документ «Начисление родительской платы» | -| Сумма документа | Итог по табличной части | -| Счёт-корреспондент | По умолчанию 304.04 | -| КЭК корреспондент | По умолчанию 131 | - -Табличная часть **«Задолженность»**: контрагент (родитель), договор, ребёнок, сумма, КПС, КЭК. - -**Проводки:** Дт 304.04 — Кт 205.31 (счёт и КЭК корреспондирующей стороны берутся из реквизитов документа). - -**Печать:** команда печати формирует **извещение (ф. 0504805)** по данным документа. - -#### Режим «Начальное сальдо» - -Для переноса сальдо на момент запуска системы: - -1. установите признак **«Начальное сальдо»**; -2. нажмите **«Заполнить по остаткам счёта 205.31»** — табличная часть заполнится остатками на дату документа (строки можно править и добавлять); -3. при необходимости скорректируйте счёт-корреспондент и КЭК; -4. проведите документ и распечатайте извещение. - -В этом режиме поле «Документ начисления» скрыто и не требуется. Переплаты вводятся **отрицательной суммой** в строке. - -> Если у сада остатки по 205.31 лежат в нескольких ИФО или КФО, команда заполнения предупреждает об этом — такое сальдо переносится отдельными документами. - -### 3.3. Принятие задолженности от учреждения (ЦБ) - -**Документ:** «Принятие задолженности от учреждения». Удобнее всего вводить **на основании** документа передачи — тогда организация, учреждение, период, суммы и табличная часть заполнятся автоматически. - -**Проводки:** Дт 205.31 — Кт 304.04. Документ также формирует движения регистра «Взаиморасчёты по родительской плате». - -**Печать:** извещение (ф. 0504805), зеркальная сторона. - -После ввода документа проверьте страницу **«Сверка «передано / принято»»**: расхождения по суммам должны быть нулевыми. +- документ передачи адресный — один сад на документ; +- передача забирает остаток на момент документа, поэтому дважды одну сумму не отправит; +- сверка «передано / принято» на пульте строится за выбранный период, её рекомендуется делать не реже раза в месяц. --- -## 4. Кассовые поступления и идентификация платежей +## 4. Передача сведений о начислениях в ЦБ (сад → ЦБ) -### 4.1. Как появляется документ +Типовые операции БГУ, расширением не автоматизируются. Нужны, чтобы ЦБ знал, сколько денег должно поступить, и мог сопоставить это с фактическими платежами. -Реестр платежей из СУФД загружается **штатным механизмом БГУ** («Импорт данных из файлов платёжных поручений на общую сумму с реестром»). В результате создаётся документ **«Кассовое поступление»**, а строки реестра попадают в табличную часть **«Расшифровка платежа»**. +### 4.1. Начисление родительской платы (сад) -Расширение не разбирает XML: работа идёт по факту записи документа с признаком **«Родительская плата»**. - -### 4.2. Что заполняется автоматически - -При записи документа система заполняет в строках расшифровки платежа: - -| Реквизит | Значение | -|---|---| -| **Ребёнок** | Найден по лицевому счёту из назначения платежа | -| **Контрагент** | Родитель (плательщик) из карточки ребёнка | -| **Договор** | По правилам п. 4.3 | -| **Счёт расчётов** | 205.31 | -| **КОСГУ назначения платежа** | 131 | - -Идентификация выполняется по **лицевому счёту**: он уникален для ЦБ и всех подшефных садов, поэтому отбор по организации не применяется. - -### 4.3. Правила определения договора - -1. Если по счёту 205.31 есть остатки у контрагента — договор берётся **из остатков**. -2. Иначе — **единственный** договор, отобранный по контрагенту. -3. Если договоров нет или их больше одного — выводится диагностическое сообщение, поле остаётся **пустым**. - -### 4.4. Что не перезаписывается - -- Строки, в которых **уже заполнен ребёнок**, повторно не обрабатываются (признак «строка уже обработана»). -- Счёт расчётов заполняется только в пустое поле. -- Исключение — **КОСГУ**: код «000», который проставляет типовая загрузка, принудительно заменяется на 131. - -Поэтому повторная запись уже обработанного документа безопасна: ручные правки сохраняются. - -### 4.5. Проведение документа: закрытие задолженности - -При **проведении** документа «Кассовое поступление» с признаком «Родительская плата» задолженность закрывается: по каждой строке расшифровки, в которой определён ребёнок и договор, формируется **расход** по регистру «Взаиморасчёты по родительской плате» (оплата родительской платы). Сумма платежа уменьшает остаток по ребёнку. - -Разрезы движения берутся из строки расшифровки: ребёнок, плательщик (контрагент), договор, учреждение (сад) — по лицевому счёту; КФО и КПС — из расшифровки платежа; ИФО — из шапки документа. - -Если задолженности нет, образуется **отрицательный остаток** — это переплата; в учёте она допустима (в бухгалтерском учёте отражается по кредиту счёта). - -### 4.6. Контроль нераспознанных строк - -Рабочее место → страница **«Кассовые поступления»**: - -| Колонка | Значение | -|---|---| -| Строк всего | Количество строк расшифровки платежа в документе | -| **Строк не распознано** | Строки, в которых не определён ребёнок — требуют ручного доввода | - -Порядок работы: - -1. найдите документ с ненулевой колонкой «Строк не распознано»; -2. откройте документ и прочитайте сообщения (см. п. 5); -3. заполните строку вручную и запишите документ. - -### 4.7. Формат назначения платежа - -Реестр СУФД передаёт назначение платежа шестью фрагментами через запятую: +Сад формирует начисление родительской платы типовым документом и проводит его: ``` -ГКДОУ д/с №17 Сказка, л/с 03003001013, л/с Х000012877, Долгих Анна Артемовна, вторая группа ран.возр, май +Дт 205.31.560 Кт 401.10.131 ``` -| № | Фрагмент | Как используется | -|---|---|---| -| 1 | Наименование ДОУ | справочно | -| 2 | Лицевой счёт сада | справочно | -| 3 | **Лицевой счёт ребёнка** | **основной идентификатор** (код в справочнике «Дети») | -| 4 | ФИО ребёнка | справочно | -| 5 | Группа | справочно | -| 6 | Период | справочно (для заполнения расшифровки не используется) | +Счёт 205.31 ведётся **только садом**. У ЦБ этого счёта по родительской плате нет. -Лицевой счёт ищется после последнего фрагмента «л/с»; латинская буква `X` приравнивается к кириллической `Х`, допускается вариант записи без буквы. +### 4.2. Исходящее извещение «Начисление дохода» (сад) + +На основании начисления сад формирует **исходящее извещение ф. 0504805** с видом **«Начисление дохода»** — одной суммой по учреждению, без построчной расшифровки по детям: + +``` +Дт 304.04.131 (КПС КРБ, КВР 801) Кт 303.05.731 +``` + +Извещение направляется в ЦБ средствами ЭДО либо на бумаге. + +### 4.3. Входящее извещение «Начисление дохода» (ЦБ) + +ЦБ регистрирует полученное извещение **входящим извещением ф. 0504805** того же вида: + +``` +Дт 303.05.831 Кт 304.04.131 (КПС КДБ, АГПДБ 191) +``` + +Сумма этого извещения — **ожидаемые поступления**: контрольная величина, с которой потом сопоставляются фактические платежи. + +### 4.4. Что важно знать + +- Извещения о начислениях передаются **сводно, общими суммами по учреждению**. Построчная детализация по детям здесь не нужна — она содержится в реестре платежей (раздел 9). +- Сроки: начисление — до 5-го числа месяца, следующего за расчётным; извещение в ЦБ — до 10-го. Точные сроки — по регламенту. +- Остаток на счёте 303.05 (начислено минус поступило) — это разрыв сроков начисления и оплаты, а не ошибка. +- Счёт 304.04 у обеих сторон накапливает внутриведомственные расчёты и закрывается при завершении финансового года. --- -## 5. Диагностические сообщения +## 5. Ежедневно: кассовое поступление (ЦБ) -Сообщения выводятся при записи документа «Кассовое поступление» и при работе в рабочем месте. +1. Открыть «Кассовое поступление», создать новый документ. +2. Заполнить шапку: организация — ЦБ, дата, счёт, ИФО. +3. Корреспондирующий счёт — **«прочие счета»**, типовая операция — специальная копия (её заводит администратор при внедрении). +4. Установить признак **«Родительская плата»**. Без него приход по взаиморасчётам не сформируется. +5. Заполнить таблицу «Расшифровка платежа». В колонке «Примечание» — назначение платежа из выписки. +6. Записать документ. По каждой распознанной строке автоматически заполняются: + - **контрагент** (родитель), + - **ребёнок**, + - **договор**, + - **счёт расчётов** 205.31, + - **КОСГУ назначения платежа** 131, + - **КФО** — из настроек лицевого счёта (раздел счёта → допустимые КФО; подставляется первый по порядку, как в типовых формах). +7. Провести документ. -| Сообщение | Причина | Действия | +Уже заполненные вручную значения при записи **не перезаписываются** — ручная правка сохраняется. + +### 5.1. Бухгалтерские записи при кассовом поступлении + +Кассовое поступление в ЦБ даёт **одну бухгалтерскую проводку** и **записи по регистру взаиморасчётов**: + +| Что формируется | Запись | Смысл | |---|---|---| -| «Кассовое поступление …, строка …: контрагент не определён — не найден ребёнок с лицевым счётом …» | Лицевого счёта нет в справочнике «Дети» | Проверить код ребёнка: должен совпадать с лицевым счётом (без лишних символов и пробелов). Заполнить строку вручную | -| «… контрагент не определён — не удалось определить лицевой счёт ребёнка» | В назначении платежа нет фрагмента «л/с …» | Проверить текст назначения платежа, заполнить строку вручную | -| «… контрагент не определён — у ребёнка … не заполнен контрагент» | В карточке ребёнка не заполнен контрагент (родитель) | Заполнить контрагента в карточке ребёнка | -| «в плане счетов ЕПСБУ не найден счёт 205.31 — счёт расчётов не заполнен» | Не настроен план счетов | Обратиться к сопровождению | -| «в справочнике КОСГУ не найден код 131 — КОСГУ назначения платежа не заполнен» | Не настроен справочник КОСГУ | Обратиться к сопровождению | -| «Остатки и обороты не рассчитаны: в плане счетов ЕПСБУ не найден счет 205.31 и/или 304.04» | Не настроен план счетов | Обратиться к сопровождению | -| «Остатки не рассчитаны: не найдены остатки по счёту 205.31 …» | По счёту нет остатков на дату / по организации | Проверить дату и организацию | -| «Заполнение по остаткам невозможно: в плане счетов ЕПСБУ не найден счет 205.31» | Не настроен план счетов | Обратиться к сопровождению | -| Предупреждение о том, что отбор по учреждению на остатки не влияет | Остатки берутся из проводок, где разрез по саду отсутствует | Учитывать при анализе | -| Сообщение о невозможности сопоставить организацию и контрагента по ИНН | Расхождение ИНН в справочниках | Проверить ИНН организации и контрагента | +| Бухгалтерская проводка (типовая, по документу) | `Дт 210.02.131 Кт 303.05.731` | деньги пришли на лицевой счёт ЦБ и зачислены в бюджет как администрируемый доход | +| Регистр «Взаиморасчёты по родительской плате» (расширение) | приход по каждому ребёнку: плательщик, ребёнок, договор, КФО, КПС, сумма | оперативный учёт «кто и сколько заплатил» — **это не бухгалтерская проводка**, а аналитика расширения | + +Что важно понимать про эти две части: + +- проводка `Дт 210.02.131 Кт 303.05.731` **не различает детей** — она одна на всю сумму поступления. Детализация по детям живёт только в регистре взаиморасчётов и в реестре платежей (раздел 9); +- приход по регистру формируется **только по распознанным строкам** — там, где определились ребёнок и договор. Строка без ребёнка в регистр не попадает, но в проводку входит (деньги-то пришли); +- повторное проведение документа перезаписывает движения регистра, поэтому исправления безопасны: достаточно изменить строки и перепровести документ. + +Полная картина по счёту 303.05 у ЦБ складывается из двух событий: + +``` +начислено садом (извещение «Начисление дохода», раздел 4) Дт 303.05.831 Кт 304.04.131 +поступили деньги (кассовое поступление) Дт 210.02.131 Кт 303.05.731 +``` + +### 5.2. Почему в ведомости и на пульте виден остаток + +Остаток — это нормальное состояние расчётов, а не ошибка. Он означает разные вещи в зависимости от того, где вы смотрите: + +| Где смотрим | Что показывает остаток | Когда обнуляется | +|---|---|---| +| Ведомость ЦБ / пульт, колонка «Остаток на конец» | **поступило, но ещё не передано в сады** | после проведения документа передачи (раздел 6) и принятия садом (раздел 7) | +| Счёт 303.05 у ЦБ | начислено по извещениям **минус** поступившие деньги — «ожидаемые поступления» | когда родители заплатят начисленные суммы | +| Счёт 205.31 у сада | начислено **минус** принято от ЦБ | когда сад примет переданные платежи | + +Отсюда три типовые ситуации, которые не требуют исправлений: + +1. **Приход есть, остаток по регистру не обнулился** — деньги поступили, но передача в сад ещё не сделана. Сделайте передачу (раздел 6). +2. **Остаток на 303.05 большой, а поступлений мало** — начислено больше, чем оплачено: это задолженность родителей, работа с ней ведётся в саду. +3. **В ведомости строка есть, а прихода нет** — по строке не определились ребёнок или договор, поэтому приход по регистру не сформировался (см. п. 6 выше и раздел 10 «Что делать, если»). + +### 5.3. Формат назначения платежа + +Для реестровых поступлений назначение разбирается по запятым, порядок частей фиксированный: + +``` +ГКДОУ д/с №26 Красная шапочка,л/с 03003001079,л/с X000013125,Саттыбекова Айлин Султановна,вторая группа ран.возр,Июнь +``` + +| Часть | Содержание | Куда попадает | +|---|---|---| +| 1 | наименование учреждения | не переносится | +| 2 | лицевой счёт учреждения | «Расчётный счёт» в реестре | +| 3 | лицевой счёт ребёнка | по нему определяется ребёнок | +| 4 | ФИО ребёнка | используется для поиска | +| 5 | группа | «Группа» в реестре | +| 6 | период оплаты (месяц) | «Период оплаты» в реестре | + +Лицевой счёт ребёнка ищется после последнего «л/с»; латинская `X` и кириллическая `Х` считаются одинаковыми, наличие/отсутствие буквы перед цифрами тоже допускается. + +**Разовый платёж от родителя** (не по реестру): достаточно указать `л/с X000013125`. Ребёнок определится, реквизиты реестра останутся пустыми — это нормальный режим. + +### 5.4. Что проверить после проведения + +На пульте, страница **«Кассовые поступления»**, колонка **«Строк не распознано»**. Если там не ноль — в этих строках ребёнок не определён, при передаче в сад они уйдут без реквизитов. Причины и что делать — раздел 10. --- -## 6. Отчёты +## 6. Передача поступивших платежей в сад (ЦБ) -| Отчёт | Как открыть | Что показывает | -|---|---|---| -| **Оборотная ведомость по расчётам по родительской плате** | Кнопка «Оборотная ведомость» в рабочем месте | Обороты и остатки по регистру взаиморасчётов в разрезе учреждений и детей (колонки: остаток на начало, приход, расход, остаток на конец); отборы и период передаются из рабочего места. Если период не задан, показываются все данные | -| **Остатки и обороты** | Страница рабочего места | Остатки и обороты по счетам 205.31 и 304.04 в разрезе ИФО | -| **Сверка «передано / принято»** | Страница рабочего места | Суммы переданные и принятые по каждому документу передачи, расхождение | -| Извещение (ф. 0504805) | Команда печати в документах передачи и принятия | Печатная форма для передачи в ЦБ и сад | +1. Открыть «Передача поступивших платежей в учреждения», создать документ. +2. Указать: организация — ЦБ, **учреждение (один сад)**, период, ИФО. +3. Нажать **«Заполнить по поступившим платежам»**. Подбираются платежи, поступившие в ЦБ и ещё не переданные этому саду; реквизиты реестра подтягиваются из назначения платежа. +4. Проверить таблицу «Задолженность»: суммы, дети, договоры. Итог по колонке «Сумма» попадает в сумму документа. +5. Провести документ. Бухгалтерских проводок документ не формирует — он делает расход по регистру взаиморасчётов. +6. Нажать **«Создать приём платежей»** — создаётся документ принятия у сада и сразу открывается. Повторное нажатие открывает уже созданный документ, дубль не появляется. +7. Нажать **«Реестр платежей»** — печатная форма для сада. +8. Нажать **«Создать извещение»** — формируется исходящее извещение ф. 0504805 (вид «Получение дохода»). Повторное нажатие открывает существующее. + +**Важно:** документ адресный — один сад на документ. Если в остатках оказались разные ИФО или КФО, система предупредит: передайте их отдельными документами. --- -## 7. Ограничения и особенности +## 7. Принятие платежей из ЦБ (сад) -1. **Период платежа не разбирается** — для заполнения расшифровки платежа он не нужен (начисление сопоставляется по контрагенту и ребёнку). -2. **Поиск ребёнка по ФИО не выполняется** — ФИО не уникально; единственный надёжный идентификатор — лицевой счёт. -3. **Сад в шапке кассового поступления не определяется** — в документе организация — это ЦБ; сад виден только по строкам расшифровки. -4. **Остатки в рабочем месте — без разреза по саду** (только в разрезе ИФО): в проводках по 205.31/304.04 разрез по учреждению отсутствует. -5. **Отчёт по виду операции «начальное сальдо»** — отбор/вывод вида операции в оборотной ведомости пока не реализован. -6. При смене лицевого счёта ребёнка в справочнике «Дети» ранее загруженные платежи автоматически не переидентифицируются — требуется ручной доввод. -7. **Структура отчёта «Оборотная ведомость» формируется программно** (учреждение → ребёнок, с показателями). Ручные изменения структуры в форме отчёта при следующем открытии могут быть перезаписаны. +1. Открыть документ принятия — проще всего из документа передачи кнопкой **«Создать приём платежей»**, тогда шапка и строки заполнятся автоматически. +2. Если создаёте вручную: указать организацию (сад), заполнить «Документ передачи», нажать **«Заполнить по документу передачи»**. +3. Проверить строки: суммы, дети, договоры. +4. Заполнить реквизит **«Вид платежа в бюджет»** — он нужен для аналитики счёта 303.05. +5. Провести документ: построчно формируются проводки `Дт 303.05.831 Кт 205.31.660`. +6. Нажать **«Реестр платежей»**, затем **«Создать извещение»** — создаётся входящее извещение (вид «Получение дохода») со ссылкой на извещение ЦБ. + +Проверить проводки можно кнопкой **«Просмотр бухгалтерских записей»** в обоих документах. + +--- + +## 8. Пульт «Управление расчётами по родительской плате» + +Фильтры: период, организация (ЦБ), ИФО, учреждение (сад). После изменения фильтров — кнопка **«Обновить»**. По умолчанию подставляется текущий месяц и организация ЦБ; период можно поставить любой — день, неделю, месяц. + +| Страница | Что показывает | Зачем нужна | +|---|---|---| +| **Начисления** | документы начисления родительской платы садов за период | увидеть, что сады начислили | +| **Документы передачи** | передачи ЦБ за период | контроль, что передано | +| **Документы принятия** | принятия садов; клик по строке передачи сужает список до этого документа | увидеть, кто ещё не принял | +| **Сверка «передано / принято»** | по каждой передаче: передано, принято, расхождение | главный контроль периода | +| **Остатки и обороты** | остатки по регистру взаиморасчётов: верхняя таблица — по садам, нижняя — по детям (клик по саду) | понять, что осталось у ЦБ | +| **Кассовые поступления** | поступления с признаком «Родительская плата», число строк и число нераспознанных | найти строки, требующие ручной правки | + +**«Остаток у ЦБ»** = деньги поступили, но ещё не переданы в сад. При ежедневном режиме он близок к нулю, при месячном — накапливается до даты передачи; и в том и в другом случае это ровно та сумма, которую предстоит передать. + +Кнопка **«Оборотная ведомость»** открывает отчёт с текущими отборами (организация, учреждение, ИФО). + +--- + +## 9. Печатные формы + +| Форма | Как получить | Особенности | +|---|---|---| +| **Реестр платежей** | кнопка «Реестр платежей» в передаче и в принятии | вёрстка одна и та же для ЦБ и сада; проведение не требуется | +| **Извещение ф. 0504805** | кнопка «Печать извещения» в передаче и в принятии | печатается по строкам «Задолженности», проведение не требуется | + +В передаче печатается извещение **отправителя** (ЦБ), в принятии — **получателя** (сад). + +Не пользуйтесь типовой командой печати из самого документа `ИзвещениеИсходящее` / `ИзвещениеВходящее`: она требует проведения документа. Кнопка расширения работает и без проведения. + +--- + +## 10. Что делать, если… + +| Симптом | Причина | Действия | +|---|---|---| +| В строках расшифровки не заполнился КФО | у лицевого счёта не задан раздел с допустимыми КФО | сообщить администратору: заполнить раздел лицевого счёта и допустимые КФО | +| В расшифровке не определился ребёнок | в назначении нет лицевого счёта ребёнка или его нет в справочнике «Дети» | проверить примечание строки и лицевой счёт в справочнике | +| «У ребёнка … не заполнен контрагент» | в справочнике «Дети» не заполнен контрагент | заполнить контрагента у ребёнка | +| «По контрагенту … найдено договоров — N, договор не заполнен» | у родителя несколько договоров | указать договор в строке вручную | +| В передаче пусты лицевой счёт, расчётный счёт, группа, период оплаты, дата платежа | кассовое поступление не перепроведено после обновления расширения | перепровести кассовое поступление и заново заполнить передачу | +| «Распознан лицевой счёт ребёнка, но признак „Родительская плата“ не установлен» | снят признак (часто из-за заполненного корсчёта 303.00) | корсчёт — «прочие счета», признак установить, перепровести | +| «Поступивших платежей, ещё не переданных в учреждения, не найдено» | всё уже передано либо не тот сад/период | проверить учреждение и остатки на пульте | +| «Для организации … не найден контрагент» | нет соответствия «организация → контрагент» для извещения | сообщить администратору | +| Суммы в сверке расходятся | сад ещё не принял документ или принял частично | запросить принятие у сада | +| На счёте 303.05 остаток | начислено больше, чем поступило: разрыв сроков оплаты | норма; при систематическом росте — разбирать задолженность родителей | + +--- + +## 11. Что важно знать о текущей версии + +- Извещения ф. 0504805 — **обёртки**: проводок они не формируют. Проводки остаются в передаче (регистр) и в принятии (бухгалтерские). +- Изменение документа передачи или принятия **перезаполняет** связанное извещение, если оно ещё не проведено и не помечено на удаление. Проведённое извещение автоматически не меняется — его нужно распровести или создать заново. +- Повторное нажатие «Создать извещение» / «Создать приём платежей» дублей не создаёт — открывает существующий документ. +- Обмен и подписание извещений — внешними средствами ЭДО, из расширения не выполняется. +- Извещения о начислениях (вид «Начисление дохода») и регистрация ожидаемых поступлений — типовые документы БГУ, расширением не автоматизируются. +- В передачах, созданных до версии 1.0.0, реквизит «Принятие платежей» не заполнен — кнопка создаст новый документ принятия.