Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b708bfec68 | |||
| 3aa47428f1 | |||
| 061e46d8f0 | |||
| a10e0f4e31 | |||
| 14e23346a9 | |||
| 7a3a13531d | |||
| 8c69f25e29 | |||
| 1935e64cdd |
+1
-1
@@ -69,7 +69,7 @@
|
||||
<value>Документ передачи</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DocumentRef.ПС_ПередачаЗадолженностиВЦБ</types>
|
||||
<types>DocumentRef.ПС_ПринятиеПоступившихПлатежейИзЦБ</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
|
||||
@@ -1,62 +1,9 @@
|
||||
// ПС_УчетРодительскойПлаты: общая логика учёта родительской платы
|
||||
// для документов ПС_ПередачаЗадолженностиВЦБ и ПС_ПринятиеЗадолженностиОтУчреждения.
|
||||
// для документов ПС_ПередачаПоступившихПлатежейВУчреждения (ЦБ) и ПС_ПринятиеПоступившихПлатежейИзЦБ (учреждение).
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Заполняет КФО документа и КПС строк табличной части "Задолженность" реквизитами учёта,
|
||||
// определёнными по проводкам документа-источника.
|
||||
//
|
||||
// КПС берётся со стороны счёта расчётов по доходам (205.31) - он переносится вместе
|
||||
// с задолженностью, поэтому одинаков для дебета и кредита проводки передачи.
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументОбъект - ДокументОбъект.ПС_ПередачаЗадолженностиВЦБ, ДокументОбъект.ПС_ПринятиеЗадолженностиОтУчреждения - документ, реквизиты учёта которого заполняются.
|
||||
// ДокументИсточник - ДокументСсылка.НачислениеРодительскойПлаты, ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ - проведённый документ, проводки которого используются как источник данных.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если реквизиты заполнены; Ложь, если у документа-источника нет проводок по счёту расчётов по доходам.
|
||||
//
|
||||
Функция ЗаполнитьРеквизитыУчетаПоПроводкам(ДокументОбъект, ДокументИсточник) Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ДокументИсточник) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| Проводки.КФО КАК КФО,
|
||||
| ВЫБОР
|
||||
| КОГДА Проводки.СчетДт.Код = ""205.31""
|
||||
| ТОГДА Проводки.КПСДт
|
||||
| ИНАЧЕ Проводки.КПСКт
|
||||
| КОНЕЦ КАК КПС
|
||||
|ИЗ
|
||||
| РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто КАК Проводки
|
||||
|ГДЕ
|
||||
| Проводки.Регистратор = &ДокументИсточник
|
||||
| И (Проводки.СчетДт.Код = ""205.31""
|
||||
| ИЛИ Проводки.СчетКт.Код = ""205.31"")
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Проводки.НомерСтроки";
|
||||
Запрос.УстановитьПараметр("ДокументИсточник", ДокументИсточник);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если НЕ Выборка.Следующий() Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
ДокументОбъект.КФО = Выборка.КФО;
|
||||
Для Каждого СтрокаЗадолженности Из ДокументОбъект.Задолженность Цикл
|
||||
СтрокаЗадолженности.КПС = Выборка.КПС;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Истина;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает счёт, корреспондирующий со счётом расчётов по доходам (205.31),
|
||||
// по умолчанию: 304.04 (внутриведомственные расчёты).
|
||||
//
|
||||
@@ -94,15 +41,20 @@
|
||||
// Формирует печатную форму извещения (ф. 0504805, ред. 103н) по документу подсистемы.
|
||||
//
|
||||
// Вёрстка и набор областей повторяют типовую печатную форму документа ИзвещениеИсходящее.
|
||||
// Заполняется та сторона, от которой печатается извещение: для передачи задолженности -
|
||||
// отправитель (учреждение), для принятия - получатель (централизованная бухгалтерия).
|
||||
// Заполняется та сторона, от которой печатается извещение: для передачи поступивших платежей -
|
||||
// отправитель (централизованная бухгалтерия), для принятия платежей - получатель (учреждение).
|
||||
// Суммы и счета берутся из проводок документа, поэтому печатается только проведённый документ.
|
||||
//
|
||||
// Документ передачи платежей ЦБ охватывает несколько учреждений, поэтому из него формируется
|
||||
// отдельное извещение на каждое учреждение, присутствующее в табличной части "Задолженность".
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ, ДокументСсылка.ПС_ПринятиеЗадолженностиОтУчреждения - печатаемый документ.
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения,
|
||||
// ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемый документ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не записан, не проведён, нет проводок или не найден макет.
|
||||
// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не записан,
|
||||
// не проведён, нет проводок или не найден макет.
|
||||
//
|
||||
Функция ПечатьИзвещения0504805(ДокументСсылка) Экспорт
|
||||
|
||||
@@ -122,32 +74,6 @@
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда
|
||||
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПередачаЗадолженностиВЦБ_Извещение0504805";
|
||||
Макет = Документы.ПС_ПередачаЗадолженностиВЦБ.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП");
|
||||
СторонаПечати = "Отправитель";
|
||||
Отправитель = ДокументОбъект.Организация;
|
||||
Получатель = ДокументОбъект.ЦБ;
|
||||
Пояснение = "Передача задолженности по родительской плате за "
|
||||
+ Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy")
|
||||
+ ". Основание: " + Строка(ДокументОбъект.ДокументНачисления) + ".";
|
||||
Иначе
|
||||
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПринятиеЗадолженности_Извещение0504805";
|
||||
Макет = Документы.ПС_ПринятиеЗадолженностиОтУчреждения.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель");
|
||||
СторонаПечати = "Получатель";
|
||||
Отправитель = ДокументОбъект.Учреждение;
|
||||
Получатель = ДокументОбъект.Организация;
|
||||
Пояснение = "Принятие задолженности по родительской плате за "
|
||||
+ Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy")
|
||||
+ ". Основание: " + Строка(ДокументОбъект.ДокументПередачи) + ".";
|
||||
КонецЕсли;
|
||||
|
||||
Если Макет = Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: в документе не найден макет печатной формы.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ДокументОбъект.Проведен Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения формируется по проводкам документа, поэтому печатается"
|
||||
@@ -163,16 +89,124 @@
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ") Тогда
|
||||
|
||||
// Учреждение принимает поступившие платежи из ЦБ: печатается сторона получателя.
|
||||
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПринятиеПоступившихПлатежейИзЦБ_Извещение0504805";
|
||||
Макет = Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП");
|
||||
Если Макет = Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: в документе не найден макет печатной формы.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
ДокументПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументСсылка, "ДокументПередачи").ДокументПередачи;
|
||||
Отправитель = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачи, "Организация").Организация;
|
||||
|
||||
ПараметрыИзвещения = НоваяСтруктураИзвещения("Получатель", Отправитель,
|
||||
ДокументОбъект.Организация,
|
||||
"Принятие поступивших платежей по родительской плате за "
|
||||
+ Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy")
|
||||
+ ". Основание: " + Строка(ДокументПередачи) + ".");
|
||||
|
||||
ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, Проводки);
|
||||
|
||||
Иначе
|
||||
|
||||
// ЦБ передаёт поступившие платежи: печатается сторона отправителя,
|
||||
// отдельное извещение на каждое учреждение документа.
|
||||
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПередачаПоступившихПлатежейВУчреждения_Извещение0504805";
|
||||
Макет = Документы.ПС_ПередачаПоступившихПлатежейВУчреждения.ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель");
|
||||
Если Макет = Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: в документе не найден макет печатной формы.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Учреждения = УчрежденияДокументаПередачи(ДокументОбъект);
|
||||
Если Учреждения.Количество() = 0 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: в табличной части ""Задолженность"""
|
||||
+ " не заполнены учреждения.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого Учреждение Из Учреждения Цикл
|
||||
|
||||
ПроводкиУчреждения = ПроводкиПоУчреждению(Проводки, Учреждение);
|
||||
Если ПроводкиУчреждения.Количество() = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыИзвещения = НоваяСтруктураИзвещения("Отправитель", ДокументОбъект.Организация,
|
||||
Учреждение,
|
||||
"Передача поступивших платежей по родительской плате за "
|
||||
+ Формат(ДокументОбъект.Период, "ДФ=MMMM yyyy")
|
||||
+ ". Основание: " + Строка(ДокументСсылка) + ".");
|
||||
|
||||
ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, ПроводкиУчреждения);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, Новый СписокЗначений, ДокументСсылка);
|
||||
|
||||
Возврат ТабличныйДокумент;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Формирует структуру параметров одного извещения для вывода.
|
||||
//
|
||||
// Параметры:
|
||||
// СторонаПечати - Строка - "Отправитель" или "Получатель".
|
||||
// Отправитель - СправочникСсылка.Организации, СправочникСсылка.Контрагенты - отправитель извещения.
|
||||
// Получатель - СправочникСсылка.Организации, СправочникСсылка.Контрагенты - получатель извещения.
|
||||
// Пояснение - Строка - пояснение к извещению.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - параметры извещения.
|
||||
//
|
||||
Функция НоваяСтруктураИзвещения(СторонаПечати, Отправитель, Получатель, Пояснение)
|
||||
|
||||
ПараметрыИзвещения = Новый Структура;
|
||||
ПараметрыИзвещения.Вставить("СторонаПечати", СторонаПечати);
|
||||
ПараметрыИзвещения.Вставить("Отправитель", Отправитель);
|
||||
ПараметрыИзвещения.Вставить("Получатель", Получатель);
|
||||
ПараметрыИзвещения.Вставить("Пояснение", Пояснение);
|
||||
|
||||
Возврат ПараметрыИзвещения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Выводит в табличный документ одно извещение по переданным проводкам.
|
||||
//
|
||||
// Параметры:
|
||||
// ТабличныйДокумент - ТабличныйДокумент - печатная форма, в которую выводится извещение.
|
||||
// Макет - ТабличныйДокумент - макет печатной формы извещения.
|
||||
// ДокументСсылка - ДокументСсылка - печатаемый документ.
|
||||
// ДокументОбъект - ДокументОбъект - печатаемый документ.
|
||||
// ПараметрыИзвещения - Структура - параметры извещения, см. НоваяСтруктураИзвещения.
|
||||
// Проводки - ТаблицаЗначений - проводки извещения, см. ПроводкиИзвещения.
|
||||
//
|
||||
Процедура ВывестиИзвещение(ТабличныйДокумент, Макет, ДокументСсылка, ДокументОбъект, ПараметрыИзвещения, Проводки)
|
||||
|
||||
СторонаПечати = ПараметрыИзвещения.СторонаПечати;
|
||||
|
||||
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
|
||||
ОбластьЗаголовок.Параметры.Номер = РегистрыСведений.НастройкиПечатиПрефиксаНомера
|
||||
.ПолучитьНомерДляПечатиПоСсылкеИдентификаторуДокумента(ДокументСсылка, ДокументОбъект.Номер);
|
||||
ОбластьЗаголовок.Параметры.Дата = ДокументОбъект.Дата;
|
||||
ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Отправитель", Отправитель);
|
||||
ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Получатель", Получатель);
|
||||
ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Отправитель", ПараметрыИзвещения.Отправитель);
|
||||
ЗаполнитьРеквизитыСтороны(ОбластьЗаголовок.Параметры, "Получатель", ПараметрыИзвещения.Получатель);
|
||||
ТабличныйДокумент.Вывести(ОбластьЗаголовок);
|
||||
|
||||
ОбластьПояснение = Макет.ПолучитьОбласть("ПояснениеМБТ");
|
||||
ОбластьПояснение.Параметры.ПояснениеМБТ = Пояснение;
|
||||
ОбластьПояснение.Параметры.ПояснениеМБТ = ПараметрыИзвещения.Пояснение;
|
||||
ТабличныйДокумент.Вывести(ОбластьПояснение);
|
||||
|
||||
ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("Шапка"));
|
||||
@@ -203,15 +237,65 @@
|
||||
ЗаполнитьПодписиСтороны(ОбластьПодвал.Параметры, СторонаПечати, ДокументОбъект);
|
||||
ТабличныйДокумент.Вывести(ОбластьПодвал);
|
||||
|
||||
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, Новый СписокЗначений, ДокументСсылка);
|
||||
КонецПроцедуры
|
||||
|
||||
Возврат ТабличныйДокумент;
|
||||
// Возвращает список учреждений, присутствующих в табличной части "Задолженность" документа передачи.
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументОбъект - ДокументОбъект.ПС_ПередачаПоступившихПлатежейВУчреждения - документ передачи платежей.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из СправочникСсылка.Контрагенты - уникальные учреждения в порядке появления в табличной части.
|
||||
//
|
||||
Функция УчрежденияДокументаПередачи(ДокументОбъект)
|
||||
|
||||
Учреждения = Новый Массив;
|
||||
Для Каждого СтрокаЗадолженности Из ДокументОбъект.Задолженность Цикл
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.Учреждение) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Учреждения.Найти(СтрокаЗадолженности.Учреждение) = Неопределено Тогда
|
||||
Учреждения.Добавить(СтрокаЗадолженности.Учреждение);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Учреждения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
// Возвращает проводки документа, относящиеся к указанному учреждению.
|
||||
//
|
||||
// Учреждение определяется по субконто кредита счёта расчётов (304.04), поэтому проверяются
|
||||
// все позиции субконто.
|
||||
//
|
||||
// Параметры:
|
||||
// Проводки - ТаблицаЗначений - проводки документа, см. ПроводкиИзвещения.
|
||||
// Учреждение - СправочникСсылка.Контрагенты - учреждение, по которому отбираются проводки.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений - проводки указанного учреждения, колонки как у Проводки.
|
||||
//
|
||||
Функция ПроводкиПоУчреждению(Проводки, Учреждение)
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
Результат = Проводки.Скопировать();
|
||||
СтрокиДляУдаления = Новый Массив;
|
||||
|
||||
Для Каждого Проводка Из Результат Цикл
|
||||
Если Проводка.СубконтоКт1 = Учреждение
|
||||
ИЛИ Проводка.СубконтоКт2 = Учреждение
|
||||
ИЛИ Проводка.СубконтоКт3 = Учреждение Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
СтрокиДляУдаления.Добавить(Проводка);
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Проводка Из СтрокиДляУдаления Цикл
|
||||
Результат.Удалить(Проводка);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Заполняет реквизиты стороны извещения (отправителя или получателя) для области "Заголовок".
|
||||
//
|
||||
@@ -393,7 +477,8 @@
|
||||
// ДокументСсылка - ДокументСсылка - печатаемый документ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма, Содержание.
|
||||
// ТаблицаЗначений - колонки: СчетДт, КПСДт, КЭКДт, СчетКт, КПСКт, КЭККт, КФО, Сумма, Содержание,
|
||||
// СубконтоКт1, СубконтоКт2, СубконтоКт3.
|
||||
//
|
||||
Функция ПроводкиИзвещения(ДокументСсылка)
|
||||
|
||||
@@ -408,7 +493,10 @@
|
||||
| Проводки.КЭККт КАК КЭККт,
|
||||
| Проводки.КФО КАК КФО,
|
||||
| Проводки.Сумма КАК Сумма,
|
||||
| Проводки.Содержание КАК Содержание
|
||||
| Проводки.Содержание КАК Содержание,
|
||||
| Проводки.СубконтоКт1 КАК СубконтоКт1,
|
||||
| Проводки.СубконтоКт2 КАК СубконтоКт2,
|
||||
| Проводки.СубконтоКт3 КАК СубконтоКт3
|
||||
|ИЗ
|
||||
| РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто(, , Регистратор = &ДокументСсылка) КАК Проводки
|
||||
|
|
||||
|
||||
@@ -72,8 +72,8 @@
|
||||
<catalogs>Catalog.Пользователи</catalogs>
|
||||
<catalogs>Catalog.КОСГУ</catalogs>
|
||||
<documents>Document.НачислениеРодительскойПлаты</documents>
|
||||
<documents>Document.ПС_ПередачаЗадолженностиВЦБ</documents>
|
||||
<documents>Document.ПС_ПринятиеЗадолженностиОтУчреждения</documents>
|
||||
<documents>Document.ПС_ПринятиеПоступившихПлатежейИзЦБ</documents>
|
||||
<documents>Document.ПС_ПередачаПоступившихПлатежейВУчреждения</documents>
|
||||
<documents>Document.КассовоеПоступление</documents>
|
||||
<enums>Enum.КВД</enums>
|
||||
<enums>Enum.ПС_ВидыОперацийПоВзаиморасчетам</enums>
|
||||
|
||||
+987
-1017
File diff suppressed because it is too large
Load Diff
+179
-97
@@ -22,6 +22,26 @@
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыТаблицаДокументыПередачи
|
||||
|
||||
// Сужает таблицу принятий до принятий по выбранному документу передачи.
|
||||
// Документ передачи берётся из текущей строки таблицы "Документы передачи":
|
||||
// у одного документа передачи может быть несколько документов принятия (по одному на сад).
|
||||
//
|
||||
&НаКлиенте
|
||||
Процедура ТаблицаДокументыПередачиПриАктивизацииСтроки(Элемент)
|
||||
|
||||
ТекущиеДанные = Элемент.ТекущиеДанные;
|
||||
Если ТекущиеДанные = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьПринятияПоПередачеНаСервере(ТекущиеДанные.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
// Обновляет данные таблиц формы по установленным фильтрам.
|
||||
@@ -80,37 +100,64 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Отборы формы заданы в терминах ЦБ: Организация - это ЦБ (справочник Организации),
|
||||
// Учреждение - сад (справочник Контрагенты). Документы начисления и передачи хранят
|
||||
// сад как Организацию, а ЦБ в документе передачи - как Контрагента. Приводим значения
|
||||
// отбора к типам, которые есть в документах, сопоставлением по ИНН.
|
||||
ЦБКонтрагент = Неопределено;
|
||||
Если ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
ЦБКонтрагент = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(Объект.Организация, "Организация (ЦБ)");
|
||||
Если НЕ ЗначениеЗаполнено(ЦБКонтрагент) Тогда
|
||||
Отборы = ОтборыДокументовНаСервере();
|
||||
Если Отборы = Неопределено Тогда
|
||||
ОчиститьТаблицы();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
СадОрганизация = Неопределено;
|
||||
Если ЗначениеЗаполнено(Объект.Учреждение) Тогда
|
||||
СадОрганизация = ПС_РаботаСКонтрагентами.ОрганизацияПоКонтрагенту(Объект.Учреждение, "Учреждение (сад)");
|
||||
Если НЕ ЗначениеЗаполнено(СадОрганизация) Тогда
|
||||
ОчиститьТаблицы();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьНачисления(СадОрганизация);
|
||||
ЗаполнитьДокументыПередачи(ЦБКонтрагент, СадОрганизация);
|
||||
ЗаполнитьДокументыПринятия();
|
||||
ЗаполнитьСверку(ЦБКонтрагент, СадОрганизация);
|
||||
ЗаполнитьНачисления(Отборы.СадОрганизация);
|
||||
ЗаполнитьДокументыПередачи(Отборы.ЦБОрганизация, Отборы.СадКонтрагент);
|
||||
ЗаполнитьДокументыПринятия(Отборы.ЦБКонтрагент, Отборы.СадОрганизация);
|
||||
ЗаполнитьСверку(Отборы.ЦБОрганизация, Отборы.СадКонтрагент);
|
||||
ЗаполнитьТаблицуОстатков();
|
||||
ЗаполнитьКассовыеПоступления();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Приводит отборы формы (ЦБ и учреждение) к значениям, в терминах которых они хранятся
|
||||
// в документах.
|
||||
//
|
||||
// Отборы формы заданы в терминах ЦБ: Организация - это ЦБ (справочник Организации),
|
||||
// Учреждение - сад (справочник Контрагенты). В документах те же стороны хранятся
|
||||
// по-разному: документ передачи платежей хранит ЦБ как Организацию, а сад - как
|
||||
// Контрагента в табличной части "Задолженность"; документ принятия - наоборот.
|
||||
// Приводим значения отбора к типам, которые есть в документах, сопоставлением по ИНН.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - отборы документов: ЦБОрганизация, ЦБКонтрагент, СадОрганизация,
|
||||
// СадКонтрагент. Неопределено - отбор не удалось сопоставить с данными
|
||||
// документов (причина уже выведена пользователю).
|
||||
//
|
||||
&НаСервере
|
||||
Функция ОтборыДокументовНаСервере()
|
||||
|
||||
Отборы = Новый Структура;
|
||||
Отборы.Вставить("ЦБОрганизация");
|
||||
Отборы.Вставить("ЦБКонтрагент");
|
||||
Отборы.Вставить("СадОрганизация");
|
||||
Отборы.Вставить("СадКонтрагент");
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
Отборы.ЦБОрганизация = Объект.Организация;
|
||||
Отборы.ЦБКонтрагент = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(Объект.Организация, "Организация (ЦБ)");
|
||||
Если НЕ ЗначениеЗаполнено(Отборы.ЦБКонтрагент) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Учреждение) Тогда
|
||||
Отборы.СадКонтрагент = Объект.Учреждение;
|
||||
Отборы.СадОрганизация = ПС_РаботаСКонтрагентами.ОрганизацияПоКонтрагенту(Объект.Учреждение, "Учреждение (сад)");
|
||||
Если НЕ ЗначениеЗаполнено(Отборы.СадОрганизация) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Отборы;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Очищает таблицы формы. Вызывается, когда значения отборов не удалось сопоставить
|
||||
// с данными документов; причина уже выведена пользователю.
|
||||
//
|
||||
@@ -174,18 +221,77 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы ДокументыПередачи по установленным фильтрам.
|
||||
// Таблица показывает документы передачи поступивших платежей в учреждения (документ ЦБ).
|
||||
//
|
||||
// Параметры:
|
||||
// ЦБКонтрагент - CatalogRef.Контрагенты, Неопределено - ЦБ в виде контрагента
|
||||
// (документ передачи хранит ЦБ именно так); Неопределено - отбор не задан.
|
||||
// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде
|
||||
// организации; Неопределено - отбор по учреждению не задан.
|
||||
// ЦБОрганизация - CatalogRef.Организации - ЦБ в виде организации (документ передачи
|
||||
// хранит ЦБ в реквизите "Организация"); Неопределено - отбор не задан.
|
||||
// СадКонтрагент - CatalogRef.Контрагенты - учреждение (сад) в табличной части
|
||||
// "Задолженность"; Неопределено - отбор по учреждению не задан.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьДокументыПередачи(ЦБКонтрагент, СадОрганизация)
|
||||
Процедура ЗаполнитьДокументыПередачи(ЦБОрганизация, СадКонтрагент)
|
||||
|
||||
ДокументыПередачи.Очистить();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| Документы.Ссылка КАК Ссылка,
|
||||
| Документы.Дата КАК Дата,
|
||||
| Документы.Номер КАК Номер,
|
||||
| Документы.Организация КАК Организация,
|
||||
| Документы.ИФО КАК ИФО,
|
||||
| Документы.Период КАК Период,
|
||||
| Документы.СуммаДокумента КАК СуммаДокумента,
|
||||
| Документы.Проведен КАК Проведен,
|
||||
| Документы.ПометкаУдаления КАК ПометкаУдаления
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаПоступившихПлатежейВУчреждения КАК Документы
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПС_ПередачаПоступившихПлатежейВУчреждения.Задолженность КАК Строки
|
||||
| ПО Документы.Ссылка = Строки.Ссылка
|
||||
|ГДЕ
|
||||
| Документы.Период >= &НачалоПериода
|
||||
| И Документы.Период <= &КонецПериода
|
||||
| И (&ЦБОрганизация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &ЦБОрганизация)
|
||||
| И (&СадКонтрагент = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Строки.Учреждение = &СадКонтрагент)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Документы.Дата УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("ЦБОрганизация", ЦБОрганизация);
|
||||
Запрос.УстановитьПараметр("СадКонтрагент", СадКонтрагент);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ЗаполнитьЗначенияСвойств(ДокументыПередачи.Добавить(), Выборка);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы ДокументыПринятия по установленным фильтрам.
|
||||
// Таблица показывает документы принятия поступивших платежей из ЦБ (документ учреждения).
|
||||
//
|
||||
// Параметры:
|
||||
// ЦБКонтрагент - CatalogRef.Контрагенты - ЦБ в виде контрагента (документ принятия
|
||||
// хранит ЦБ в реквизите "ЦБ"); Неопределено - отбор не задан.
|
||||
// СадОрганизация - CatalogRef.Организации - учреждение (сад) в виде организации
|
||||
// (документ принятия хранит сад в реквизите "Организация");
|
||||
// Неопределено - отбор по учреждению не задан.
|
||||
// ДокументПередачи - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ
|
||||
// передачи, по которому отбираются принятия; Неопределено - отбор не задан.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьДокументыПринятия(ЦБКонтрагент, СадОрганизация, ДокументПередачи = Неопределено)
|
||||
|
||||
ДокументыПринятия.Очистить();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
@@ -197,76 +303,31 @@
|
||||
| Документы.ИФО КАК ИФО,
|
||||
| Документы.Период КАК Период,
|
||||
| Документы.СуммаДокумента КАК СуммаДокумента,
|
||||
| Документы.ПередачаСальдо КАК ПередачаСальдо,
|
||||
| Документы.ДокументПередачи КАК ДокументПередачи,
|
||||
| Документы.Проведен КАК Проведен,
|
||||
| Документы.ПометкаУдаления КАК ПометкаУдаления
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК Документы
|
||||
|ГДЕ
|
||||
| Документы.Период >= &НачалоПериода
|
||||
| И Документы.Период <= &КонецПериода
|
||||
| И (&ЦБ = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ЦБ = &ЦБ)
|
||||
| И (&Сад = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Сад)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Документы.Дата УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент);
|
||||
Запрос.УстановитьПараметр("Сад", СадОрганизация);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
ЗаполнитьЗначенияСвойств(ДокументыПередачи.Добавить(), Выборка);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы ДокументыПринятия по установленным фильтрам.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьДокументыПринятия()
|
||||
|
||||
ДокументыПринятия.Очистить();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Документы.Ссылка КАК Ссылка,
|
||||
| Документы.Дата КАК Дата,
|
||||
| Документы.Номер КАК Номер,
|
||||
| Документы.Организация КАК Организация,
|
||||
| Документы.Учреждение КАК Учреждение,
|
||||
| Документы.ИФО КАК ИФО,
|
||||
| Документы.Период КАК Период,
|
||||
| Документы.СуммаДокумента КАК СуммаДокумента,
|
||||
| Документы.ПередачаСальдо КАК ПередачаСальдо,
|
||||
| Документы.Проведен КАК Проведен,
|
||||
| Документы.ПометкаУдаления КАК ПометкаУдаления
|
||||
|ИЗ
|
||||
| Документ.ПС_ПринятиеЗадолженностиОтУчреждения КАК Документы
|
||||
| Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ КАК Документы
|
||||
|ГДЕ
|
||||
| Документы.Период >= &НачалоПериода
|
||||
| И Документы.Период <= &КонецПериода
|
||||
| И (&Организация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Организация)
|
||||
| И (&Учреждение = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Учреждение = &Учреждение)
|
||||
| И (&ЦБ = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ЦБ = &ЦБ)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
| И (&ДокументПередачи = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ДокументПередачи = &ДокументПередачи)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Документы.Дата УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено));
|
||||
Запрос.УстановитьПараметр("Учреждение", ?(ЗначениеЗаполнено(Объект.Учреждение), Объект.Учреждение, Неопределено));
|
||||
Запрос.УстановитьПараметр("Организация", СадОрганизация);
|
||||
Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
Запрос.УстановитьПараметр("ДокументПередачи", ДокументПередачи);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
@@ -275,17 +336,37 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы Сверка: сопоставляет суммы наших документов передачи
|
||||
// и принятия. Приёмка связана с передачей через реквизит ДокументПередачи.
|
||||
// Заполняет таблицу принятий по документу передачи, выбранному в таблице "Документы передачи".
|
||||
//
|
||||
// Параметры:
|
||||
// ЦБКонтрагент - CatalogRef.Контрагенты, Неопределено - ЦБ в виде контрагента
|
||||
// (документ передачи хранит ЦБ именно так); Неопределено - отбор не задан.
|
||||
// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде
|
||||
// организации; Неопределено - отбор по учреждению не задан.
|
||||
// ДокументПередачи - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ
|
||||
// передачи, по которому отбираются принятия.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСверку(ЦБКонтрагент, СадОрганизация)
|
||||
Процедура ЗаполнитьПринятияПоПередачеНаСервере(ДокументПередачи)
|
||||
|
||||
Отборы = ОтборыДокументовНаСервере();
|
||||
Если Отборы = Неопределено Тогда
|
||||
ДокументыПринятия.Очистить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьДокументыПринятия(Отборы.ЦБКонтрагент, Отборы.СадОрганизация, ДокументПередачи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы Сверка: сопоставляет суммы переданных платежей (документ ЦБ)
|
||||
// и принятых учреждениями (документы принятия). Приёмка связана с передачей через
|
||||
// реквизит ДокументПередачи документа принятия.
|
||||
//
|
||||
// Параметры:
|
||||
// ЦБОрганизация - CatalogRef.Организации - ЦБ в виде организации (документ передачи
|
||||
// хранит ЦБ в реквизите "Организация"); Неопределено - отбор не задан.
|
||||
// СадКонтрагент - CatalogRef.Контрагенты - учреждение (сад) в табличной части
|
||||
// "Задолженность"; Неопределено - отбор по учреждению не задан.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСверку(ЦБОрганизация, СадКонтрагент)
|
||||
|
||||
Сверка.Очистить();
|
||||
|
||||
@@ -296,7 +377,7 @@
|
||||
| СУММА(Принятие.СуммаДокумента) КАК СуммаПринято
|
||||
|ПОМЕСТИТЬ ВТПринято
|
||||
|ИЗ
|
||||
| Документ.ПС_ПринятиеЗадолженностиОтУчреждения КАК Принятие
|
||||
| Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ КАК Принятие
|
||||
|ГДЕ
|
||||
| НЕ Принятие.ПометкаУдаления
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
@@ -305,27 +386,28 @@
|
||||
| ДокументПередачи
|
||||
|;
|
||||
|
|
||||
|ВЫБРАТЬ
|
||||
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| Передача.Ссылка КАК ДокументПередачи,
|
||||
| Передача.Период КАК Период,
|
||||
| Передача.Организация КАК Сад,
|
||||
| Передача.ЦБ КАК ЦБ,
|
||||
| Передача.Организация КАК ЦБ,
|
||||
| Передача.СуммаДокумента КАК СуммаПередано,
|
||||
| ЕСТЬNULL(ВТПринято.СуммаПринято, 0) КАК СуммаПринято,
|
||||
| Передача.СуммаДокумента - ЕСТЬNULL(ВТПринято.СуммаПринято, 0) КАК Расхождение,
|
||||
| Передача.Проведен КАК ПередачаПроведена
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК Передача
|
||||
| Документ.ПС_ПередачаПоступившихПлатежейВУчреждения КАК Передача
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПринято КАК ВТПринято
|
||||
| ПО Передача.Ссылка = ВТПринято.ДокументПередачи
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПС_ПередачаПоступившихПлатежейВУчреждения.Задолженность КАК Строки
|
||||
| ПО Передача.Ссылка = Строки.Ссылка
|
||||
|ГДЕ
|
||||
| НЕ Передача.ПометкаУдаления
|
||||
| И Передача.Период >= &НачалоПериода
|
||||
| И Передача.Период <= &КонецПериода
|
||||
| И (&ЦБ = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.ЦБ = &ЦБ)
|
||||
| ИЛИ Передача.Организация = &ЦБ)
|
||||
| И (&Сад = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.Организация = &Сад)
|
||||
| ИЛИ Строки.Учреждение = &Сад)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
@@ -334,8 +416,8 @@
|
||||
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент);
|
||||
Запрос.УстановитьПараметр("Сад", СадОрганизация);
|
||||
Запрос.УстановитьПараметр("ЦБ", ЦБОрганизация);
|
||||
Запрос.УстановитьПараметр("Сад", СадКонтрагент);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
@@ -25,9 +25,10 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Оплата закрывает задолженность, принятую от учреждения. Переплата допускается -
|
||||
// она даёт отрицательный (кредитовый) остаток по ребёнку. Строки без определённого
|
||||
// ребёнка или договора пропускаются: это не оплата родительской платы.
|
||||
// Поступившие платежи копятся у ЦБ: приход по регистру взаиморасчётов.
|
||||
// Передача платежей в сады списывает их расходом, поэтому остаток регистра
|
||||
// показывает, сколько поступило и ещё не передано в учреждения. Строки без
|
||||
// определённого ребёнка или договора пропускаются: это не плата за детский сад.
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить();
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
|
||||
|
||||
@@ -65,7 +66,7 @@
|
||||
КонтрагентыСадов.Вставить(ОрганизацияСада, КонтрагентСада);
|
||||
КонецЕсли;
|
||||
|
||||
Движение = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьРасход();
|
||||
Движение = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьПриход();
|
||||
Движение.Период = Дата;
|
||||
Движение.Организация = Организация;
|
||||
Движение.Учреждение = КонтрагентСада;
|
||||
@@ -76,7 +77,7 @@
|
||||
Движение.КФО = СтрокаРасшифровки.КФО;
|
||||
Движение.КПС = СтрокаРасшифровки.КБКНазначениеПлатежа;
|
||||
Движение.Сумма = СтрокаРасшифровки.Сумма;
|
||||
Движение.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.Оплата;
|
||||
Движение.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПоступлениеПлатежа;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
+1
-1
@@ -112,7 +112,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
|
||||
ОткрытьФорму("Документ.ПС_ПередачаЗадолженностиВЦБ.Форма.ФормаДокумента",
|
||||
ОткрытьФорму("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ.Форма.ФормаДокумента",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект);
|
||||
|
||||
|
||||
-1
@@ -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>
|
||||
|
||||
-438
@@ -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].Выбрать();
|
||||
Пока ВыборкаСтроки.Следующий() Цикл
|
||||
|
||||
НоваяСтрока = Объект.Задолженность.Добавить();
|
||||
НоваяСтрока.Контрагент = ВыборкаСтроки.Контрагент;
|
||||
НоваяСтрока.Договор = ВыборкаСтроки.Договор;
|
||||
НоваяСтрока.Ребенок = ВыборкаСтроки.Ребенок;
|
||||
НоваяСтрока.ИДСтроки = ВыборкаСтроки.ИДСтроки;
|
||||
НоваяСтрока.Сумма = ВыборкаСтроки.Сумма;
|
||||
|
||||
Объект.СуммаДокумента = Объект.СуммаДокумента + ВыборкаСтроки.Сумма;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// КФО документа и КПС строк - из проводок документа начисления.
|
||||
ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(Объект, ДокументНачисленияСсылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка)
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
Отбор = Новый Структура("Регистратор", ДокументСсылка);
|
||||
ПараметрыФормы.Вставить("Отбор", Отбор);
|
||||
|
||||
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект,
|
||||
УникальныйИдентификатор);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
+146
-126
@@ -51,52 +51,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ДокументПередачи</name>
|
||||
<id>22</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ДокументПередачи</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ДокументПередачиПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ДокументПередачиРасширеннаяПодсказка</name>
|
||||
<id>24</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДокументПередачиКонтекстноеМеню</name>
|
||||
<id>23</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>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Период</name>
|
||||
<id>16</id>
|
||||
@@ -255,48 +209,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>
|
||||
@@ -452,6 +364,47 @@
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ЗадолженностьУчреждение</name>
|
||||
<id>103</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.Задолженность.Учреждение</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ЗадолженностьЗадолженностьУчреждениеРасширеннаяПодсказка</name>
|
||||
<id>105</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ЗадолженностьЗадолженностьУчреждениеКонтекстноеМеню</name>
|
||||
<id>104</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Auto</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:InputFieldExtInfo">
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ЗадолженностьГруппаКонтрагента</name>
|
||||
<id>92</id>
|
||||
@@ -1014,43 +967,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПередачаСальдо</name>
|
||||
<id>94</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Передача начального сальдо</value>
|
||||
</title>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ПередачаСальдо</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ПередачаСальдоРасширеннаяПодсказка</name>
|
||||
<id>96</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПередачаСальдоКонтекстноеМеню</name>
|
||||
<id>95</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СчетКорреспондент</name>
|
||||
<id>97</id>
|
||||
@@ -1323,6 +1239,58 @@
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗаполнитьПоПоступившимПлатежам</name>
|
||||
<id>106</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗаполнитьПоПоступившимПлатежамРасширеннаяПодсказка</name>
|
||||
<id>107</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ЗаполнитьПоПоступившимПлатежам</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СоздатьПринятиеПлатежей</name>
|
||||
<id>108</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСоздатьПринятиеПлатежейРасширеннаяПодсказка</name>
|
||||
<id>109</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.СоздатьПринятиеПлатежей</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
<autoFill>true</autoFill>
|
||||
</autoCommandBar>
|
||||
@@ -1343,7 +1311,7 @@
|
||||
<name>Объект</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>DocumentObject.ПС_ПринятиеЗадолженностиОтУчреждения</types>
|
||||
<types>DocumentObject.ПС_ПередачаПоступившихПлатежейВУчреждения</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
@@ -1392,11 +1360,63 @@
|
||||
</handler>
|
||||
</action>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ЗаполнитьПоПоступившимПлатежам</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Заполнить по поступившим платежам</value>
|
||||
</title>
|
||||
<id>3</id>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ЗаполнитьПоПоступившимПлатежам</name>
|
||||
</handler>
|
||||
</action>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>СоздатьПринятиеПлатежей</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Создать приём платежей</value>
|
||||
</title>
|
||||
<id>4</id>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>СоздатьПринятиеПлатежей</name>
|
||||
</handler>
|
||||
</action>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
</commandInterface>
|
||||
<extInfo xsi:type="form:DocumentFormExtInfo">
|
||||
<handlers>
|
||||
<event>BeforeWrite</event>
|
||||
<name>ПередЗаписью</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>BeforeWriteAtServer</event>
|
||||
<name>ПередЗаписьюНаСервере</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>AfterWriteAtServer</event>
|
||||
<name>ПослеЗаписиНаСервере</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>OnReadAtServer</event>
|
||||
<name>ПриЧтенииНаСервере</name>
|
||||
</handlers>
|
||||
<handlers>
|
||||
<event>AfterWrite</event>
|
||||
<name>ПослеЗаписи</name>
|
||||
</handlers>
|
||||
<repostOnWrite>true</repostOnWrite>
|
||||
</extInfo>
|
||||
</form:Form>
|
||||
+309
@@ -0,0 +1,309 @@
|
||||
// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль формы документа.
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация);
|
||||
|
||||
// ИФО показывается только при включённом учёте по ИФО (как в типовых документах).
|
||||
Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО");
|
||||
// КПС определяется автоматически по настройкам учётной политики.
|
||||
Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина;
|
||||
|
||||
// Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию.
|
||||
ЗаполнитьКорреспондирующийСчетПоУмолчанию();
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Ссылка)
|
||||
И НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
Объект.Организация = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадолженность
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗадолженностьПриИзменении(Элемент)
|
||||
|
||||
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПечатьИзвещения(Команда)
|
||||
|
||||
ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка);
|
||||
ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - отправитель");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
|
||||
|
||||
ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьПоПоступившимПлатежам(Команда)
|
||||
|
||||
ЗаполнитьПоПоступившимПлатежамНаСервере();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура СоздатьПринятиеПлатежей(Команда)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
СообщениеПользователю = Новый СообщениеПользователю;
|
||||
СообщениеПользователю.Текст = "Сначала запишите документ передачи платежей.";
|
||||
СообщениеПользователю.Сообщить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ Объект.Проведен Тогда
|
||||
СообщениеПользователю = Новый СообщениеПользователю;
|
||||
СообщениеПользователю.Текст = "Перед созданием приёма платежей документ передачи должен быть проведён.";
|
||||
СообщениеПользователю.Сообщить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// По каждому учреждению табличной части открывается форма нового документа принятия:
|
||||
// строки подбираются по саду документа, записывает документы пользователь.
|
||||
ОрганизацииСадов = ОрганизацииСадовНаСервере();
|
||||
Если ОрганизацииСадов.Количество() = 0 Тогда
|
||||
СообщениеПользователю = Новый СообщениеПользователю;
|
||||
СообщениеПользователю.Текст = "В табличной части ""Задолженность"" не заполнены учреждения (получатели).";
|
||||
СообщениеПользователю.Сообщить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Для Каждого ОрганизацияСада Из ОрганизацииСадов Цикл
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
ПараметрыФормы.Вставить("ДокументПередачи", Объект.Ссылка);
|
||||
ПараметрыФормы.Вставить("ОрганизацияСада", ОрганизацияСада);
|
||||
|
||||
ОткрытьФорму("Документ.ПС_ПринятиеПоступившихПлатежейИзЦБ.Форма.ФормаДокумента",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект,
|
||||
Строка(Объект.Ссылка) + ":" + Строка(ОрганизацияСада));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПечатьИзвещенияНаСервере(ДокументСсылка)
|
||||
|
||||
Возврат Документы.ПС_ПередачаПоступившихПлатежейВУчреждения.СформироватьПечатныеФормыИзвещений(ДокументСсылка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда
|
||||
Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда
|
||||
Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Подбирает в табличную часть "Задолженность" поступившие платежи, ещё не переданные
|
||||
// в учреждения: остатки регистра накопления ПС_ВзаиморасчетыПоРодительскойПлате.
|
||||
// Предыдущая передача выбирает остатки, поэтому следующая их уже не видит.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПоПоступившимПлатежамНаСервере()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Заполнение невозможно: не заполнена организация (ЦБ).");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Остатки.Учреждение КАК Учреждение,
|
||||
| Остатки.Плательщик КАК Контрагент,
|
||||
| Остатки.Договор КАК Договор,
|
||||
| Остатки.Ребенок КАК Ребенок,
|
||||
| Остатки.КПС КАК КПС,
|
||||
| Остатки.ИФО КАК ИФО,
|
||||
| Остатки.КФО КАК КФО,
|
||||
| Остатки.СуммаОстаток КАК Сумма
|
||||
|ИЗ
|
||||
| РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.Остатки(
|
||||
| &МоментВремени,
|
||||
| Организация = &Организация) КАК Остатки
|
||||
|ГДЕ
|
||||
| Остатки.СуммаОстаток <> 0
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Остатки.Учреждение,
|
||||
| Остатки.Плательщик,
|
||||
| Остатки.Договор";
|
||||
// Поступившие платежи собираются на границу конца дня документа: кассовые поступления
|
||||
// по умолчанию датируются 23:59:59 и при моменте времени, равном началу дня документа,
|
||||
// в остатки не попадали.
|
||||
Запрос.УстановитьПараметр("МоментВремени", КонецДня(Объект.Дата) + 1);
|
||||
Запрос.УстановитьПараметр("Организация", Объект.Организация);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
|
||||
Объект.Задолженность.Очистить();
|
||||
Объект.СуммаДокумента = 0;
|
||||
|
||||
ЗначенияИФО = Новый Соответствие;
|
||||
ЗначенияКФО = Новый Соответствие;
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
ЗначенияИФО.Вставить(Выборка.ИФО, Истина);
|
||||
ЗначенияКФО.Вставить(Выборка.КФО, Истина);
|
||||
|
||||
НоваяСтрока = Объект.Задолженность.Добавить();
|
||||
НоваяСтрока.Учреждение = Выборка.Учреждение;
|
||||
НоваяСтрока.Контрагент = Выборка.Контрагент;
|
||||
НоваяСтрока.Договор = Выборка.Договор;
|
||||
НоваяСтрока.Ребенок = Выборка.Ребенок;
|
||||
НоваяСтрока.КПС = Выборка.КПС;
|
||||
НоваяСтрока.Сумма = Выборка.Сумма;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если Объект.Задолженность.Количество() = 0 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Поступивших платежей, ещё не переданных в учреждения, не найдено.");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
|
||||
|
||||
// Разрезов ИФО и КФО в табличной части нет - они задаются на весь документ,
|
||||
// поэтому переносим их в шапку, если в остатках они единственные.
|
||||
ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО);
|
||||
|
||||
Если ЗначенияИФО.Количество() > 1 ИЛИ ЗначенияКФО.Количество() > 1 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Поступившие платежи найдены в разрезе нескольких ИФО и/или КФО, а в документе ИФО и КФО"
|
||||
+ " задаются на весь документ. Передайте их отдельными документами.");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьИФОиКФОПоОстаткам(ЗначенияИФО, ЗначенияКФО)
|
||||
|
||||
Если ЗначенияКФО.Количество() = 1 И НЕ ЗначениеЗаполнено(Объект.КФО) Тогда
|
||||
Для Каждого КлючИЗначение Из ЗначенияКФО Цикл
|
||||
Объект.КФО = КлючИЗначение.Ключ;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначенияИФО.Количество() = 1 И НЕ ЗначениеЗаполнено(Объект.ИФО) Тогда
|
||||
Для Каждого КлючИЗначение Из ЗначенияИФО Цикл
|
||||
Объект.ИФО = КлючИЗначение.Ключ;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка)
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
Отбор = Новый Структура("Регистратор", ДокументСсылка);
|
||||
ПараметрыФормы.Вставить("Отбор", Отбор);
|
||||
|
||||
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект,
|
||||
УникальныйИдентификатор);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает организации садов (учреждений), представленных в табличной части "Задолженность".
|
||||
// Учреждение хранится в документе контрагентом, поэтому организация ищется по ИНН.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из СправочникСсылка.Организации - организации получателей в порядке появления в табличной части.
|
||||
//
|
||||
&НаСервере
|
||||
Функция ОрганизацииСадовНаСервере()
|
||||
|
||||
Учреждения = Новый Массив;
|
||||
Для Каждого СтрокаЗадолженности Из Объект.Задолженность Цикл
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.Учреждение) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
Если Учреждения.Найти(СтрокаЗадолженности.Учреждение) = Неопределено Тогда
|
||||
Учреждения.Добавить(СтрокаЗадолженности.Учреждение);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Организации = Новый Массив;
|
||||
Для Каждого Учреждение Из Учреждения Цикл
|
||||
Организация = ПС_РаботаСКонтрагентами.ОрганизацияПоКонтрагенту(Учреждение, "Получатель (учреждение)");
|
||||
Если ЗначениеЗаполнено(Организация) Тогда
|
||||
Организации.Добавить(Организация);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Организации;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
// ПС_ПринятиеЗадолженностиОтУчреждения: модуль менеджера.
|
||||
// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль менеджера.
|
||||
// Печатная форма извещения (ф. 0504805, ред. 103н) - сторона получателя (централизованная бухгалтерия).
|
||||
// Заполнение макета выполняет общая логика подсистемы: ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
// Вызывается из модуля формы документа кнопкой "Печать".
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПринятиеЗадолженностиОтУчреждения - печатаемый документ.
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - печатаемый документ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТабличныйДокумент
|
||||
+193
@@ -0,0 +1,193 @@
|
||||
// ПС_ПередачаПоступившихПлатежейВУчреждения: модуль объекта.
|
||||
// Сторона ЦБ: Дт 205.31.56X — Кт 304.04.130.
|
||||
// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением
|
||||
// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ.
|
||||
// Документ собирает поступившие платежи (приход в регистре накопления
|
||||
// ПС_ВзаиморасчетыПоРодительскойПлате, сделанный кассовыми поступлениями)
|
||||
// и передаёт их учреждениям — расход по тому же регистру. Пока передано не всё,
|
||||
// остаток регистра ненулевой; он и служит контролем полноты передачи.
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
|
||||
|
||||
Движения.ЖурналПроводокЕПСБУ.Очистить();
|
||||
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
|
||||
Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок");
|
||||
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить();
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
|
||||
|
||||
СчетДт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация);
|
||||
|
||||
// Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК задаются
|
||||
// реквизитами документа (по умолчанию 304.04 и 131) и могут быть изменены пользователем.
|
||||
СчетКт = СчетКорреспондент;
|
||||
Если НЕ ЗначениеЗаполнено(СчетКт) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.",
|
||||
, "СчетКорреспондент", "Объект", Отказ);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
|
||||
|
||||
// КПС строк заполняется при подборе поступивших платежей (см. модуль формы),
|
||||
// КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ).
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
|
||||
Движение = Движения.ЖурналПроводокЕПСБУ.Добавить();
|
||||
Движение.Период = Дата;
|
||||
Движение.Организация = Организация;
|
||||
Движение.ИФО = ИФО;
|
||||
Движение.КФО = КФО;
|
||||
Движение.СчетДт = СчетДт;
|
||||
Движение.СчетКт = СчетКт;
|
||||
Движение.КПСДт = СтрокаЗадолженности.КПС;
|
||||
Движение.КПСКт = СтрокаЗадолженности.КПС;
|
||||
Движение.КЭКДт = КЭКПроводки(СчетДт, "Дт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор);
|
||||
Движение.КЭККт = КЭККорреспондент;
|
||||
Движение.Сумма = СтрокаЗадолженности.Сумма;
|
||||
Движение.ЖурналОпераций = ЖурналОпераций;
|
||||
Движение.Содержание = "Передача поступивших платежей по родительской плате в учреждение";
|
||||
|
||||
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент;
|
||||
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор;
|
||||
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = СтрокаЗадолженности.Учреждение;
|
||||
|
||||
// Взаиморасчёты: переданные в учреждение поступившие платежи списываются расходом.
|
||||
ДвижениеПС = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьРасход();
|
||||
ДвижениеПС.Период = Дата;
|
||||
ДвижениеПС.Организация = Организация;
|
||||
ДвижениеПС.Учреждение = СтрокаЗадолженности.Учреждение;
|
||||
ДвижениеПС.Плательщик = СтрокаЗадолженности.Контрагент;
|
||||
ДвижениеПС.Ребенок = СтрокаЗадолженности.Ребенок;
|
||||
ДвижениеПС.Договор = СтрокаЗадолженности.Договор;
|
||||
ДвижениеПС.ИФО = ИФО;
|
||||
ДвижениеПС.КФО = КФО;
|
||||
ДвижениеПС.КПС = СтрокаЗадолженности.КПС;
|
||||
ДвижениеПС.Сумма = СтрокаЗадолженности.Сумма;
|
||||
ДвижениеПС.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПередачаВУчреждение;
|
||||
ДвижениеПС.ИДСтроки = СтрокаЗадолженности.ИДСтроки;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// В конфигурации есть подписка на событие "ОбработкаПроведения" (ЗаписатьТаблицуПроводок),
|
||||
// которая выполняется после модуля объекта и перезаписывает проводки документа: если таблица
|
||||
// проводок не передана, набор записей регистра очищается. Поэтому передаём сформированную
|
||||
// таблицу через ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок.
|
||||
БухгалтерскиеОперацииСервер.ИнициализироватьБухгалтерскиеОперации(ЭтотОбъект);
|
||||
ДополнительныеСвойства.ДанныеАвтоПроведения.ТаблицаПроводок = Движения.ЖурналПроводокЕПСБУ.Выгрузить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаУдаленияПроведения(Отказ)
|
||||
|
||||
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
|
||||
|
||||
ЗаполнитьРеквизитыПоУмолчанию();
|
||||
|
||||
СуммаДокумента = Задолженность.Итог("Сумма");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Организация) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнена организация (ЦБ)", , "Организация", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(КФО) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнен КФО", , "КФО", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если Задолженность.Количество() = 0 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнена табличная часть ""Задолженность""", , "Задолженность", "Объект", Отказ);
|
||||
Иначе
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.Учреждение) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнено учреждение в строке табличной части ""Задолженность"".",
|
||||
, "Задолженность", "Объект", Отказ);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен КПС строки табличной части ""Задолженность""."
|
||||
+ " Заполните строки по поступившим платежам.",
|
||||
, "Задолженность", "Объект", Отказ);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
СуммаПоТаблице = Задолженность.Итог("Сумма");
|
||||
Если СуммаДокумента <> СуммаПоТаблице Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Сумма документа не совпадает с итогом по табличной части", , "СуммаДокумента", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК
|
||||
// значениями по умолчанию, если они не заданы пользователем.
|
||||
//
|
||||
Процедура ЗаполнитьРеквизитыПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда
|
||||
СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда
|
||||
КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает КЭК проводки, определённый по настройкам счёта
|
||||
// и типу контрагента (подстатья КОСГУ).
|
||||
//
|
||||
// Параметры:
|
||||
// Счет - ПланСчетовСсылка.ЕПСБУ - счёт проводки.
|
||||
// ДтКт - Строка - сторона проводки: "Дт" или "Кт".
|
||||
// Субконто1 - Произвольный - значение первого субконто проводки.
|
||||
// Субконто2 - Произвольный - значение второго субконто проводки.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СправочникСсылка.КОСГУ - КЭК проводки.
|
||||
//
|
||||
Функция КЭКПроводки(Счет, ДтКт, Субконто1 = Неопределено, Субконто2 = Неопределено)
|
||||
|
||||
ПараметрыКЭК = БухгалтерскийУчетКлиентСервер.ПараметрыРасчетаКЭКПроводки();
|
||||
ПараметрыКЭК.Организация = Организация;
|
||||
ПараметрыКЭК.ИФО = ИФО;
|
||||
ПараметрыКЭК.КФО = КФО;
|
||||
ПараметрыКЭК.Дата = Дата;
|
||||
ПараметрыКЭК.Счет = Счет;
|
||||
ПараметрыКЭК.ДтКт = ДтКт;
|
||||
ПараметрыКЭК.Субконто1 = Субконто1;
|
||||
ПараметрыКЭК.Субконто2 = Субконто2;
|
||||
|
||||
Возврат БухгалтерскийУчет.КЭКПроводки(ПараметрыКЭК);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+4
-12
@@ -1186,12 +1186,7 @@
|
||||
<i>2</i>
|
||||
<c>
|
||||
<f>59</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content/>
|
||||
</v8:item>
|
||||
</tl>
|
||||
<tl/>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
@@ -2360,12 +2355,7 @@
|
||||
<i>2</i>
|
||||
<c>
|
||||
<f>59</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content/>
|
||||
</v8:item>
|
||||
</tl>
|
||||
<tl/>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
@@ -3992,6 +3982,8 @@
|
||||
<endColumn>-1</endColumn>
|
||||
</area>
|
||||
</namedItem>
|
||||
<groupsBackColor>#000080</groupsBackColor>
|
||||
<groupsColor>#000080</groupsColor>
|
||||
<line width="1" gap="false">
|
||||
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
|
||||
</line>
|
||||
+20
-51
@@ -7,10 +7,10 @@
|
||||
<listType typeId="313f7384-f4d5-4613-a51a-5ba01bce361e" valueTypeId="6870f642-36c3-4418-8491-b1329f821de2"/>
|
||||
<managerType typeId="0b470f70-79e2-4602-8c62-a6bab7efc1b6" valueTypeId="15323120-9f9d-41ed-874b-079c02729ce9"/>
|
||||
</producedTypes>
|
||||
<name>ПС_ПринятиеЗадолженностиОтУчреждения</name>
|
||||
<name>ПС_ПередачаПоступившихПлатежейВУчреждения</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Принятие в ЦБ начислений от учреждения</value>
|
||||
<value>Передача поступивших платежей в учреждения</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
@@ -18,18 +18,18 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
<key>ru</key>
|
||||
<value>Принятие задолженности от учреждения</value>
|
||||
<value>Передача поступивших платежей в учреждение</value>
|
||||
</objectPresentation>
|
||||
<listPresentation>
|
||||
<key>ru</key>
|
||||
<value>Принятия в ЦБ начислений от учреждения</value>
|
||||
<value>Передачи поступивших платежей в учреждения</value>
|
||||
</listPresentation>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
<numberAllowedLength>Variable</numberAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultObjectForm>Document.ПС_ПринятиеЗадолженностиОтУчреждения.Form.ФормаДокумента</defaultObjectForm>
|
||||
<defaultObjectForm>Document.ПС_ПередачаПоступившихПлатежейВУчреждения.Form.ФормаДокумента</defaultObjectForm>
|
||||
<registerRecords>AccountingRegister.ЖурналПроводокЕПСБУ</registerRecords>
|
||||
<registerRecords>AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате</registerRecords>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
@@ -38,7 +38,7 @@
|
||||
<name>Организация</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Организация (ЦБ)</value>
|
||||
<value>Отправитель (ЦБ)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Организации</types>
|
||||
@@ -64,21 +64,6 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="0da47ff5-1bc8-48ab-93e3-46eb88ab0eef">
|
||||
<name>Учреждение</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Учреждение-отправитель</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Контрагенты</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="cc277c8f-ac17-4e35-9132-3157c0d8b63d">
|
||||
<name>Период</name>
|
||||
<synonym>
|
||||
@@ -116,21 +101,6 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="3ffcb80d-9272-4058-8abf-05d4892eb965">
|
||||
<name>ДокументПередачи</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Документ передачи</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DocumentRef.ПС_ПередачаЗадолженностиВЦБ</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="fd87cd30-1ae1-4f94-bebd-51a89384700a">
|
||||
<name>Ответственный</name>
|
||||
<synonym>
|
||||
@@ -178,21 +148,6 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="2ffd2e40-2b63-453d-95e2-48e12fc5e742">
|
||||
<name>ПередачаСальдо</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Передача начального сальдо</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="bb593e79-8cba-4f74-a6ea-ab74ae09577f">
|
||||
<name>КЭККорреспондент</name>
|
||||
<synonym>
|
||||
@@ -327,6 +282,20 @@
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="8cf37a05-a457-4693-bc91-d9c1d37fede5">
|
||||
<name>Учреждение</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Получатель (учреждение)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Контрагенты</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<dataHistory>Use</dataHistory>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
</tabularSections>
|
||||
<templates uuid="1f448676-6b65-401e-b0a1-8ee291792b49">
|
||||
<name>ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель</name>
|
||||
-232
@@ -1,232 +0,0 @@
|
||||
// ПС_ПринятиеЗадолженностиОтУчреждения: модуль формы документа.
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация);
|
||||
|
||||
// ИФО показывается только при включённом учёте по ИФО (как в типовых документах).
|
||||
Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО");
|
||||
// КПС определяется автоматически по настройкам учётной политики.
|
||||
Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина;
|
||||
|
||||
// Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию
|
||||
// (в режиме начального сальдо наследуются из документа передачи).
|
||||
ЗаполнитьКорреспондирующийСчетПоУмолчанию();
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
Основание = Неопределено;
|
||||
Если Параметры.Свойство("Основание", Основание)
|
||||
И ТипЗнч(Основание) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда
|
||||
Объект.ДокументПередачи = Основание;
|
||||
ЗаполнитьПоДокументуПередачиНаСервере(Основание);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
Объект.Организация = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить();
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПечатьИзвещения(Команда)
|
||||
|
||||
ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка);
|
||||
ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - получатель");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
|
||||
|
||||
ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДокументПередачиПриИзменении(Элемент)
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.ДокументПередачи) Тогда
|
||||
ЗаполнитьПоДокументуПередачиНаСервере(Объект.ДокументПередачи);
|
||||
Иначе
|
||||
Объект.Задолженность.Очистить();
|
||||
Объект.СуммаДокумента = 0;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗадолженностьПриИзменении(Элемент)
|
||||
|
||||
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПечатьИзвещенияНаСервере(ДокументСсылка)
|
||||
|
||||
Возврат Документы.ПС_ПринятиеЗадолженностиОтУчреждения.СформироватьПечатныеФормыИзвещений(ДокументСсылка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда
|
||||
Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда
|
||||
Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПоДокументуПередачиНаСервере(ДокументПередачиСсылка)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ДокументПередачиСсылка) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Заполнение возможно только на основании проведённого документа передачи.
|
||||
Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДокументПередачиСсылка, "Проведен") Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Заполнение документа возможно только на основании проведённого документа передачи задолженности.");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| ПередачаЗадолженности.ЦБ КАК Организация,
|
||||
| ПередачаЗадолженности.Организация КАК Учреждение,
|
||||
| ПередачаЗадолженности.ИФО КАК ИФО,
|
||||
| ПередачаЗадолженности.Ответственный КАК Ответственный,
|
||||
| ПередачаЗадолженности.Период КАК Период
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК ПередачаЗадолженности
|
||||
|ГДЕ
|
||||
| ПередачаЗадолженности.Ссылка = &Ссылка
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|ВЫБРАТЬ
|
||||
| ПередачаЗадолженностиЗадолженность.Контрагент КАК Контрагент,
|
||||
| ПередачаЗадолженностиЗадолженность.Договор КАК Договор,
|
||||
| ПередачаЗадолженностиЗадолженность.Ребенок КАК Ребенок,
|
||||
| ПередачаЗадолженностиЗадолженность.ИДСтроки КАК ИДСтроки,
|
||||
| ПередачаЗадолженностиЗадолженность.Сумма КАК Сумма
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаЗадолженностиВЦБ.Задолженность КАК ПередачаЗадолженностиЗадолженность
|
||||
|ГДЕ
|
||||
| ПередачаЗадолженностиЗадолженность.Ссылка = &Ссылка";
|
||||
Запрос.УстановитьПараметр("Ссылка", ДокументПередачиСсылка);
|
||||
|
||||
Результаты = Запрос.ВыполнитьПакет();
|
||||
|
||||
ВыборкаШапка = Результаты[0].Выбрать();
|
||||
Если НЕ ВыборкаШапка.Следующий() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Объект.Организация = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ВыборкаШапка.Организация, "Организация (ЦБ)");
|
||||
Объект.Учреждение = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ВыборкаШапка.Учреждение, "Учреждение-отправитель");
|
||||
Объект.Ответственный = ВыборкаШапка.Ответственный;
|
||||
Объект.Период = ВыборкаШапка.Период;
|
||||
Объект.ДокументПередачи = ДокументПередачиСсылка;
|
||||
|
||||
// Режим начального сальдо и корреспондирующий счёт с КЭК наследуются от документа передачи.
|
||||
РеквизитыПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачиСсылка,
|
||||
"ПередачаСальдо, СчетКорреспондент, КЭККорреспондент");
|
||||
Объект.ПередачаСальдо = РеквизитыПередачи.ПередачаСальдо;
|
||||
Объект.СчетКорреспондент = РеквизитыПередачи.СчетКорреспондент;
|
||||
Объект.КЭККорреспондент = РеквизитыПередачи.КЭККорреспондент;
|
||||
|
||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда
|
||||
Объект.ИФО = ВыборкаШапка.ИФО;
|
||||
КонецЕсли;
|
||||
|
||||
Объект.Задолженность.Очистить();
|
||||
Объект.СуммаДокумента = 0;
|
||||
|
||||
ВыборкаСтроки = Результаты[1].Выбрать();
|
||||
Пока ВыборкаСтроки.Следующий() Цикл
|
||||
|
||||
НоваяСтрока = Объект.Задолженность.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки);
|
||||
Объект.СуммаДокумента = Объект.СуммаДокумента + ВыборкаСтроки.Сумма;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// КФО документа и КПС строк - из проводок документа передачи.
|
||||
ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(Объект, ДокументПередачиСсылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка)
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
Отбор = Новый Структура("Регистратор", ДокументСсылка);
|
||||
ПараметрыФормы.Вставить("Отбор", Отбор);
|
||||
|
||||
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект,
|
||||
УникальныйИдентификатор);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
-290
@@ -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;
|
||||
|
||||
Возврат БухгалтерскийУчет.КЭКПроводки(ПараметрыКЭК);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+18
-102
@@ -873,27 +873,23 @@
|
||||
<name>ГруппаСтраницыОперации</name>
|
||||
<id>94</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПередачаСальдо</name>
|
||||
<id>98</id>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Передача начального сальдо</value>
|
||||
</title>
|
||||
<name>ДокументПередачи</name>
|
||||
<id>111</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>
|
||||
<name>ДокументПередачиПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ПередачаСальдоРасширеннаяПодсказка</name>
|
||||
<id>100</id>
|
||||
<name>ДокументПередачиРасширеннаяПодсказка</name>
|
||||
<id>113</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -902,49 +898,12 @@
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ПередачаСальдоКонтекстноеМеню</name>
|
||||
<id>99</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ДокументНачисления</name>
|
||||
<id>19</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>Объект.ДокументНачисления</segments>
|
||||
</dataPath>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ДокументНачисленияПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ДокументНачисленияРасширеннаяПодсказка</name>
|
||||
<id>21</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ДокументНачисленияКонтекстноеМеню</name>
|
||||
<id>20</id>
|
||||
<name>ДокументПередачиКонтекстноеМеню</name>
|
||||
<id>112</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>EnterOnInput</editMode>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
@@ -952,7 +911,6 @@
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<wrap>true</wrap>
|
||||
<extendedEditMultipleValues>true</extendedEditMultipleValues>
|
||||
<chooseType>true</chooseType>
|
||||
<typeDomainEnabled>true</typeDomainEnabled>
|
||||
<textEdit>true</textEdit>
|
||||
@@ -1398,16 +1356,16 @@
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>СоздатьПринятиеЗадолженностиНаОсновании</name>
|
||||
<id>77</id>
|
||||
<name>ЗаполнитьПоДокументуПередачи</name>
|
||||
<id>114</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаСоздатьПринятиеЗадолженностиНаОснованииРасширеннаяПодсказка</name>
|
||||
<id>78</id>
|
||||
<name>ФормаЗаполнитьПоДокументуПередачиРасширеннаяПодсказка</name>
|
||||
<id>115</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
@@ -1415,33 +1373,7 @@
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.СоздатьПринятиеЗадолженностиНаОсновании</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<placementArea>UserCmds</placementArea>
|
||||
<representationInContextMenu>Auto</representationInContextMenu>
|
||||
</items>
|
||||
<items xsi:type="form:Button">
|
||||
<name>ЗаполнитьПоОстаткам20531</name>
|
||||
<id>107</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<extendedTooltip>
|
||||
<name>ФормаЗаполнитьПоОстаткам20531РасширеннаяПодсказка</name>
|
||||
<id>108</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<commandName>Form.Command.ЗаполнитьПоОстаткам20531</commandName>
|
||||
<commandName>Form.Command.ЗаполнитьПоДокументуПередачи</commandName>
|
||||
<buttonImportance>Normal</buttonImportance>
|
||||
<representation>Auto</representation>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -1469,7 +1401,7 @@
|
||||
<name>Объект</name>
|
||||
<id>1</id>
|
||||
<valueType>
|
||||
<types>DocumentObject.ПС_ПередачаЗадолженностиВЦБ</types>
|
||||
<types>DocumentObject.ПС_ПринятиеПоступившихПлатежейИзЦБ</types>
|
||||
</valueType>
|
||||
<view>
|
||||
<common>true</common>
|
||||
@@ -1519,10 +1451,10 @@
|
||||
</action>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>СоздатьПринятиеЗадолженностиНаОсновании</name>
|
||||
<name>ЗаполнитьПоДокументуПередачи</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Создать принятие на основании</value>
|
||||
<value>Заполнить по документу передачи</value>
|
||||
</title>
|
||||
<id>3</id>
|
||||
<use>
|
||||
@@ -1530,23 +1462,7 @@
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ПС_СоздатьПринятиеЗадолженностиНаОсновании</name>
|
||||
</handler>
|
||||
</action>
|
||||
</formCommands>
|
||||
<formCommands>
|
||||
<name>ЗаполнитьПоОстаткам20531</name>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Заполнить по остаткам счета 205.31</value>
|
||||
</title>
|
||||
<id>4</id>
|
||||
<use>
|
||||
<common>true</common>
|
||||
</use>
|
||||
<action xsi:type="form:FormCommandHandlerContainer">
|
||||
<handler>
|
||||
<name>ЗаполнитьПоОстаткам20531</name>
|
||||
<name>ЗаполнитьПоДокументуПередачи</name>
|
||||
</handler>
|
||||
</action>
|
||||
</formCommands>
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль формы документа.
|
||||
|
||||
#Область ОбработчикиСобытийФормы
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПриСозданииНаСервере(Отказ, СтандартнаяОбработка, Элементы.БухгалтерскаяОперация);
|
||||
|
||||
// ИФО показывается только при включённом учёте по ИФО (как в типовых документах).
|
||||
Элементы.ИФО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО");
|
||||
// КПС определяется автоматически по настройкам учётной политики.
|
||||
Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина;
|
||||
|
||||
// Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию.
|
||||
ЗаполнитьКорреспондирующийСчетПоУмолчанию();
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
|
||||
// Сад (получатель) задаётся при открытии формы из документа передачи платежей:
|
||||
// до заполнения он должен быть известен, иначе строки не подберутся.
|
||||
ОрганизацияСада = Неопределено;
|
||||
Если Параметры.Свойство("ОрганизацияСада", ОрганизацияСада)
|
||||
И ЗначениеЗаполнено(ОрганизацияСада) Тогда
|
||||
Объект.Организация = ОрганизацияСада;
|
||||
КонецЕсли;
|
||||
|
||||
// Форма открывается командой "Создать приём платежей" документа передачи:
|
||||
// из него переносятся реквизиты учёта, а строки подбираются по саду документа.
|
||||
ДокументПередачи = Неопределено;
|
||||
Если Параметры.Свойство("ДокументПередачи", ДокументПередачи)
|
||||
И ТипЗнч(ДокументПередачи) = Тип("ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения") Тогда
|
||||
ДокументОбъект = РеквизитФормыВЗначение("Объект");
|
||||
ДокументОбъект.Заполнить(ДокументПередачи);
|
||||
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.ЦБ) Тогда
|
||||
Объект.ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект, Элементы.БухгалтерскаяОперация);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииКлиент.ПередЗаписью(Отказ, ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПередЗаписью(Отказ, ТекущийОбъект, ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПослеЗаписи(ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииКлиент.ПослеЗаписи(ПараметрыЗаписи, ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
|
||||
|
||||
БухгалтерскиеОперацииСервер.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовШапкиФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДокументПередачиПриИзменении(Элемент)
|
||||
|
||||
// При смене документа передачи строки подбираются заново по саду документа.
|
||||
Если ЗначениеЗаполнено(Объект.ДокументПередачи)
|
||||
И ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
ЗаполнитьПоДокументуПередачиНаСервере();
|
||||
Иначе
|
||||
Объект.Задолженность.Очистить();
|
||||
Объект.СуммаДокумента = 0;
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадолженность
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗадолженностьПриИзменении(Элемент)
|
||||
|
||||
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПечатьИзвещения(Команда)
|
||||
|
||||
ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка);
|
||||
ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - получатель");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
|
||||
|
||||
ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьПоДокументуПередачи(Команда)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.ДокументПередачи) Тогда
|
||||
СообщениеПользователю = Новый СообщениеПользователю;
|
||||
СообщениеПользователю.Текст = "Не заполнен документ передачи платежей.";
|
||||
СообщениеПользователю.Сообщить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
СообщениеПользователю = Новый СообщениеПользователю;
|
||||
СообщениеПользователю.Текст = "Укажите организацию (учреждение-сад), чтобы подобрать строки.";
|
||||
СообщениеПользователю.Сообщить();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьПоДокументуПередачиНаСервере();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПечатьИзвещенияНаСервере(ДокументСсылка)
|
||||
|
||||
Возврат Документы.ПС_ПринятиеПоступившихПлатежейИзЦБ.СформироватьПечатныеФормыИзвещений(ДокументСсылка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда
|
||||
Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда
|
||||
Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Подбирает строки табличной части "Задолженность" из документа передачи по саду
|
||||
// документа (реквизит "Организация").
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПоДокументуПередачиНаСервере()
|
||||
|
||||
ДокументОбъект = РеквизитФормыВЗначение("Объект");
|
||||
ДокументОбъект.Заполнить(Объект.ДокументПередачи);
|
||||
ЗначениеВРеквизитФормы(ДокументОбъект, "Объект");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка)
|
||||
|
||||
ПараметрыФормы = Новый Структура;
|
||||
Отбор = Новый Структура("Регистратор", ДокументСсылка);
|
||||
ПараметрыФормы.Вставить("Отбор", Отбор);
|
||||
|
||||
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
|
||||
ПараметрыФормы,
|
||||
ЭтотОбъект,
|
||||
УникальныйИдентификатор);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
// ПС_ПередачаЗадолженностиВЦБ: модуль менеджера.
|
||||
// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль менеджера.
|
||||
// Печатная форма извещения (ф. 0504805, ред. 103н) - сторона отправителя (учреждение).
|
||||
// Заполнение макета выполняет общая логика подсистемы: ПС_УчетРодительскойПлаты.ПечатьИзвещения0504805.
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
// Вызывается из модуля формы документа кнопкой "Печать".
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ - печатаемый документ.
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПринятиеПоступившихПлатежейИзЦБ - печатаемый документ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТабличныйДокумент
|
||||
+77
-70
@@ -1,7 +1,10 @@
|
||||
// ПС_ПередачаЗадолженностиВЦБ: модуль объекта.
|
||||
// ПС_ПринятиеПоступившихПлатежейИзЦБ: модуль объекта.
|
||||
// Сторона детского сада: Дт 304.04.130 — Кт 205.31.66X.
|
||||
// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением
|
||||
// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ.
|
||||
// Документ вводится на основании документа передачи платежей ЦБ и принимает
|
||||
// в саду поступившие платежи этого сада. В регистр взаиморасчётов не пишет:
|
||||
// его ведёт только ЦБ.
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
@@ -9,68 +12,40 @@
|
||||
|
||||
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
|
||||
|
||||
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.НачислениеРодительскойПлаты") Тогда
|
||||
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения") Тогда
|
||||
|
||||
// Заполнение возможно только на основании проведённого документа начисления.
|
||||
// Заполнение возможно только на основании проведённого документа передачи.
|
||||
Если НЕ ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДанныеЗаполнения, "Проведен") Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Заполнение документа возможно только на основании проведённого документа начисления родительской платы.");
|
||||
"Заполнение документа возможно только на основании проведённого документа передачи платежей.");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| НачислениеРодительскойПлаты.Организация КАК Организация,
|
||||
| НачислениеРодительскойПлаты.ИФО КАК ИФО,
|
||||
| НачислениеРодительскойПлаты.Ответственный КАК Ответственный,
|
||||
| НачислениеРодительскойПлаты.НачалоПериода КАК НачалоПериода,
|
||||
| НачислениеРодительскойПлаты.Дата КАК ДатаДокумента
|
||||
|ИЗ
|
||||
| Документ.НачислениеРодительскойПлаты КАК НачислениеРодительскойПлаты
|
||||
|ГДЕ
|
||||
| НачислениеРодительскойПлаты.Ссылка = &Ссылка";
|
||||
Запрос.УстановитьПараметр("Ссылка", ДанныеЗаполнения);
|
||||
ВыборкаШапка = Запрос.Выполнить().Выбрать();
|
||||
Если ВыборкаШапка.Следующий() Тогда
|
||||
Организация = ВыборкаШапка.Организация;
|
||||
Ответственный = ВыборкаШапка.Ответственный;
|
||||
ДокументНачисления = ДанныеЗаполнения;
|
||||
// Учёт по ИФО ведётся только при включённой функциональной опции.
|
||||
РеквизитыПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДанныеЗаполнения,
|
||||
"Дата, Период, ИФО, КФО, Ответственный, СчетКорреспондент, КЭККорреспондент, Организация");
|
||||
|
||||
ДокументПередачи = ДанныеЗаполнения;
|
||||
Дата = РеквизитыПередачи.Дата;
|
||||
Период = РеквизитыПередачи.Период;
|
||||
КФО = РеквизитыПередачи.КФО;
|
||||
Ответственный = РеквизитыПередачи.Ответственный;
|
||||
СчетКорреспондент = РеквизитыПередачи.СчетКорреспондент;
|
||||
КЭККорреспондент = РеквизитыПередачи.КЭККорреспондент;
|
||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда
|
||||
ИФО = ВыборкаШапка.ИФО;
|
||||
КонецЕсли;
|
||||
Если ЗначениеЗаполнено(ВыборкаШапка.НачалоПериода) Тогда
|
||||
Период = ВыборкаШапка.НачалоПериода;
|
||||
Иначе
|
||||
Период = НачалоМесяца(ВыборкаШапка.ДатаДокумента);
|
||||
КонецЕсли;
|
||||
ИФО = РеквизитыПередачи.ИФО;
|
||||
КонецЕсли;
|
||||
|
||||
ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию();
|
||||
// Отправитель (ЦБ) определяется по организации документа передачи: в документе передачи
|
||||
// ЦБ хранится организацией, а в документе сада - контрагентом, сопоставляем по ИНН.
|
||||
ЦБ = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(РеквизитыПередачи.Организация, "Отправитель (ЦБ)");
|
||||
|
||||
ЗапросСтроки = Новый Запрос;
|
||||
ЗапросСтроки.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| НачислениеРодительскойПлатыНачисления.Контрагент КАК Контрагент,
|
||||
| НачислениеРодительскойПлатыНачисления.ДоговорКонтрагента КАК Договор,
|
||||
| НачислениеРодительскойПлатыНачисления.Ребенок КАК Ребенок,
|
||||
| НачислениеРодительскойПлатыНачисления.ИДСтроки КАК ИДСтроки,
|
||||
| НачислениеРодительскойПлатыНачисления.Сумма КАК Сумма
|
||||
|ИЗ
|
||||
| Документ.НачислениеРодительскойПлаты.Начисления КАК НачислениеРодительскойПлатыНачисления
|
||||
|ГДЕ
|
||||
| НачислениеРодительскойПлатыНачисления.Ссылка = &Ссылка";
|
||||
ЗапросСтроки.УстановитьПараметр("Ссылка", ДанныеЗаполнения);
|
||||
ВыборкаСтроки = ЗапросСтроки.Выполнить().Выбрать();
|
||||
Пока ВыборкаСтроки.Следующий() Цикл
|
||||
НоваяСтрока = Задолженность.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки);
|
||||
СуммаДокумента = СуммаДокумента + ВыборкаСтроки.Сумма;
|
||||
КонецЦикла;
|
||||
// Строки подбираются по саду документа: сад задаётся реквизитом "Организация".
|
||||
// Если сад ещё не указан, строки заполняются командой формы после его выбора.
|
||||
ЗаполнитьСтрокиПоДокументуПередачи(ДанныеЗаполнения);
|
||||
|
||||
// КФО документа и КПС строк - из проводок документа начисления.
|
||||
ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДанныеЗаполнения);
|
||||
// Реквизиты и табличная часть заполнены вручную, стандартное заполнение не требуется:
|
||||
// оно скопировало бы строки всех садов и организацию централизованной бухгалтерии.
|
||||
СтандартнаяОбработка = Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@@ -96,7 +71,7 @@
|
||||
|
||||
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
|
||||
|
||||
// КПС строк наследуется из проводок документа начисления (см. ЗаполнитьКПССтрок),
|
||||
// КПС строк наследуется из строк документа передачи (см. ЗаполнитьСтрокиПоДокументуПередачи),
|
||||
// КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ).
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
|
||||
@@ -113,7 +88,7 @@
|
||||
Движение.КЭККт = КЭКПроводки(СчетКт, "Кт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор);
|
||||
Движение.Сумма = СтрокаЗадолженности.Сумма;
|
||||
Движение.ЖурналОпераций = ЖурналОпераций;
|
||||
Движение.Содержание = "Передача задолженности по родительской плате в ЦБ";
|
||||
Движение.Содержание = "Принятие поступивших платежей по родительской плате из ЦБ";
|
||||
|
||||
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = ЦБ;
|
||||
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Контрагенты] = СтрокаЗадолженности.Контрагент;
|
||||
@@ -147,7 +122,6 @@
|
||||
ЗаполнитьРеквизитыПоУмолчанию();
|
||||
|
||||
СуммаДокумента = Задолженность.Итог("Сумма");
|
||||
ЗаполнитьКПССтрок();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -161,8 +135,8 @@
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнен получатель - ЦБ (администратор доходов)", , "ЦБ", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ПередачаСальдо И НЕ ЗначениеЗаполнено(ДокументНачисления) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнен документ начисления родительской платы", , "ДокументНачисления", "Объект", Отказ);
|
||||
Если НЕ ЗначениеЗаполнено(ДокументПередачи) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнен документ передачи платежей", , "ДокументПередачи", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(КФО) Тогда
|
||||
@@ -174,12 +148,10 @@
|
||||
Иначе
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда
|
||||
ТекстСообщения = "Не заполнен КПС строки табличной части ""Задолженность"".";
|
||||
Если НЕ ПередачаСальдо Тогда
|
||||
ТекстСообщения = ТекстСообщения
|
||||
+ " Заполнение возможно только на основании проведённого документа начисления родительской платы.";
|
||||
КонецЕсли;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "Задолженность", "Объект", Отказ);
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен КПС строки табличной части ""Задолженность""."
|
||||
+ " Заполните строки по документу передачи.",
|
||||
, "Задолженность", "Объект", Отказ);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -211,18 +183,53 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет строки табличной части "Задолженность" КПС, унаследованным
|
||||
// из проводок документа начисления родительской платы.
|
||||
// Подбирает строки табличной части "Задолженность" из документа передачи по саду
|
||||
// документа (реквизит "Организация"). Если сад не указан, табличная часть очищается.
|
||||
//
|
||||
Процедура ЗаполнитьКПССтрок()
|
||||
// Параметры:
|
||||
// ДокументПередачиСсылка - ДокументСсылка.ПС_ПередачаПоступившихПлатежейВУчреждения - документ-основание.
|
||||
//
|
||||
Процедура ЗаполнитьСтрокиПоДокументуПередачи(ДокументПередачиСсылка)
|
||||
|
||||
// В режиме передачи начального сальдо КПС строк заполняется по остаткам счёта 205.31,
|
||||
// а не по проводкам документа начисления.
|
||||
Если ПередачаСальдо Тогда
|
||||
Задолженность.Очистить();
|
||||
СуммаДокумента = 0;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ДокументПередачиСсылка) ИЛИ НЕ ЗначениеЗаполнено(Организация) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДокументНачисления);
|
||||
// В документе передачи сад хранится контрагентом (как в регистре взаиморасчётов),
|
||||
// а в документе сада - организацией, поэтому сопоставляем по ИНН.
|
||||
КонтрагентСада = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(Организация, "Учреждение");
|
||||
Если НЕ ЗначениеЗаполнено(КонтрагентСада) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| СтрокиПередачи.Контрагент КАК Контрагент,
|
||||
| СтрокиПередачи.Договор КАК Договор,
|
||||
| СтрокиПередачи.Ребенок КАК Ребенок,
|
||||
| СтрокиПередачи.ИДСтроки КАК ИДСтроки,
|
||||
| СтрокиПередачи.Сумма КАК Сумма,
|
||||
| СтрокиПередачи.КПС КАК КПС
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаПоступившихПлатежейВУчреждения.Задолженность КАК СтрокиПередачи
|
||||
|ГДЕ
|
||||
| СтрокиПередачи.Ссылка = &ДокументПередачи
|
||||
| И СтрокиПередачи.Учреждение = &Учреждение";
|
||||
Запрос.УстановитьПараметр("ДокументПередачи", ДокументПередачиСсылка);
|
||||
Запрос.УстановитьПараметр("Учреждение", КонтрагентСада);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
НоваяСтрока = Задолженность.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
|
||||
СуммаДокумента = СуммаДокумента + Выборка.Сумма;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
+2
-14
@@ -1186,12 +1186,7 @@
|
||||
<i>2</i>
|
||||
<c>
|
||||
<f>59</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content/>
|
||||
</v8:item>
|
||||
</tl>
|
||||
<tl/>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
@@ -2360,12 +2355,7 @@
|
||||
<i>2</i>
|
||||
<c>
|
||||
<f>59</f>
|
||||
<tl>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content/>
|
||||
</v8:item>
|
||||
</tl>
|
||||
<tl/>
|
||||
</c>
|
||||
</c>
|
||||
<c>
|
||||
@@ -3992,8 +3982,6 @@
|
||||
<endColumn>-1</endColumn>
|
||||
</area>
|
||||
</namedItem>
|
||||
<groupsBackColor>#000080</groupsBackColor>
|
||||
<groupsColor>#000080</groupsColor>
|
||||
<line width="1" gap="false">
|
||||
<v8ui:style xsi:type="v8ui:SpreadsheetDocumentCellLineType">Solid</v8ui:style>
|
||||
</line>
|
||||
+22
-37
@@ -7,10 +7,10 @@
|
||||
<listType typeId="b6d30a84-f05e-45db-9b7a-74d83b04e094" valueTypeId="3b6831ae-a9c9-4e03-8fae-e033e8b56bcf"/>
|
||||
<managerType typeId="d54b9abc-eabc-4baf-a305-964170119a69" valueTypeId="fba7fba5-fd39-4d09-add2-c0556074729f"/>
|
||||
</producedTypes>
|
||||
<name>ПС_ПередачаЗадолженностиВЦБ</name>
|
||||
<name>ПС_ПринятиеПоступившихПлатежейИзЦБ</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Передача начислений в ЦБ</value>
|
||||
<value>Принятие поступивших платежей из ЦБ</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
@@ -18,18 +18,18 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<objectPresentation>
|
||||
<key>ru</key>
|
||||
<value>Передача задолженности в ЦБ</value>
|
||||
<value>Принятие поступивших платежей из ЦБ</value>
|
||||
</objectPresentation>
|
||||
<listPresentation>
|
||||
<key>ru</key>
|
||||
<value>Передача начислений в ЦБ</value>
|
||||
<value>Принятия поступивших платежей из ЦБ</value>
|
||||
</listPresentation>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
<numberAllowedLength>Variable</numberAllowedLength>
|
||||
<checkUnique>true</checkUnique>
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultObjectForm>Document.ПС_ПередачаЗадолженностиВЦБ.Form.ФормаДокумента</defaultObjectForm>
|
||||
<defaultObjectForm>Document.ПС_ПринятиеПоступившихПлатежейИзЦБ.Form.ФормаДокумента</defaultObjectForm>
|
||||
<registerRecords>AccountingRegister.ЖурналПроводокЕПСБУ</registerRecords>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||
@@ -37,7 +37,7 @@
|
||||
<name>Организация</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Организация</value>
|
||||
<value>Получатель (учреждение)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Организации</types>
|
||||
@@ -52,7 +52,7 @@
|
||||
<name>ЦБ</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ЦБ (получатель)</value>
|
||||
<value>Отправитель (ЦБ)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Контрагенты</types>
|
||||
@@ -100,21 +100,6 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="31bce547-9930-40db-a918-ab7e30903aab">
|
||||
<name>ДокументНачисления</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Документ начисления</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DocumentRef.НачислениеРодительскойПлаты</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="00e53b16-645f-4b9d-8fd9-31903396fbfb">
|
||||
<name>ИФО</name>
|
||||
<synonym>
|
||||
@@ -177,21 +162,6 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="49f8745e-ae19-4207-9bc1-47c92f6fd659">
|
||||
<name>ПередачаСальдо</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Передача начального сальдо</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Boolean</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="fa024c08-d4ea-4006-ab04-b9c110fc292d">
|
||||
<name>КЭККорреспондент</name>
|
||||
<synonym>
|
||||
@@ -222,6 +192,21 @@
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<attributes uuid="258c40b5-b60e-4e39-b914-c45f32e186fb">
|
||||
<name>ДокументПередачи</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Документ передачи платежей</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DocumentRef.ПС_ПередачаПоступившихПлатежейВУчреждения</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fillValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<dataHistory>Use</dataHistory>
|
||||
</attributes>
|
||||
<forms uuid="86b865a3-c942-4075-8741-0e6ab1beae1c">
|
||||
<name>ФормаДокумента</name>
|
||||
</forms>
|
||||
+4
-11
@@ -13,24 +13,17 @@
|
||||
<quickChoice>true</quickChoice>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
<enumValues uuid="9201ca1d-ff23-49b6-ab2c-61b873778c0c">
|
||||
<name>ПринятоОтУчреждения</name>
|
||||
<name>ПередачаВУчреждение</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Принято от учреждения</value>
|
||||
<value>Передача в учреждение</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
<enumValues uuid="b02c965c-6f81-40ef-b563-22c141f39ffd">
|
||||
<name>Оплата</name>
|
||||
<name>ПоступлениеПлатежа</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Оплата родительской платы</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
<enumValues uuid="34b0b2e1-c9a0-4783-867e-a8aa8bf3a0c4">
|
||||
<name>НачальноеСальдо</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Начальное сальдо</value>
|
||||
<value>Поступление родительской платы</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
</mdclass:Enum>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<setForAttributesByDefault>false</setForAttributesByDefault>
|
||||
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
|
||||
<object>
|
||||
<name>Document.ПС_ПередачаЗадолженностиВЦБ</name>
|
||||
<name>Document.ПС_ПринятиеПоступившихПлатежейИзЦБ</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
@@ -27,7 +27,7 @@
|
||||
</right>
|
||||
</object>
|
||||
<object>
|
||||
<name>Document.ПС_ПринятиеЗадолженностиОтУчреждения</name>
|
||||
<name>Document.ПС_ПередачаПоступившихПлатежейВУчреждения</name>
|
||||
<right>
|
||||
<name>Read</name>
|
||||
<value>true</value>
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@
|
||||
<commandInterface>Extended</commandInterface>
|
||||
</extension>
|
||||
<includeInCommandInterface>true</includeInCommandInterface>
|
||||
<content>Document.ПС_ПередачаЗадолженностиВЦБ</content>
|
||||
<content>Document.ПС_ПринятиеЗадолженностиОтУчреждения</content>
|
||||
<content>Document.ПС_ПринятиеПоступившихПлатежейИзЦБ</content>
|
||||
<content>Document.ПС_ПередачаПоступившихПлатежейВУчреждения</content>
|
||||
<content>DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате</content>
|
||||
<parentSubsystem>Subsystem.ТаксиПлатноеОбразование</parentSubsystem>
|
||||
</mdclass:Subsystem>
|
||||
|
||||
@@ -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 и передаёт их в сады; в садах принимают — по одному документу на сад.
|
||||
- Проверить печать извещения на обоих документах.
|
||||
- Обновить рабочую документацию (памятка, руководство пользователя, руководство по эксплуатации) под новую схему.
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,76 @@
|
||||
# ПАМЯТКА. Учёт родительской платы ЦБ ОУО (БГУ 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. Куда обращаться
|
||||
|
||||
- Вопросы по методике учёта — бухгалтерия ЦБ.
|
||||
- Технические проблемы (ошибки при записи, незаполненные поля, расхождения) — сопровождение с указанием: документ, дата, номер, текст сообщения.
|
||||
@@ -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`** — разворачивается: первым заполняется ЦБ-документ передачи, на его основании вводятся документы приёма платежей в садах.
|
||||
|
||||
---
|
||||
|
||||
## Направление движений регистра (подтверждено)
|
||||
|
||||
«Кассовое поступление» даёт **приход** — поступившие платежи копятся у ЦБ. «Передача платежей» даёт **расход** — отдаём в сады. Регистр обнуляется, когда всё передано.
|
||||
|
||||
Это разворот относительно текущего кода: сейчас «Кассовое поступление» пишет расход (вид операции «Оплата» — платёж закрывал задолженность перед ЦБ). Направление меняется вместе с наименованиями: логика следует сути.
|
||||
@@ -0,0 +1,170 @@
|
||||
# РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ. Учёт родительской платы ЦБ ОУО (БГУ 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. Сопровождение
|
||||
|
||||
При обращении фиксировать:
|
||||
|
||||
- документ (вид, дата, номер), организацию, период;
|
||||
- номер строки расшифровки платежа и текст назначения платежа;
|
||||
- полный текст сообщения системы;
|
||||
- действия, приведшие к ошибке.
|
||||
|
||||
Разбор инцидентов «строка не распознана» начинается с проверки справочника «Дети» (код = лицевой счёт, заполнен контрагент) и наличия договора у контрагента.
|
||||
@@ -0,0 +1,246 @@
|
||||
# РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ. Учёт родительской платы ЦБ ОУО (БГУ 2.0)
|
||||
|
||||
**Конфигурация:** Бухгалтерия государственного учреждения, редакция 2.0 (БГУ 2.0), платформа 8.5.1
|
||||
**Расширение:** `153_ЦБ_ОУО_БГУ.ПрофиСофт` (префикс объектов `ПС_`)
|
||||
**Версия документа:** 1.1 от 07.10.2026
|
||||
|
||||
---
|
||||
|
||||
## 1. Общие сведения
|
||||
|
||||
### 1.1. Назначение
|
||||
|
||||
Расширение реализует учёт **родительской платы** в схеме «детский сад → централизованная бухгалтерия (ЦБ)»:
|
||||
|
||||
- начисление платы ведётся в садах (типовым документом БГУ);
|
||||
- начисления **передаются в ЦБ** документом «Передача задолженности в ЦБ» с печатной формой извещения (ф. 0504805);
|
||||
- ЦБ **принимает** задолженность документом «Принятие задолженности от учреждения»;
|
||||
- платежи родителей, поступающие реестром из СУФД, **автоматически идентифицируются** по назначению платежа;
|
||||
- расчёты контролируются в **рабочем месте «Управление расчётами по родительской плате»**.
|
||||
|
||||
### 1.2. Роли
|
||||
|
||||
| Роль | Кто | Что делает |
|
||||
|---|---|---|
|
||||
| Бухгалтер сада | ПБС, лицевой счёт 03 | Начисление, передача задолженности в ЦБ, печать извещения |
|
||||
| Бухгалтер ЦБ | АДБ, лицевой счёт 04 | Принятие задолженности, загрузка реестров платежей, идентификация платежей, контроль расчётов |
|
||||
|
||||
### 1.3. Термины
|
||||
|
||||
| Термин | Значение |
|
||||
|---|---|
|
||||
| ЦБ | Централизованная бухгалтерия — организация, в которой ведётся учёт и принимаются платежи |
|
||||
| Сад | Дошкольное учреждение (ПБС), начисляющее плату |
|
||||
| Лицевой счёт ребёнка | Код ребёнка в справочнике «Дети» (синоним «Лицевой счёт», 15 символов, например `Х000012877`) |
|
||||
| Расшифровка платежа | Табличная часть документа «Кассовое поступление», по строке на каждого плательщика |
|
||||
| Назначение платежа | Текст из реестра СУФД; в расшифровке платежа хранится в реквизите «Примечание» |
|
||||
|
||||
---
|
||||
|
||||
## 2. Начало работы
|
||||
|
||||
### 2.1. Открытие рабочего места
|
||||
|
||||
1С:Предприятие → раздел **«Платное обучение»** → **«Сервис»** → обработка **«Управление расчётами по родительской плате»**.
|
||||
|
||||
### 2.2. Отборы и период
|
||||
|
||||
В верхней части формы расположена группа **«Параметры периода»**:
|
||||
|
||||
| Поле | Назначение |
|
||||
|---|---|
|
||||
| **Период** | Стандартный период. По умолчанию — «Этот месяц». Если период не заполнен, таблицы очищаются и выводится сообщение |
|
||||
| **Организация (ЦБ)** | Организация централизованной бухгалтерии. При открытии подставляется автоматически из константы «Организация централизованная бухгалтерия» |
|
||||
| **ИФО** | Источник финансового обеспечения |
|
||||
| **Учреждение (сад)** | Детский сад (справочник «Контрагенты») |
|
||||
|
||||
Кнопки:
|
||||
|
||||
- **«Обновить»** — пересчитать все таблицы по установленным отборам;
|
||||
- **«Оборотная ведомость»** — открыть отчёт с текущими отборами и периодом.
|
||||
|
||||
### 2.3. Страницы рабочего места
|
||||
|
||||
| Страница | Содержание |
|
||||
|---|---|
|
||||
| **Документы** | Документы принятия задолженности (ЦБ) и передачи задолженности (сад), колонка «Начальное сальдо» |
|
||||
| **Начисления** | Документы «Начисление родительской платы» за период |
|
||||
| **Сверка «передано / принято»** | Сопоставление переданных и принятых сумм по каждому документу передачи |
|
||||
| **Остатки и обороты** | Остатки и обороты по счетам 205.31 и 304.04 в разрезе ИФО |
|
||||
| **Кассовые поступления** | Документы «Кассовое поступление» с признаком «Родительская плата» и числом нераспознанных строк |
|
||||
|
||||
> Значения отборов сопоставляются между справочниками «Организации» и «Контрагенты» по ИНН. Если сопоставление не удалось, таблицы очищаются и выводится причина.
|
||||
|
||||
---
|
||||
|
||||
## 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.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, Долгих Анна Артемовна, вторая группа ран.возр, май
|
||||
```
|
||||
|
||||
| № | Фрагмент | Как используется |
|
||||
|---|---|---|
|
||||
| 1 | Наименование ДОУ | справочно |
|
||||
| 2 | Лицевой счёт сада | справочно |
|
||||
| 3 | **Лицевой счёт ребёнка** | **основной идентификатор** (код в справочнике «Дети») |
|
||||
| 4 | ФИО ребёнка | справочно |
|
||||
| 5 | Группа | справочно |
|
||||
| 6 | Период | справочно (для заполнения расшифровки не используется) |
|
||||
|
||||
Лицевой счёт ищется после последнего фрагмента «л/с»; латинская буква `X` приравнивается к кириллической `Х`, допускается вариант записи без буквы.
|
||||
|
||||
---
|
||||
|
||||
## 5. Диагностические сообщения
|
||||
|
||||
Сообщения выводятся при записи документа «Кассовое поступление» и при работе в рабочем месте.
|
||||
|
||||
| Сообщение | Причина | Действия |
|
||||
|---|---|---|
|
||||
| «Кассовое поступление …, строка …: контрагент не определён — не найден ребёнок с лицевым счётом …» | Лицевого счёта нет в справочнике «Дети» | Проверить код ребёнка: должен совпадать с лицевым счётом (без лишних символов и пробелов). Заполнить строку вручную |
|
||||
| «… контрагент не определён — не удалось определить лицевой счёт ребёнка» | В назначении платежа нет фрагмента «л/с …» | Проверить текст назначения платежа, заполнить строку вручную |
|
||||
| «… контрагент не определён — у ребёнка … не заполнен контрагент» | В карточке ребёнка не заполнен контрагент (родитель) | Заполнить контрагента в карточке ребёнка |
|
||||
| «в плане счетов ЕПСБУ не найден счёт 205.31 — счёт расчётов не заполнен» | Не настроен план счетов | Обратиться к сопровождению |
|
||||
| «в справочнике КОСГУ не найден код 131 — КОСГУ назначения платежа не заполнен» | Не настроен справочник КОСГУ | Обратиться к сопровождению |
|
||||
| «Остатки и обороты не рассчитаны: в плане счетов ЕПСБУ не найден счет 205.31 и/или 304.04» | Не настроен план счетов | Обратиться к сопровождению |
|
||||
| «Остатки не рассчитаны: не найдены остатки по счёту 205.31 …» | По счёту нет остатков на дату / по организации | Проверить дату и организацию |
|
||||
| «Заполнение по остаткам невозможно: в плане счетов ЕПСБУ не найден счет 205.31» | Не настроен план счетов | Обратиться к сопровождению |
|
||||
| Предупреждение о том, что отбор по учреждению на остатки не влияет | Остатки берутся из проводок, где разрез по саду отсутствует | Учитывать при анализе |
|
||||
| Сообщение о невозможности сопоставить организацию и контрагента по ИНН | Расхождение ИНН в справочниках | Проверить ИНН организации и контрагента |
|
||||
|
||||
---
|
||||
|
||||
## 6. Отчёты
|
||||
|
||||
| Отчёт | Как открыть | Что показывает |
|
||||
|---|---|---|
|
||||
| **Оборотная ведомость по расчётам по родительской плате** | Кнопка «Оборотная ведомость» в рабочем месте | Обороты и остатки по регистру взаиморасчётов в разрезе учреждений и детей (колонки: остаток на начало, приход, расход, остаток на конец); отборы и период передаются из рабочего места. Если период не задан, показываются все данные |
|
||||
| **Остатки и обороты** | Страница рабочего места | Остатки и обороты по счетам 205.31 и 304.04 в разрезе ИФО |
|
||||
| **Сверка «передано / принято»** | Страница рабочего места | Суммы переданные и принятые по каждому документу передачи, расхождение |
|
||||
| Извещение (ф. 0504805) | Команда печати в документах передачи и принятия | Печатная форма для передачи в ЦБ и сад |
|
||||
|
||||
---
|
||||
|
||||
## 7. Ограничения и особенности
|
||||
|
||||
1. **Период платежа не разбирается** — для заполнения расшифровки платежа он не нужен (начисление сопоставляется по контрагенту и ребёнку).
|
||||
2. **Поиск ребёнка по ФИО не выполняется** — ФИО не уникально; единственный надёжный идентификатор — лицевой счёт.
|
||||
3. **Сад в шапке кассового поступления не определяется** — в документе организация — это ЦБ; сад виден только по строкам расшифровки.
|
||||
4. **Остатки в рабочем месте — без разреза по саду** (только в разрезе ИФО): в проводках по 205.31/304.04 разрез по учреждению отсутствует.
|
||||
5. **Отчёт по виду операции «начальное сальдо»** — отбор/вывод вида операции в оборотной ведомости пока не реализован.
|
||||
6. При смене лицевого счёта ребёнка в справочнике «Дети» ранее загруженные платежи автоматически не переидентифицируются — требуется ручной доввод.
|
||||
7. **Структура отчёта «Оборотная ведомость» формируется программно** (учреждение → ребёнок, с показателями). Ручные изменения структуры в форме отчёта при следующем открытии могут быть перезаписаны.
|
||||
Reference in New Issue
Block a user