Доработка учёта родительской платы: извещения и создание

документов-оснований

1) Новая функциональность в Documents/НачислениеРодительскойПлаты:
команда создания передачи задолженности
    - добавлена кнопка "Создать на основании: Передача задолженности в
ЦБ"
    - реализована процедура формы для открытия документа-основания
    - созданы пустые модули менеджера и объекта

2) Новая функциональность в Documents/ПС_ПередачаЗадолженностиВЦБ:
печать извещения и заполнение
    - добавлена кнопка "Печать извещения (ф. 0504805)"
    - реализована функция формирования печатной формы
    - доработан модуль менеджера: рефакторинг печати и добавление
команды создания
    - реализована обработка заполнения на основании начисления

3) Новая функциональность в
Documents/ПС_ПринятиеЗадолженностиОтУчреждения: печать извещения и
заполнение
    - добавлена кнопка "Печать извещения (ф. 0504805) - получатель"
    - создан модуль формы с процедурой печати
    - доработан модуль менеджера: рефакторинг печати и добавление
команды создания
    - реализована обработка заполнения на основании передачи
This commit is contained in:
12 changed files with 671 additions and 282 deletions
@@ -401,6 +401,7 @@
</extendedTooltip> </extendedTooltip>
<type>UsualGroup</type> <type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<showLeftMargin>true</showLeftMargin> <showLeftMargin>true</showLeftMargin>
<united>true</united> <united>true</united>
<throughAlign>Auto</throughAlign> <throughAlign>Auto</throughAlign>
@@ -2086,7 +2087,7 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<type>Hyperlink</type> <type>UsualButton</type>
<buttonImportance>Normal</buttonImportance> <buttonImportance>Normal</buttonImportance>
<representation>Auto</representation> <representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
@@ -2115,7 +2116,7 @@
</extendedTooltip> </extendedTooltip>
<type>UsualGroup</type> <type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo"> <extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group> <group>AlwaysHorizontal</group>
<showLeftMargin>true</showLeftMargin> <showLeftMargin>true</showLeftMargin>
<united>true</united> <united>true</united>
<throughAlign>Auto</throughAlign> <throughAlign>Auto</throughAlign>
@@ -2675,6 +2676,32 @@
<importance>Normal</importance> <importance>Normal</importance>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:Button">
<name>ПС_СоздатьПередачуЗадолженностиВЦБ</name>
<id>241</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПС_СоздатьПередачуЗадолженностиВЦБРасширеннаяПодсказка</name>
<id>242</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> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
@@ -2712,6 +2739,22 @@
<currentRowUse>Auto</currentRowUse> <currentRowUse>Auto</currentRowUse>
<selectedRowsUse>Auto</selectedRowsUse> <selectedRowsUse>Auto</selectedRowsUse>
</formCommands> </formCommands>
<formCommands>
<name>ПС_СоздатьПередачуЗадолженностиВЦБ</name>
<title>
<key>ru</key>
<value>Создать на основании: Передача задолженности в ЦБ</value>
</title>
<id>1000001</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПС_СоздатьПередачуЗадолженностиВЦБ</name>
</handler>
</action>
</formCommands>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -93,3 +93,20 @@
Процедура ПС_ПроверитьНаОшибкиПосле(Команда) Процедура ПС_ПроверитьНаОшибкиПосле(Команда)
ПС_ПроверитьНаОшибкиПослеНаСервере(); ПС_ПроверитьНаОшибкиПослеНаСервере();
КонецПроцедуры КонецПроцедуры
&НаКлиенте
Процедура ПС_СоздатьПередачуЗадолженностиВЦБ(Команда)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = "Сначала запишите документ начисления.";
СообщениеПользователю.Сообщить();
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
ОткрытьФорму("Документ.ПС_ПередачаЗадолженностиВЦБ.Форма.ФормаДокумента",
ПараметрыФормы,
ЭтотОбъект);
КонецПроцедуры
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form"> <form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormGroup">
<name>ГруппаОрганизаций</name>
<id>71</id>
<items xsi:type="form:FormGroup">
<name>ГруппаЦБПолучатель</name>
<id>69</id>
<items xsi:type="form:FormGroup">
<name>ГруппаНомерДата</name>
<id>67</id>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>Номер</name> <name>Номер</name>
<id>1</id> <id>1</id>
@@ -84,20 +93,18 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<items xsi:type="form:FormField">
<name>Организация</name>
<id>7</id>
<visible>true</visible> <visible>true</visible>
<enabled>true</enabled> <enabled>true</enabled>
<userVisible> <userVisible>
<common>true</common> <common>true</common>
</userVisible> </userVisible>
<dataPath xsi:type="form:DataPath"> <title>
<segments>Объект.Организация</segments> <key>ru</key>
</dataPath> <value>Группа номер дата</value>
</title>
<extendedTooltip> <extendedTooltip>
<name>ОрганизацияРасширеннаяПодсказка</name> <name>ГруппаНомерДатаРасширеннаяПодсказка</name>
<id>9</id> <id>68</id>
<type>Label</type> <type>Label</type>
<autoMaxWidth>true</autoMaxWidth> <autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight> <autoMaxHeight>true</autoMaxHeight>
@@ -105,25 +112,14 @@
<horizontalAlign>Left</horizontalAlign> <horizontalAlign>Left</horizontalAlign>
</extInfo> </extInfo>
</extendedTooltip> </extendedTooltip>
<contextMenu> <type>UsualGroup</type>
<name>ОрганизацияКонтекстноеМеню</name> <extInfo xsi:type="form:UsualGroupExtInfo">
<id>8</id> <group>Auto</group>
<autoFill>true</autoFill> <behavior>Auto</behavior>
</contextMenu> <showLeftMargin>true</showLeftMargin>
<type>InputField</type> <united>true</united>
<editMode>EnterOnInput</editMode> <throughAlign>Auto</throughAlign>
<showInHeader>true</showInHeader> <currentRowUse>Auto</currentRowUse>
<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> </extInfo>
</items> </items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
@@ -168,6 +164,109 @@
<textSize>Normal</textSize> <textSize>Normal</textSize>
</extInfo> </extInfo>
</items> </items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа ЦБПолучатель</value>
</title>
<extendedTooltip>
<name>ГруппаЦБПолучательРасширеннаяПодсказка</name>
<id>70</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Организация</name>
<id>7</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Организация</segments>
</dataPath>
<extendedTooltip>
<name>ОрганизацияРасширеннаяПодсказка</name>
<id>9</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОрганизацияКонтекстноеМеню</name>
<id>8</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>
<backColor xsi:type="core:ColorRef">
<color>Style.ReportHeaderBackColor</color>
</backColor>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа организаций</value>
</title>
<extendedTooltip>
<name>ГруппаОрганизацийРасширеннаяПодсказка</name>
<id>72</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Auto</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField"> <items xsi:type="form:FormField">
<name>Период</name> <name>Период</name>
<id>13</id> <id>13</id>
@@ -841,9 +940,39 @@
<autoCommandBar> <autoCommandBar>
<name>ФормаКоманднаяПанель</name> <name>ФормаКоманднаяПанель</name>
<id>-1</id> <id>-1</id>
<items xsi:type="form:Button">
<name>ПечатьИзвещения</name>
<id>65</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПечатьИзвещенияРасширеннаяПодсказка</name>
<id>66</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> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<saveWindowSettings>true</saveWindowSettings> <saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle> <autoTitle>true</autoTitle>
<autoUrl>true</autoUrl> <autoUrl>true</autoUrl>
@@ -871,6 +1000,22 @@
<main>true</main> <main>true</main>
<savedData>true</savedData> <savedData>true</savedData>
</attributes> </attributes>
<formCommands>
<name>ПечатьИзвещения</name>
<title>
<key>ru</key>
<value>Печать извещения (ф. 0504805)</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПечатьИзвещения</name>
</handler>
</action>
</formCommands>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -0,0 +1,24 @@
// ПС_ПередачаЗадолженностиВЦБ: модуль формы документа.
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПечатьИзвещения(Команда)
ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка);
ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н)");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Функция ПечатьИзвещенияНаСервере(ДокументСсылка)
Возврат Документы.ПС_ПередачаЗадолженностиВЦБ.СформироватьПечатныеФормыИзвещений(ДокументСсылка);
КонецФункции
#КонецОбласти
@@ -1,52 +1,62 @@
// ПС_ПередачаЗадолженностиВЦБ: модуль менеджера. // ПС_ПередачаЗадолженностиВЦБ: модуль менеджера.
// Печатная форма Извещения (ф. 0504805, ред. 103н). // Печатная форма Извещения (ф. 0504805, ред. 103н) - сторона отправителя (сад).
// Используется типовая вёрстка макета ИзвещениеИсходящее с областями: // Используется типовая вёрстка макета ИзвещениеИсходящее с областями:
// Заголовок, ПояснениеМБТ, Строка, Итого, Подвал. // Заголовок, ПояснениеМБТ, Строка, Итого, Подвал.
// Проводка между садом и ЦБ по 205.31/304.04 - одна сводная на документ. // Проводка между садом и ЦБ по 205.31/304.04 - одна сводная на документ.
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт #Область ПрограммныйИнтерфейс
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_Извещение0504805_103н_ПС_РП") Тогда // Регистрирует команды создания на основании в подменю форм документов-оснований.
//
// Параметры:
// КомандыСоздатьНаОсновании - ТаблицаЗначений - состав колонок см. в документации БСП.
// Параметры - Структура - параметры формы.
//
Процедура ДобавитьКомандыСоздатьНаОсновании(КомандыСоздатьНаОсновании, Параметры) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( Если ПравоДоступа("Добавление", Метаданные.Документы.ПС_ПередачаЗадолженностиВЦБ) Тогда
КоллекцияПечатныхФорм,
"ПФ_MXL_Извещение0504805_103н_ПС_РП", КомандаСоздатьНаОсновании = КомандыСоздатьНаОсновании.Добавить();
"Извещение (ф. 0504805, ред. 103н)", КомандаСоздатьНаОсновании.Идентификатор = Метаданные.Документы.ПС_ПередачаЗадолженностиВЦБ.ПолноеИмя();
СформироватьПечатныеФормыИзвещений(МассивОбъектов, ОбъектыПечати)); КомандаСоздатьНаОсновании.Представление = НСтр("ru = 'Передача задолженности в ЦБ'");
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
Функция СформироватьПечатныеФормыИзвещений(МассивОбъектов, ОбъектыПечати) Экспорт // Формирует табличный документ извещения (ф. 0504805, ред. 103н).
// Вызывается из модуля формы документа кнопкой "Печать".
//
// Параметры:
// ДокументСсылка - DocumentRef.ПС_ПередачаЗадолженностиВЦБ - печатаемый документ.
//
// Возвращаемое значение:
// ТабличныйДокумент
//
Функция СформироватьПечатныеФормыИзвещений(ДокументСсылка) Экспорт
ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПередачаЗадолженностиВЦБ_Извещение0504805"; ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПередачаЗадолженностиВЦБ_Извещение0504805";
Макет = УправлениеПечатью.МакетПечатнойФормы("Document.ПС_ПередачаЗадолженностиВЦБ.ПФ_MXL_Извещение0504805_103н_ПС_РП"); Макет = ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП");
Если Макет = Неопределено Тогда Если Макет = Неопределено Тогда
Возврат ТабличныйДокумент; Возврат ТабличныйДокумент;
КонецЕсли; КонецЕсли;
Если НЕ ДокументСсылка.Проведен Тогда
Возврат ТабличныйДокумент;
КонецЕсли;
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Если ДокументОбъект = Неопределено ИЛИ ДокументОбъект.Задолженность.Количество() = 0 Тогда
Возврат ТабличныйДокумент;
КонецЕсли;
Счет304_04_130 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04.130"); Счет304_04_130 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04.130");
Счет205_31_66X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.66X"); Счет205_31_66X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.66X");
Счет205_31_56X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.56X"); Счет205_31_56X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.56X");
Для Каждого ДокументСсылка Из МассивОбъектов Цикл
Если НЕ ДокументСсылка.Проведен Тогда
Продолжить;
КонецЕсли;
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Если ДокументОбъект = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ДокументОбъект.Задолженность.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьЗаголовок.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДокументСсылка.Номер, Истина, Истина); ОбластьЗаголовок.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДокументСсылка.Номер, Истина, Истина);
ОбластьЗаголовок.Параметры.Дата = Формат(ДокументСсылка.Дата, "ДЛФ=DD"); ОбластьЗаголовок.Параметры.Дата = Формат(ДокументСсылка.Дата, "ДЛФ=DD");
@@ -87,11 +97,8 @@
ОбластьПодвал.Параметры.пКоличествоПриложений = ДокументОбъект.Задолженность.Количество(); ОбластьПодвал.Параметры.пКоличествоПриложений = ДокументОбъект.Задолженность.Количество();
ТабличныйДокумент.Вывести(ОбластьПодвал); ТабличныйДокумент.Вывести(ОбластьПодвал);
ОбъектыПечати.Добавить(ДокументСсылка);
КонецЦикла;
Возврат ТабличныйДокумент; Возврат ТабличныйДокумент;
КонецФункции КонецФункции
#КонецОбласти
@@ -2,6 +2,50 @@
// Этап 2 из методических рекомендаций по учёту родительской платы ЦБ ОУО. // Этап 2 из методических рекомендаций по учёту родительской платы ЦБ ОУО.
// На стороне детского сада (л/с 03): Дт 1.304.04.130 — Кт 1.205.31.66X. // На стороне детского сада (л/с 03): Дт 1.304.04.130 — Кт 1.205.31.66X.
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.НачислениеРодительскойПлаты") Тогда
ЗаполнитьНаОснованииНачисления(ДанныеЗаполнения);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьНаОснованииНачисления(ДокументНачисленияСсылка)
ДокументНачисления = ДокументНачисленияСсылка.ПолучитьОбъект();
Если ДокументНачисления = Неопределено Тогда
Возврат;
КонецЕсли;
Организация = ДокументНачисления.Организация;
ИФО = ДокументНачисления.ИФО;
Ответственный = ДокументНачисления.Ответственный;
ДокументНачисления = ДокументНачисленияСсылка;
Если ДокументНачисления.НачалоПериода <> '00010101' Тогда
Период = ДокументНачисления.НачалоПериода;
Иначе
Период = НачалоМесяца(ДокументНачисления.Дата);
КонецЕсли;
Задолженность.Очистить();
СуммаДокумента = 0;
Для Каждого СтрокаНачисления Из ДокументНачисления.Начисления Цикл
НоваяСтрока = Задолженность.Добавить();
НоваяСтрока.Контрагент = СтрокаНачисления.Контрагент;
НоваяСтрока.Договор = СтрокаНачисления.ДоговорКонтрагента;
НоваяСтрока.Ребенок = СтрокаНачисления.Ребенок;
НоваяСтрока.ИДСтроки = СтрокаНачисления.ИДСтроки;
НоваяСтрока.Сумма = СтрокаНачисления.Сумма;
СуммаДокумента = СуммаДокумента + СтрокаНачисления.Сумма;
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения) Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если Отказ Тогда Если Отказ Тогда
@@ -841,6 +841,32 @@
<autoCommandBar> <autoCommandBar>
<name>ФормаКоманднаяПанель</name> <name>ФормаКоманднаяПанель</name>
<id>-1</id> <id>-1</id>
<items xsi:type="form:Button">
<name>ПечатьИзвещения</name>
<id>65</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПечатьИзвещенияРасширеннаяПодсказка</name>
<id>66</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> <horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill> <autoFill>true</autoFill>
</autoCommandBar> </autoCommandBar>
@@ -871,6 +897,22 @@
<main>true</main> <main>true</main>
<savedData>true</savedData> <savedData>true</savedData>
</attributes> </attributes>
<formCommands>
<name>ПечатьИзвещения</name>
<title>
<key>ru</key>
<value>Печать извещения (ф. 0504805) - получатель</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПечатьИзвещения</name>
</handler>
</action>
</formCommands>
<commandInterface> <commandInterface>
<navigationPanel/> <navigationPanel/>
<commandBar/> <commandBar/>
@@ -0,0 +1,24 @@
// ПС_ПринятиеЗадолженностиОтУчреждения: модуль формы документа.
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура ПечатьИзвещения(Команда)
ТабличныйДокумент = ПечатьИзвещенияНаСервере(Объект.Ссылка);
ТабличныйДокумент.Показать("Извещение (ф. 0504805, ред. 103н) - получатель");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаСервере
Функция ПечатьИзвещенияНаСервере(ДокументСсылка)
Возврат Документы.ПС_ПринятиеЗадолженностиОтУчреждения.СформироватьПечатныеФормыИзвещений(ДокументСсылка);
КонецФункции
#КонецОбласти
@@ -3,49 +3,59 @@
// Используется типовая вёрстка макета ИзвещениеИсходящее с областями: // Используется типовая вёрстка макета ИзвещениеИсходящее с областями:
// Заголовок, ПояснениеМБТ, Строка, Итого, Подвал. // Заголовок, ПояснениеМБТ, Строка, Итого, Подвал.
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт #Область ПрограммныйИнтерфейс
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель") Тогда // Регистрирует команды создания на основании в подменю форм документов-оснований.
//
// Параметры:
// КомандыСоздатьНаОсновании - ТаблицаЗначений - состав колонок см. в документации БСП.
// Параметры - Структура - параметры формы.
//
Процедура ДобавитьКомандыСоздатьНаОсновании(КомандыСоздатьНаОсновании, Параметры) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( Если ПравоДоступа("Добавление", Метаданные.Документы.ПС_ПринятиеЗадолженностиОтУчреждения) Тогда
КоллекцияПечатныхФорм,
"ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель", КомандаСоздатьНаОсновании = КомандыСоздатьНаОсновании.Добавить();
"Извещение (ф. 0504805, ред. 103н) - получатель", КомандаСоздатьНаОсновании.Идентификатор = Метаданные.Документы.ПС_ПринятиеЗадолженностиОтУчреждения.ПолноеИмя();
СформироватьПечатныеФормыИзвещений(МассивОбъектов, ОбъектыПечати)); КомандаСоздатьНаОсновании.Представление = НСтр("ru = 'Принятие задолженности от учреждения'");
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
Функция СформироватьПечатныеФормыИзвещений(МассивОбъектов, ОбъектыПечати) Экспорт // Формирует табличный документ извещения (ф. 0504805, ред. 103н).
// Вызывается из модуля формы документа кнопкой "Печать".
//
// Параметры:
// ДокументСсылка - DocumentRef.ПС_ПринятиеЗадолженностиОтУчреждения - печатаемый документ.
//
// Возвращаемое значение:
// ТабличныйДокумент
//
Функция СформироватьПечатныеФормыИзвещений(ДокументСсылка) Экспорт
ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПринятиеЗадолженности_Извещение0504805"; ТабличныйДокумент.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПС_ПринятиеЗадолженности_Извещение0504805";
Макет = УправлениеПечатью.МакетПечатнойФормы("Document.ПС_ПринятиеЗадолженностиОтУчреждения.ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель"); Макет = ПолучитьМакет("ПФ_MXL_Извещение0504805_103н_ПС_РП_Получатель");
Если Макет = Неопределено Тогда Если Макет = Неопределено Тогда
Возврат ТабличныйДокумент; Возврат ТабличныйДокумент;
КонецЕсли; КонецЕсли;
Если НЕ ДокументСсылка.Проведен Тогда
Возврат ТабличныйДокумент;
КонецЕсли;
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Если ДокументОбъект = Неопределено ИЛИ ДокументОбъект.Задолженность.Количество() = 0 Тогда
Возврат ТабличныйДокумент;
КонецЕсли;
Счет304_04_130 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04.130"); Счет304_04_130 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04.130");
Счет205_31_66X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.66X"); Счет205_31_66X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.66X");
Счет205_31_56X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.56X"); Счет205_31_56X = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31.56X");
Для Каждого ДокументСсылка Из МассивОбъектов Цикл
Если НЕ ДокументСсылка.Проведен Тогда
Продолжить;
КонецЕсли;
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Если ДокументОбъект = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ДокументОбъект.Задолженность.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьЗаголовок.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДокументСсылка.Номер, Истина, Истина); ОбластьЗаголовок.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДокументСсылка.Номер, Истина, Истина);
ОбластьЗаголовок.Параметры.Дата = Формат(ДокументСсылка.Дата, "ДЛФ=DD"); ОбластьЗаголовок.Параметры.Дата = Формат(ДокументСсылка.Дата, "ДЛФ=DD");
@@ -86,11 +96,8 @@
ОбластьПодвал.Параметры.пКоличествоПриложений = ДокументОбъект.Задолженность.Количество(); ОбластьПодвал.Параметры.пКоличествоПриложений = ДокументОбъект.Задолженность.Количество();
ТабличныйДокумент.Вывести(ОбластьПодвал); ТабличныйДокумент.Вывести(ОбластьПодвал);
ОбъектыПечати.Добавить(ДокументСсылка);
КонецЦикла;
Возврат ТабличныйДокумент; Возврат ТабличныйДокумент;
КонецФункции КонецФункции
#КонецОбласти
@@ -2,6 +2,42 @@
// Этап 3 из методических рекомендаций по учету родительской платы ЦБ ОУО. // Этап 3 из методических рекомендаций по учету родительской платы ЦБ ОУО.
// На стороне ЦБ (л/с 04): Дт 1.205.31.56X - Кт 1.304.04.130. // На стороне ЦБ (л/с 04): Дт 1.205.31.56X - Кт 1.304.04.130.
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда
ЗаполнитьНаОснованииПередачи(ДанныеЗаполнения);
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьНаОснованииПередачи(ДокументПередачиСсылка)
ДокументПередачи = ДокументПередачиСсылка.ПолучитьОбъект();
Если ДокументПередачи = Неопределено Тогда
Возврат;
КонецЕсли;
Организация = ДокументПередачи.ЦБ;
Учреждение = ДокументПередачи.Организация;
ИФО = ДокументПередачи.ИФО;
Ответственный = ДокументПередачи.Ответственный;
Период = ДокументПередачи.Период;
ДокументПередачи = ДокументПередачиСсылка;
Задолженность.Очистить();
СуммаДокумента = 0;
Для Каждого СтрокаПередачи Из ДокументПередачи.Задолженность Цикл
НоваяСтрока = Задолженность.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПередачи);
СуммаДокумента = СуммаДокумента + СтрокаПередачи.Сумма;
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения) Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если Отказ Тогда Если Отказ Тогда