Закрытие задолженности по родительской плате кассовым поступлением
This commit is contained in:
+190
@@ -0,0 +1,190 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:AccumulationRegister xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3d4d5d61-5f11-43dd-bde6-5a956397624c">
|
||||
<producedTypes>
|
||||
<selectionType typeId="554d2ee2-3414-4483-a8f8-d3a3cab9efc9" valueTypeId="63259b6f-64a0-4ed4-98f7-07d536342d09"/>
|
||||
<listType typeId="3d5952d4-4654-418f-9172-fc66fcddfa1e" valueTypeId="6aa23b44-350b-48c3-8c66-65e7e25830ee"/>
|
||||
<managerType typeId="e257242e-2f23-4bb5-a072-a7aeab1c03ca" valueTypeId="0b8d4cc9-e245-4423-bb7d-ab4081974dcf"/>
|
||||
<recordSetType typeId="95e1f00d-c7dd-4633-b9a3-7be6a1240a9f" valueTypeId="6d910e50-5647-4b1f-84c9-e1d47d7158d9"/>
|
||||
<recordKeyType typeId="eb903f99-3ca1-4f33-b2bb-6acd513d5db1" valueTypeId="60edacff-6483-48c5-bb23-0d0d0bd03963"/>
|
||||
<recordType typeId="69a9d97d-b40a-4d48-a9e6-2242d33659cd" valueTypeId="9cc5182a-6404-410e-bd4a-22f649f571b0"/>
|
||||
</producedTypes>
|
||||
<name>ПС_ВзаиморасчетыПоРодительскойПлате</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Взаиморасчеты по родительской плате</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<enableTotalsSplitting>true</enableTotalsSplitting>
|
||||
<resources uuid="889ab667-a093-49d6-b117-6e4dfd0f5581">
|
||||
<name>Сумма</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Сумма</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>Number</types>
|
||||
<numberQualifiers>
|
||||
<precision>15</precision>
|
||||
<scale>2</scale>
|
||||
</numberQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</resources>
|
||||
<attributes uuid="5f9b7c15-bf1a-4c3d-9f82-df697df32422">
|
||||
<name>ВидОперации</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Вид операции</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>EnumRef.ПС_ВидыОперацийПоВзаиморасчетам</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="41aaa445-1ed9-4189-9d41-fdb0af01e3fe">
|
||||
<name>ИДСтроки</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ИД строки (квитанции)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>String</types>
|
||||
<stringQualifiers>
|
||||
<length>25</length>
|
||||
</stringQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<attributes uuid="97856254-22f9-4198-9f0f-b7118e28d143">
|
||||
<name>ДокументПередачи</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Документ передачи</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>DocumentRef.ПС_ПередачаЗадолженностиВЦБ</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
</attributes>
|
||||
<dimensions uuid="9e7e6520-c2fd-49a5-b71a-7654ce098bce">
|
||||
<name>Организация</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Организация (ЦБ)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Организации</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="9c8b5fe4-4601-48ea-93fa-bedff4ab631c">
|
||||
<name>Учреждение</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Учреждение-отправитель</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Контрагенты</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="720e320e-a667-46c0-b671-513c750b0ff2">
|
||||
<name>Плательщик</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Плательщик (родитель)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Контрагенты</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="cb1fd384-336e-4f26-ab21-5219c9d49cd4">
|
||||
<name>Ребенок</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Ребенок</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Дети</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="3297b73a-5284-459a-89c6-a6b525336885">
|
||||
<name>Договор</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Договор</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Договоры</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="882da89e-cf75-489c-ae80-600f8d6a4686">
|
||||
<name>ИФО</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ИФО</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.ИсточникиФинансовогоОбеспечения</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="0b0f3a5d-a9fb-4704-803c-67c261c0e7d3">
|
||||
<name>КФО</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>КФО</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>EnumRef.КВД</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
<dimensions uuid="fc8962c1-e501-4a57-baba-6f99bb44f4cf">
|
||||
<name>КПС</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>КПС</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.КлассификационныеПризнакиСчетов</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
<fullTextSearch>Use</fullTextSearch>
|
||||
<useInTotals>true</useInTotals>
|
||||
</dimensions>
|
||||
</mdclass:AccumulationRegister>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ChartOfAccounts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="ee47af36-7bfd-45e0-9cfb-b9be1f5a48fc" extendedConfigurationObject="ce7f1d90-b092-41ff-8b2e-ea1c8a1bac33">
|
||||
<producedTypes>
|
||||
<objectType typeId="df719ef1-ba44-4646-a835-259537b09354" valueTypeId="ea5b72d1-85be-468e-b8e3-383472d25f1a"/>
|
||||
<refType typeId="3bafdf56-67df-4dee-a682-6c701545c847" valueTypeId="a62223bc-2553-4706-962f-ab22b65f4b4a"/>
|
||||
<selectionType typeId="4f8d94d5-41c4-466f-be70-eae9521afd74" valueTypeId="252e6bd2-bfb4-4010-b36e-c7b38682a307"/>
|
||||
<listType typeId="5aa452e1-95b1-449f-9bb7-6fc580c7c0f3" valueTypeId="b7d95acd-a512-4151-92a2-f2ffae07dfc0"/>
|
||||
<managerType typeId="bb31d5c4-8966-4aa1-a542-a66a5882d281" valueTypeId="23f9f978-3cd4-49b8-bbb9-bcb2e8d58c72"/>
|
||||
<extDimensionTypes typeId="0dad9214-90d2-4f4f-96fb-24e038f8dba4" valueTypeId="99cfa67e-4e78-4a6b-9da4-94e55f0b9fde"/>
|
||||
<extDimensionTypesRow typeId="b45f7c5c-e25c-4e30-929a-424b9214be38" valueTypeId="b3ebe439-d3dd-4d92-ada1-83e0a484eb1d"/>
|
||||
</producedTypes>
|
||||
<name>ЕПСБУ</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:ChartOfAccountsExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
</extension>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
</mdclass:ChartOfAccounts>
|
||||
@@ -103,4 +103,70 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Поиск организации, соответствующей контрагенту, по ИНН.
|
||||
//
|
||||
// Операция, обратная КонтрагентПоОрганизации. В документах начисления и передачи
|
||||
// учреждение (сад) представлено ссылкой на справочник Организации, а в документах
|
||||
// принятия, в регистре взаиморасчётов и в отборах пульта управления - ссылкой на
|
||||
// справочник Контрагенты. Сопоставление выполняется по ИНН.
|
||||
//
|
||||
// Параметры:
|
||||
// Контрагент - CatalogRef.Контрагенты - контрагент, для которого ищем организацию.
|
||||
// ИмяПоляПодсказки - Строка - имя реквизита для сообщения пользователю.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// CatalogRef.Организации - если найдена ровно одна организация с ИНН контрагента.
|
||||
// Пустая ссылка - в остальных случаях (нет ИНН / нет организации / найдено несколько).
|
||||
// Причина выводится пользователю.
|
||||
//
|
||||
Функция ОрганизацияПоКонтрагенту(Контрагент, ИмяПоляПодсказки = "") Экспорт
|
||||
|
||||
ПустаяОрганизация = Справочники.Организации.ПустаяСсылка();
|
||||
Если НЕ ЗначениеЗаполнено(Контрагент) Тогда
|
||||
Возврат ПустаяОрганизация;
|
||||
КонецЕсли;
|
||||
|
||||
Подсказка = ?(ПустаяСтрока(ИмяПоляПодсказки), "Организация",
|
||||
"Поле """ + ИмяПоляПодсказки + """");
|
||||
|
||||
// Сопоставление выполняем запросом по ИНН: прямое чтение реквизита заимствованного
|
||||
// справочника Контрагенты в расширении не разбирается анализатором.
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Организации.Ссылка КАК Ссылка
|
||||
|ИЗ
|
||||
| Справочник.Организации КАК Организации
|
||||
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
|
||||
| ПО Контрагенты.ИНН = Организации.ИНН
|
||||
|ГДЕ
|
||||
| Контрагенты.Ссылка = &Контрагент
|
||||
| И НЕ Организации.ПометкаУдаления";
|
||||
Запрос.УстановитьПараметр("Контрагент", Контрагент);
|
||||
|
||||
Представление = Строка(Контрагент);
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не найдена организация с тем же ИНН, что у контрагента (" + Представление + ").|"
|
||||
+ Подсказка + " не определена - отбор по учреждению не применён.");
|
||||
Возврат ПустаяОрганизация;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Выборка.Следующий();
|
||||
ПервыйНайденный = Выборка.Ссылка;
|
||||
|
||||
Если Выборка.Следующий() Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Найдено несколько организаций с тем же ИНН, что у контрагента (" + Представление + ").|"
|
||||
+ Подсказка + " не определена - отбор по учреждению не применён.");
|
||||
Возврат ПустаяОрганизация;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ПервыйНайденный;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
+575
@@ -0,0 +1,575 @@
|
||||
// ПС_РазборПлатежейПоРодительскойПлате: идентификация ребёнка и его контрагента по назначению платежа
|
||||
// в строках табличной части "Расшифровка платежа" документа КассовоеПоступление (БГУ 2.0).
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Заполняет контрагента, ребёнка, договор, счёт расчётов и КОСГУ назначения платежа
|
||||
// в строках расшифровки платежа документа с признаком "Родительская плата"
|
||||
// по тексту назначения платежа (реквизит "Примечание").
|
||||
// Уже заполненные значения не перезаписываются, нераспознанные строки остаются пустыми,
|
||||
// по каждой такой строке выводится диагностическое сообщение.
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументОбъект - ДокументОбъект.КассовоеПоступление - записываемый документ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - итоги разбора:
|
||||
// * ВсегоСтрок - Число - количество строк расшифровки платежа;
|
||||
// * Заполнено - Число - количество строк с заполненным контрагентом;
|
||||
// * НеРаспознано - Число - количество строк, по которым контрагент не определён.
|
||||
//
|
||||
Функция ЗаполнитьКонтрагентовПоНазначениюПлатежа(ДокументОбъект) Экспорт
|
||||
|
||||
Результат = Новый Структура("ВсегоСтрок, Заполнено, НеРаспознано", 0, 0, 0);
|
||||
Результат.ВсегоСтрок = ДокументОбъект.РасшифровкаПлатежа.Количество();
|
||||
|
||||
Если НЕ ДокументОбъект.РодительскаяПлата Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
// Первый проход: разбор назначения платежа, без обращения к базе.
|
||||
РазобранныеСтроки = Новый Массив;
|
||||
КодыПоиска = Новый Массив;
|
||||
|
||||
Для Каждого СтрокаПлатежа Из ДокументОбъект.РасшифровкаПлатежа Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(СтрокаПлатежа.Ребенок) Тогда
|
||||
Результат.Заполнено = Результат.Заполнено + 1;
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеПлатежа = РазобратьНазначениеПлатежа(СтрокаПлатежа.Примечание);
|
||||
ДанныеПлатежа.Вставить("СтрокаПлатежа", СтрокаПлатежа);
|
||||
РазобранныеСтроки.Добавить(ДанныеПлатежа);
|
||||
|
||||
Для Каждого Код Из КодыПоискаРебенка(ДанныеПлатежа.ЛицевойСчет) Цикл
|
||||
КодыПоиска.Добавить(Код);
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если РазобранныеСтроки.Количество() = 0 Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
// Один запрос на весь документ: дети по распознанным лицевым счетам.
|
||||
ДетиПоСчетам = ДетиПоЛицевымСчетам(КодыПоиска);
|
||||
|
||||
// Второй проход: отбор строк, по которым ребёнок и его контрагент определены однозначно.
|
||||
СтрокиКЗаполнению = Новый Массив;
|
||||
Контрагенты = Новый Соответствие;
|
||||
|
||||
Для Каждого ДанныеПлатежа Из РазобранныеСтроки Цикл
|
||||
|
||||
СтрокаПлатежа = ДанныеПлатежа.СтрокаПлатежа;
|
||||
Ребенок = РебенокПоЛицевомуСчету(ДетиПоСчетам, ДанныеПлатежа.ЛицевойСчет);
|
||||
|
||||
Если Ребенок = Неопределено
|
||||
Или НЕ ЗначениеЗаполнено(Ребенок.Контрагент) Тогда
|
||||
Результат.НеРаспознано = Результат.НеРаспознано + 1;
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтрШаблон("Кассовое поступление %1, строка %2: контрагент не определён - %3.",
|
||||
Строка(ДокументОбъект.Номер), СтрокаПлатежа.НомерСтроки,
|
||||
ПричинаНераспознанногоРебенка(ДанныеПлатежа.ЛицевойСчет, Ребенок)));
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаКЗаполнению = Новый Структура("СтрокаПлатежа, Ребенок, Контрагент");
|
||||
СтрокаКЗаполнению.СтрокаПлатежа = СтрокаПлатежа;
|
||||
СтрокаКЗаполнению.Ребенок = Ребенок.Ссылка;
|
||||
СтрокаКЗаполнению.Контрагент = Ребенок.Контрагент;
|
||||
СтрокиКЗаполнению.Добавить(СтрокаКЗаполнению);
|
||||
|
||||
Контрагенты.Вставить(Ребенок.Контрагент, Истина);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если СтрокиКЗаполнению.Количество() = 0 Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
// Счёт расчётов и КОСГУ родительской платы: типовая загрузка реестров их не определяет,
|
||||
// а для проводок по счёту 205.31 они обязательны.
|
||||
СчетРасчетов = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31");
|
||||
Если НЕ ЗначениеЗаполнено(СчетРасчетов) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтрШаблон("Кассовое поступление %1: в плане счетов ЕПСБУ не найден счёт 205.31 - счёт расчётов не заполнен.",
|
||||
Строка(ДокументОбъект.Номер)));
|
||||
КонецЕсли;
|
||||
|
||||
КОСГУНазначениеПлатежа = Справочники.КОСГУ.НайтиПоКоду("131");
|
||||
Если НЕ ЗначениеЗаполнено(КОСГУНазначениеПлатежа) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтрШаблон("Кассовое поступление %1: в справочнике КОСГУ не найден код 131 - КОСГУ назначения платежа не заполнен.",
|
||||
Строка(ДокументОбъект.Номер)));
|
||||
КонецЕсли;
|
||||
|
||||
// Договоры определяются одним запросом сразу по всем контрагентам документа.
|
||||
Договоры = ДоговорыПоКонтрагентам(Контрагенты, ДокументОбъект, СчетРасчетов);
|
||||
|
||||
Результат.Заполнено = Результат.Заполнено + ЗаполнитьСтрокиРасшифровки(
|
||||
СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Разбирает текст назначения платежа и определяет лицевой счёт ребёнка.
|
||||
// Обращения к базе здесь нет: поиск ребёнка выполняет вызывающий код одним запросом на весь документ.
|
||||
//
|
||||
// Параметры:
|
||||
// ТекстНазначения - Строка - назначение платежа (реквизит "Примечание" строки расшифровки платежа).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - результат разбора:
|
||||
// * ЛицевойСчет - Строка - распознанный лицевой счёт ребёнка; пустая строка, если не распознан;
|
||||
// * ФИО - Строка - ФИО ребёнка из назначения платежа; пустая строка, если не распознано.
|
||||
//
|
||||
Функция РазобратьНазначениеПлатежа(ТекстНазначения) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
Результат.Вставить("ЛицевойСчет", "");
|
||||
Результат.Вставить("ФИО", "");
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ТекстНазначения) Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Результат.ЛицевойСчет = ОпределитьЛицевойСчетРебенка(ТекстНазначения);
|
||||
Результат.ФИО = ОпределитьФИОИзНазначения(ТекстНазначения);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Определяет договоры для контрагентов документа.
|
||||
//
|
||||
// Параметры:
|
||||
// Контрагенты - Соответствие из СправочникСсылка.Контрагенты, Булево - контрагенты (дети) документа.
|
||||
// ДокументОбъект - ДокументОбъект.КассовоеПоступление - документ, по дате и организации которого ищутся остатки.
|
||||
// СчетРасчетов - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы (205.31).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры - договоры по контрагентам,
|
||||
// определённые однозначно.
|
||||
//
|
||||
Функция ДоговорыПоКонтрагентам(Контрагенты, ДокументОбъект, СчетРасчетов)
|
||||
|
||||
КонтрагентыМассив = Новый Массив;
|
||||
Для Каждого Элемент Из Контрагенты Цикл
|
||||
КонтрагентыМассив.Добавить(Элемент.Ключ);
|
||||
КонецЦикла;
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Неоднозначные = Новый Соответствие;
|
||||
КоличествоДоговоров = Новый Соответствие;
|
||||
|
||||
// 1. Договоры из остатков по счёту 205.31 - приоритетный источник.
|
||||
ЗаполнитьДоговорыПоОстаткам20531(КонтрагентыМассив, ДокументОбъект, СчетРасчетов, Результат, Неоднозначные);
|
||||
|
||||
// 2. Для остальных контрагентов - единственный договор, отобранный по реквизиту "Контрагент".
|
||||
ЗаполнитьДоговорыПоОтбору(КонтрагентыМассив, Результат, Неоднозначные, КоличествоДоговоров);
|
||||
|
||||
// 3. Диагностика по контрагентам, для которых договор определить не удалось.
|
||||
Для Каждого Элемент Из Контрагенты Цикл
|
||||
|
||||
Если Результат[Элемент.Ключ] <> Неопределено Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если Неоднозначные[Элемент.Ключ] <> Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтрШаблон("Кассовое поступление %1: по контрагенту %2 в остатках счёта 205.31 найдено несколько договоров, договор не заполнен.",
|
||||
Строка(ДокументОбъект.Номер), Строка(Элемент.Ключ)));
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Количество = КоличествоДоговоров[Элемент.Ключ];
|
||||
Если Количество = Неопределено Тогда
|
||||
Количество = 0;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
СтрШаблон("Кассовое поступление %1: по контрагенту %2 найдено договоров - %3, договор не заполнен.",
|
||||
Строка(ДокументОбъект.Номер), Строка(Элемент.Ключ), Количество));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Дополняет результат договорами, найденными в остатках по счёту 205.31.
|
||||
//
|
||||
// Параметры:
|
||||
// КонтрагентыМассив - Массив из СправочникСсылка.Контрагенты - контрагенты (дети), по которым ищутся остатки.
|
||||
// ДокументОбъект - ДокументОбъект.КассовоеПоступление - документ, по дате и организации которого ищутся остатки.
|
||||
// Счет20531 - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы (205.31).
|
||||
// Результат - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры - дополняется найденными договорами.
|
||||
// Неоднозначные - Соответствие из СправочникСсылка.Контрагенты, Булево - контрагенты с несколькими договорами в остатках.
|
||||
//
|
||||
Процедура ЗаполнитьДоговорыПоОстаткам20531(КонтрагентыМассив, ДокументОбъект, Счет20531, Результат, Неоднозначные)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Счет20531) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Порядок субконто берём из настройки самого счёта: субконто1 - контрагенты, субконто2 - договоры.
|
||||
ВидыСубконто = Новый Массив;
|
||||
Для Каждого СтрокаСубконто Из Счет20531.ВидыСубконто Цикл
|
||||
ВидыСубконто.Добавить(СтрокаСубконто.ВидСубконто);
|
||||
КонецЦикла;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ РАЗЛИЧНЫЕ
|
||||
| Остатки.Субконто1 КАК Контрагент,
|
||||
| Остатки.Субконто2 КАК Договор
|
||||
|ИЗ
|
||||
| РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
|
||||
| &Дата,
|
||||
| Счет В ИЕРАРХИИ (&Счет20531),
|
||||
| &ВидыСубконто,
|
||||
| Организация = &Организация И Субконто1 В (&Контрагенты)) КАК Остатки
|
||||
|ГДЕ
|
||||
| Остатки.СуммаОстаток <> 0";
|
||||
Запрос.УстановитьПараметр("Дата", ДокументОбъект.Дата);
|
||||
Запрос.УстановитьПараметр("Счет20531", Счет20531);
|
||||
Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто);
|
||||
Запрос.УстановитьПараметр("Контрагенты", КонтрагентыМассив);
|
||||
Запрос.УстановитьПараметр("Организация", ДокументОбъект.Организация);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Выборка.Договор) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
НайденныйДоговор = Результат[Выборка.Контрагент];
|
||||
Если НайденныйДоговор = Неопределено Тогда
|
||||
Результат.Вставить(Выборка.Контрагент, Выборка.Договор);
|
||||
ИначеЕсли НайденныйДоговор <> Выборка.Договор Тогда
|
||||
Неоднозначные.Вставить(Выборка.Контрагент, Истина);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Дополняет результат единственным договором, отобранным по реквизиту "Контрагент".
|
||||
//
|
||||
// Параметры:
|
||||
// КонтрагентыМассив - Массив из СправочникСсылка.Контрагенты - контрагенты (дети), по которым отбираются договоры.
|
||||
// Результат - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры - дополняется найденными договорами.
|
||||
// Неоднозначные - Соответствие из СправочникСсылка.Контрагенты, Булево - контрагенты с неоднозначным договором.
|
||||
// КоличествоДоговоров - Соответствие из СправочникСсылка.Контрагенты, Число - количество найденных договоров.
|
||||
//
|
||||
Процедура ЗаполнитьДоговорыПоОтбору(КонтрагентыМассив, Результат, Неоднозначные, КоличествоДоговоров)
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Договоры.Контрагент КАК Контрагент,
|
||||
| Договоры.Ссылка КАК Договор
|
||||
|ИЗ
|
||||
| Справочник.Договоры КАК Договоры
|
||||
|ГДЕ
|
||||
| НЕ Договоры.ПометкаУдаления
|
||||
| И Договоры.Контрагент В (&Контрагенты)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Договоры.Контрагент";
|
||||
Запрос.УстановитьПараметр("Контрагенты", КонтрагентыМассив);
|
||||
|
||||
Найденные = Новый Соответствие;
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
ДоговорыКонтрагента = Найденные[Выборка.Контрагент];
|
||||
Если ДоговорыКонтрагента = Неопределено Тогда
|
||||
ДоговорыКонтрагента = Новый Массив;
|
||||
Найденные.Вставить(Выборка.Контрагент, ДоговорыКонтрагента);
|
||||
КонецЕсли;
|
||||
ДоговорыКонтрагента.Добавить(Выборка.Договор);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Для Каждого Элемент Из Найденные Цикл
|
||||
|
||||
КоличествоДоговоров.Вставить(Элемент.Ключ, Элемент.Значение.Количество());
|
||||
|
||||
Если Элемент.Значение.Количество() = 1
|
||||
И Результат[Элемент.Ключ] = Неопределено
|
||||
И Неоднозначные[Элемент.Ключ] = Неопределено Тогда
|
||||
Результат.Вставить(Элемент.Ключ, Элемент.Значение[0]);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет реквизиты строк расшифровки платежа по результатам разбора назначения.
|
||||
// КОСГУ "000", проставленный типовой загрузкой реестров, заменяется принудительно;
|
||||
// остальные заполненные значения не перезаписываются.
|
||||
//
|
||||
// Параметры:
|
||||
// СтрокиКЗаполнению - Массив из Структура - строки, по которым определён ребёнок и контрагент.
|
||||
// Договоры - Соответствие из СправочникСсылка.Контрагенты, СправочникСсылка.Договоры -
|
||||
// договоры, определённые по контрагентам однозначно.
|
||||
// СчетРасчетов - ПланСчетовСсылка.ЕПСБУ - счёт расчётов родительской платы.
|
||||
// КОСГУНазначениеПлатежа - СправочникСсылка.КОСГУ - КОСГУ назначения платежа.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - количество заполненных строк расшифровки платежа.
|
||||
//
|
||||
Функция ЗаполнитьСтрокиРасшифровки(СтрокиКЗаполнению, Договоры, СчетРасчетов, КОСГУНазначениеПлатежа)
|
||||
|
||||
// Типовая загрузка реестров прописывает в КОСГУ назначения платежа код "000" -
|
||||
// для родительской платы его нужно заменить принудительно.
|
||||
КОСГУНеУказан = Справочники.КОСГУ.НайтиПоКоду("000");
|
||||
|
||||
Заполнено = 0;
|
||||
|
||||
Для Каждого СтрокаКЗаполнению Из СтрокиКЗаполнению Цикл
|
||||
|
||||
СтрокаРасшифровки = СтрокаКЗаполнению.СтрокаПлатежа;
|
||||
|
||||
СтрокаРасшифровки.Ребенок = СтрокаКЗаполнению.Ребенок;
|
||||
СтрокаРасшифровки.Контрагент = СтрокаКЗаполнению.Контрагент;
|
||||
|
||||
Договор = Договоры[СтрокаКЗаполнению.Контрагент];
|
||||
Если Договор = Неопределено Тогда
|
||||
Договор = Справочники.Договоры.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
СтрокаРасшифровки.Договор = Договор;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаРасшифровки.СчетРасчетов) И ЗначениеЗаполнено(СчетРасчетов) Тогда
|
||||
СтрокаРасшифровки.СчетРасчетов = СчетРасчетов;
|
||||
КонецЕсли;
|
||||
|
||||
КОСГУСтроки = СтрокаРасшифровки.КОСГУНазначениеПлатежа;
|
||||
КОСГУПустой = НЕ ЗначениеЗаполнено(КОСГУСтроки)
|
||||
Или (ЗначениеЗаполнено(КОСГУНеУказан) И КОСГУСтроки = КОСГУНеУказан);
|
||||
Если ЗначениеЗаполнено(КОСГУНазначениеПлатежа) И КОСГУПустой Тогда
|
||||
СтрокаРасшифровки.КОСГУНазначениеПлатежа = КОСГУНазначениеПлатежа;
|
||||
КонецЕсли;
|
||||
|
||||
Заполнено = Заполнено + 1;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Заполнено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Определяет лицевой счёт ребёнка по тексту назначения платежа.
|
||||
// Лицевой счёт идёт после последнего вхождения "л/с" и может начинаться с буквы "Х" или "Г".
|
||||
//
|
||||
// Параметры:
|
||||
// ТекстНазначения - Строка - назначение платежа.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - лицевой счёт ребёнка (возможно, с буквой "Х"/"Г" на первом месте); пустая строка, если не найден.
|
||||
//
|
||||
Функция ОпределитьЛицевойСчетРебенка(ТекстНазначения)
|
||||
|
||||
// Латинские "X"/"x" приводим к кириллической "Х": в реестрах встречаются оба варианта.
|
||||
Текст = СтрЗаменить(ВРЕГ(ТекстНазначения), "X", "Х");
|
||||
|
||||
Позиция = СтрНайти(Текст, "Л/С", НаправлениеПоиска.СКонца);
|
||||
ДлинаПрефикса = 3;
|
||||
Если Позиция = 0 Тогда
|
||||
Позиция = СтрНайти(Текст, "ЛС", НаправлениеПоиска.СКонца);
|
||||
ДлинаПрефикса = 2;
|
||||
КонецЕсли;
|
||||
Если Позиция = 0 Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
Фрагмент = СокрЛП(Сред(Текст, Позиция + ДлинаПрефикса, 20));
|
||||
|
||||
Буква = "";
|
||||
Если Лев(Фрагмент, 1) = "Х" Или Лев(Фрагмент, 1) = "Г" Тогда
|
||||
Буква = Лев(Фрагмент, 1);
|
||||
Фрагмент = Сред(Фрагмент, 2);
|
||||
КонецЕсли;
|
||||
|
||||
Цифры = "";
|
||||
Для Индекс = 1 По СтрДлина(Фрагмент) Цикл
|
||||
Символ = Сред(Фрагмент, Индекс, 1);
|
||||
Если НЕ СимволЯвляетсяЦифрой(Символ) Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
Цифры = Цифры + Символ;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Буква + Цифры;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает ФИО ребёнка из текста назначения платежа (4-я часть, разделитель - запятая).
|
||||
// Для поиска используется пара "Фамилия Имя", как в реестрах.
|
||||
//
|
||||
// Параметры:
|
||||
// ТекстНазначения - Строка - назначение платежа.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - ФИО ребёнка; пустая строка, если часть не найдена.
|
||||
//
|
||||
Функция ОпределитьФИОИзНазначения(ТекстНазначения)
|
||||
|
||||
Части = СтрРазделить(ТекстНазначения, ",");
|
||||
Если Части.Количество() < 4 Тогда
|
||||
Возврат "";
|
||||
КонецЕсли;
|
||||
|
||||
ФИО = СокрЛП(Части[3]);
|
||||
|
||||
Слова = СтрРазделить(ФИО, " ", Ложь);
|
||||
Если Слова.Количество() >= 2 Тогда
|
||||
Возврат Слова[0] + " " + Слова[1];
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ФИО;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает варианты лицевого счёта для поиска в справочнике детей.
|
||||
// В справочнике код может храниться как с буквой "Х"/"Г", так и без неё.
|
||||
//
|
||||
// Параметры:
|
||||
// ЛицевойСчет - Строка - лицевой счёт, распознанный в назначении платежа.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Строка - варианты кода; пустой массив, если лицевой счёт не распознан.
|
||||
//
|
||||
Функция КодыПоискаРебенка(ЛицевойСчет)
|
||||
|
||||
Коды = Новый Массив;
|
||||
Если НЕ ЗначениеЗаполнено(ЛицевойСчет) Тогда
|
||||
Возврат Коды;
|
||||
КонецЕсли;
|
||||
|
||||
// Код справочника хранится дополненным пробелами до длины 15, поэтому нормализуем обе стороны сравнения.
|
||||
ЛицевойСчет = СокрЛП(ЛицевойСчет);
|
||||
Коды.Добавить(ЛицевойСчет);
|
||||
Если Лев(ЛицевойСчет, 1) = "Х" Или Лев(ЛицевойСчет, 1) = "Г" Тогда
|
||||
Коды.Добавить(СокрЛП(Сред(ЛицевойСчет, 2)));
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Коды;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Загружает детей по лицевым счетам одним запросом.
|
||||
// Лицевой счёт уникален для ЦБ и всех подшефных учреждений, поэтому отбор по организации не применяется.
|
||||
//
|
||||
// Параметры:
|
||||
// Коды - Массив из Строка - варианты лицевых счетов, распознанные в строках документа.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие из Строка, Структура - найденные дети по коду: Ссылка, Наименование, Контрагент.
|
||||
//
|
||||
Функция ДетиПоЛицевымСчетам(Коды)
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Если Коды.Количество() = 0 Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Дети.Код КАК Код,
|
||||
| Дети.Ссылка КАК Ссылка,
|
||||
| Дети.Наименование КАК Наименование,
|
||||
| Дети.Контрагент КАК Контрагент
|
||||
|ИЗ
|
||||
| Справочник.Дети КАК Дети
|
||||
|ГДЕ
|
||||
| НЕ Дети.ПометкаУдаления
|
||||
| И Дети.Код В (&Коды)";
|
||||
Запрос.УстановитьПараметр("Коды", Коды);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Результат.Вставить(СокрЛП(Выборка.Код), Новый Структура("Ссылка, Наименование, Контрагент",
|
||||
Выборка.Ссылка, Выборка.Наименование, Выборка.Контрагент));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Находит ребёнка в заранее загруженном соответствии по распознанному лицевому счёту.
|
||||
//
|
||||
// Параметры:
|
||||
// ДетиПоСчетам - Соответствие из Строка, Структура - дети, загруженные по лицевым счетам документа.
|
||||
// ЛицевойСчет - Строка - лицевой счёт, распознанный в назначении платежа.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура, Неопределено - Ссылка, Наименование, Контрагент найденного ребёнка;
|
||||
// Неопределено, если ребёнок не найден.
|
||||
//
|
||||
Функция РебенокПоЛицевомуСчету(ДетиПоСчетам, ЛицевойСчет)
|
||||
|
||||
Для Каждого Код Из КодыПоискаРебенка(ЛицевойСчет) Цикл
|
||||
Ребенок = ДетиПоСчетам[Код];
|
||||
Если Ребенок <> Неопределено Тогда
|
||||
Возврат Ребенок;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Неопределено;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Формирует причину, по которой контрагент в строке не определён.
|
||||
//
|
||||
// Параметры:
|
||||
// ЛицевойСчет - Строка - распознанный лицевой счёт ребёнка.
|
||||
// Ребенок - Структура, Неопределено - найденный ребёнок (если найден, но без контрагента).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - текст причины.
|
||||
//
|
||||
Функция ПричинаНераспознанногоРебенка(ЛицевойСчет, Ребенок)
|
||||
|
||||
Если Ребенок <> Неопределено Тогда
|
||||
Возврат СтрШаблон("у ребёнка %1 не заполнен контрагент", Ребенок.Наименование);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ЛицевойСчет) Тогда
|
||||
Возврат "не удалось определить лицевой счёт ребёнка";
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрШаблон("не найден ребёнок с лицевым счётом %1", ЛицевойСчет);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Определяет, является ли символ цифрой.
|
||||
//
|
||||
// Параметры:
|
||||
// Символ - Строка - проверяемый символ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если символ является цифрой.
|
||||
//
|
||||
Функция СимволЯвляетсяЦифрой(Символ)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Символ) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрНайти("0123456789", Символ) > 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецЕсли
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a9ee4410-855c-4dc4-85ef-9af8461517f6">
|
||||
<name>ПС_РазборПлатежейПоРодительскойПлате</name>
|
||||
<server>true</server>
|
||||
<externalConnection>true</externalConnection>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
||||
@@ -57,55 +57,37 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает КЭК, определяющий экономический смысл операции по счёту 304.04
|
||||
// ("Внутриведомственные расчеты"): для доходной операции это КЭК счёта 401.10
|
||||
// проводок документа-основания. Если проводок по 401.10 в основании нет
|
||||
// (например, основание - документ передачи задолженности), берётся КЭК счёта 304.04.
|
||||
// Автоматически такой КЭК не определяется - соответствующих сопоставлений в справочниках нет.
|
||||
//
|
||||
// Параметры:
|
||||
// ДокументИсточник - ДокументСсылка.НачислениеРодительскойПлаты, ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ - проведённый документ, проводки которого используются как источник данных.
|
||||
// Возвращает счёт, корреспондирующий со счётом расчётов по доходам (205.31),
|
||||
// по умолчанию: 304.04 (внутриведомственные расчёты).
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СправочникСсылка.КОСГУ - КЭК счёта 401.10 (или 304.04) проводок документа-источника; пустая ссылка, если проводок нет.
|
||||
// ПланСчетовСсылка.ЕПСБУ - счёт по умолчанию; пустая ссылка, если счёт не найден в плане счетов.
|
||||
//
|
||||
Функция КЭКПоЭкономическомуСмыслу(ДокументИсточник) Экспорт
|
||||
Функция СчетКорреспондентПоУмолчанию() Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ДокументИсточник) Тогда
|
||||
Счет = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04");
|
||||
Если Счет = Неопределено Тогда
|
||||
Возврат ПланыСчетов.ЕПСБУ.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Счет;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает КЭК корреспондирующего счёта по умолчанию: 131
|
||||
// (доходы от оказания платных услуг). Значение редактируется пользователем в документе.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СправочникСсылка.КОСГУ - КЭК по умолчанию; пустая ссылка, если КЭК не найден.
|
||||
//
|
||||
Функция КЭККорреспондентПоУмолчанию() Экспорт
|
||||
|
||||
КЭК = Справочники.КОСГУ.НайтиПоКоду("131");
|
||||
Если КЭК = Неопределено Тогда
|
||||
Возврат Справочники.КОСГУ.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| ВЫБОР
|
||||
| КОГДА Проводки.СчетДт.Код = ""401.10"" ИЛИ Проводки.СчетКт.Код = ""401.10""
|
||||
| ТОГДА 0
|
||||
| ИНАЧЕ 1
|
||||
| КОНЕЦ КАК Приоритет,
|
||||
| ВЫБОР
|
||||
| КОГДА Проводки.СчетДт.Код В (""401.10"", ""304.04"")
|
||||
| ТОГДА Проводки.КЭКДт
|
||||
| ИНАЧЕ Проводки.КЭККт
|
||||
| КОНЕЦ КАК КЭК
|
||||
|ИЗ
|
||||
| РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто КАК Проводки
|
||||
|ГДЕ
|
||||
| Проводки.Регистратор = &ДокументИсточник
|
||||
| И (Проводки.СчетДт.Код В (""401.10"", ""304.04"")
|
||||
| ИЛИ Проводки.СчетКт.Код В (""401.10"", ""304.04""))
|
||||
|
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Приоритет,
|
||||
| Проводки.НомерСтроки";
|
||||
Запрос.УстановитьПараметр("ДокументИсточник", ДокументИсточник);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Если НЕ Выборка.Следующий() Тогда
|
||||
Возврат Справочники.КОСГУ.ПустаяСсылка();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Выборка.КЭК;
|
||||
Возврат КЭК;
|
||||
|
||||
КонецФункции
|
||||
|
||||
@@ -120,15 +102,23 @@
|
||||
// ДокументСсылка - ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ, ДокументСсылка.ПС_ПринятиеЗадолженностиОтУчреждения - печатаемый документ.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не проведён или макет не найден.
|
||||
// ТабличныйДокумент - печатная форма; пустой табличный документ, если документ не записан, не проведён, нет проводок или не найден макет.
|
||||
//
|
||||
Функция ПечатьИзвещения0504805(ДокументСсылка) Экспорт
|
||||
|
||||
ТабличныйДокумент = Новый ТабличныйДокумент;
|
||||
ТабличныйДокумент.АвтоМасштаб = Истина;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ДокументСсылка) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: документ не записан в базу. Запишите документ и повторите печать.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
|
||||
Если ДокументОбъект = Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: не удалось прочитать документ.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -152,7 +142,24 @@
|
||||
+ ". Основание: " + Строка(ДокументОбъект.ДокументПередачи) + ".";
|
||||
КонецЕсли;
|
||||
|
||||
Если Макет = Неопределено ИЛИ НЕ ДокументОбъект.Проведен Тогда
|
||||
Если Макет = Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения не сформирована: в документе не найден макет печатной формы.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ДокументОбъект.Проведен Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Печатная форма извещения формируется по проводкам документа, поэтому печатается"
|
||||
+ " только проведённый документ. Проведите документ и повторите печать.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
Проводки = ПроводкиИзвещения(ДокументСсылка);
|
||||
Если Проводки.Количество() = 0 Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"По документу не найдено проводок в регистре бухгалтерии - печатная форма"
|
||||
+ " извещения не сформирована.");
|
||||
Возврат ТабличныйДокумент;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -170,7 +177,6 @@
|
||||
|
||||
ТабличныйДокумент.Вывести(Макет.ПолучитьОбласть("Шапка"));
|
||||
|
||||
Проводки = ПроводкиИзвещения(ДокументСсылка);
|
||||
ИтогоСумма = 0;
|
||||
|
||||
Для Каждого Проводка Из Проводки Цикл
|
||||
@@ -197,7 +203,7 @@
|
||||
ЗаполнитьПодписиСтороны(ОбластьПодвал.Параметры, СторонаПечати, ДокументОбъект);
|
||||
ТабличныйДокумент.Вывести(ОбластьПодвал);
|
||||
|
||||
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, Новый Соответствие, ДокументСсылка);
|
||||
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 1, Новый СписокЗначений, ДокументСсылка);
|
||||
|
||||
Возврат ТабличныйДокумент;
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<roles>Role.БазовыеПраваБГУ</roles>
|
||||
<commonModules>CommonModule.ПС_РаботаСКонтрагентами</commonModules>
|
||||
<commonModules>CommonModule.ПС_УчетРодительскойПлаты</commonModules>
|
||||
<commonModules>CommonModule.ПС_РазборПлатежейПоРодительскойПлате</commonModules>
|
||||
<commonForms>CommonForm.УстановкаСтатусаПлатежноРасчетногоДокумента</commonForms>
|
||||
<catalogs>Catalog.Контрагенты</catalogs>
|
||||
<catalogs>Catalog.Договоры</catalogs>
|
||||
@@ -64,11 +65,16 @@
|
||||
<documents>Document.НачислениеРодительскойПлаты</documents>
|
||||
<documents>Document.ПС_ПередачаЗадолженностиВЦБ</documents>
|
||||
<documents>Document.ПС_ПринятиеЗадолженностиОтУчреждения</documents>
|
||||
<documents>Document.КассовоеПоступление</documents>
|
||||
<enums>Enum.КВД</enums>
|
||||
<enums>Enum.ПС_ВидыОперацийПоВзаиморасчетам</enums>
|
||||
<reports>Report.ПС_ОборотнаяВедомостьПоРодительскойПлате</reports>
|
||||
<dataProcessors>DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате</dataProcessors>
|
||||
<informationRegisters>InformationRegister.ПлательщикиПоУслугамДДУ</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ФИОФизическихЛиц</informationRegisters>
|
||||
<informationRegisters>InformationRegister.ДокументыФизическихЛиц</informationRegisters>
|
||||
<accumulationRegisters>AccumulationRegister.ТабельУчетаПосещаемостиДетей</accumulationRegisters>
|
||||
<accumulationRegisters>AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате</accumulationRegisters>
|
||||
<chartsOfAccounts>ChartOfAccounts.ЕПСБУ</chartsOfAccounts>
|
||||
<accountingRegisters>AccountingRegister.ЖурналПроводокЕПСБУ</accountingRegisters>
|
||||
</mdclass:Configuration>
|
||||
|
||||
+901
-50
File diff suppressed because it is too large
Load Diff
+242
-44
@@ -6,8 +6,14 @@
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Период) Тогда
|
||||
Объект.Период = НачалоМесяца(ТекущаяДатаСеанса());
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Период.ДатаНачала)
|
||||
ИЛИ НЕ ЗначениеЗаполнено(Объект.Период.ДатаОкончания) Тогда
|
||||
Объект.Период.Вариант = ВариантСтандартногоПериода.ЭтотМесяц;
|
||||
КонецЕсли;
|
||||
|
||||
// Пульт ведётся со стороны ЦБ, поэтому по умолчанию подставляем организацию ЦБ.
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
Объект.Организация = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить();
|
||||
КонецЕсли;
|
||||
|
||||
ОбновитьТаблицыНаСервере();
|
||||
@@ -27,6 +33,41 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Открывает оборотную ведомость по расчетам по родительской плате.
|
||||
//
|
||||
// В отчёт передаются текущие отборы пульта (организация, учреждение, ИФО) и границы периода.
|
||||
// Значения попадают в отчёт через штатный параметр формы отчёта "Отбор": для полей набора
|
||||
// данных это отбор, для параметров компоновки (НачалоПериода, КонецПериода) - значения.
|
||||
//
|
||||
&НаКлиенте
|
||||
Процедура ОборотнаяВедомость(Команда)
|
||||
|
||||
Если НЕ ПериодЗаполненНаСервере() Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Отбор = Новый Структура;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
Отбор.Вставить("Организация", Объект.Организация);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Учреждение) Тогда
|
||||
Отбор.Вставить("Учреждение", Объект.Учреждение);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.ИФО) Тогда
|
||||
Отбор.Вставить("ИФО", Объект.ИФО);
|
||||
КонецЕсли;
|
||||
|
||||
Отбор.Вставить("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Отбор.Вставить("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
|
||||
ПараметрыФормы = Новый Структура("Отбор", Отбор);
|
||||
ОткрытьФорму("Отчет.ПС_ОборотнаяВедомостьПоРодительскойПлате.Форма", ПараметрыФормы);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@@ -37,18 +78,65 @@
|
||||
&НаСервере
|
||||
Процедура ОбновитьТаблицыНаСервере()
|
||||
|
||||
ЗаполнитьНачисления();
|
||||
ЗаполнитьДокументыПередачи();
|
||||
Если НЕ ПериодЗаполненНаСервере() Тогда
|
||||
ОчиститьТаблицы();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Отборы формы заданы в терминах ЦБ: Организация - это ЦБ (справочник Организации),
|
||||
// Учреждение - сад (справочник Контрагенты). Документы начисления и передачи хранят
|
||||
// сад как Организацию, а ЦБ в документе передачи - как Контрагента. Приводим значения
|
||||
// отбора к типам, которые есть в документах, сопоставлением по ИНН.
|
||||
ЦБКонтрагент = Неопределено;
|
||||
Если ЗначениеЗаполнено(Объект.Организация) Тогда
|
||||
ЦБКонтрагент = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(Объект.Организация, "Организация (ЦБ)");
|
||||
Если НЕ ЗначениеЗаполнено(ЦБКонтрагент) Тогда
|
||||
ОчиститьТаблицы();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
СадОрганизация = Неопределено;
|
||||
Если ЗначениеЗаполнено(Объект.Учреждение) Тогда
|
||||
СадОрганизация = ПС_РаботаСКонтрагентами.ОрганизацияПоКонтрагенту(Объект.Учреждение, "Учреждение (сад)");
|
||||
Если НЕ ЗначениеЗаполнено(СадОрганизация) Тогда
|
||||
ОчиститьТаблицы();
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
ЗаполнитьНачисления(СадОрганизация);
|
||||
ЗаполнитьДокументыПередачи(ЦБКонтрагент, СадОрганизация);
|
||||
ЗаполнитьДокументыПринятия();
|
||||
ЗаполнитьСверку();
|
||||
ЗаполнитьСверку(ЦБКонтрагент, СадОрганизация);
|
||||
ЗаполнитьТаблицуОстатков();
|
||||
ЗаполнитьКассовыеПоступления();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Очищает таблицы формы. Вызывается, когда значения отборов не удалось сопоставить
|
||||
// с данными документов; причина уже выведена пользователю.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ОчиститьТаблицы()
|
||||
|
||||
Начисления.Очистить();
|
||||
ДокументыПередачи.Очистить();
|
||||
ДокументыПринятия.Очистить();
|
||||
Сверка.Очистить();
|
||||
ТаблицаОстатков.Очистить();
|
||||
КассовыеПоступления.Очистить();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы Начисления по установленным фильтрам.
|
||||
//
|
||||
// Параметры:
|
||||
// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде
|
||||
// организации; Неопределено - отбор по учреждению не задан.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьНачисления()
|
||||
Процедура ЗаполнитьНачисления(СадОрганизация)
|
||||
|
||||
Начисления.Очистить();
|
||||
|
||||
@@ -60,24 +148,25 @@
|
||||
| Документы.Номер КАК Номер,
|
||||
| Документы.Организация КАК Организация,
|
||||
| Документы.ИФО КАК ИФО,
|
||||
| Документы.Период КАК Период,
|
||||
| Документы.НачалоПериода КАК Период,
|
||||
| Документы.СуммаДокумента КАК СуммаДокумента,
|
||||
| Документы.Проведен КАК Проведен,
|
||||
| Документы.ПометкаУдаления КАК ПометкаУдаления
|
||||
|ИЗ
|
||||
| Документ.НачислениеРодительскойПлаты КАК Документы
|
||||
|ГДЕ
|
||||
| (&Период = ДАТАВРЕМЯ(1, 1, 1)
|
||||
| ИЛИ Документы.Период >= &Период)
|
||||
| И (&Организация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Организация)
|
||||
| Документы.НачалоПериода >= &НачалоПериода
|
||||
| И Документы.НачалоПериода <= &КонецПериода
|
||||
| И (&Сад = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Сад)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Документы.Дата УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("Период", Объект.Период);
|
||||
Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено));
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("Сад", СадОрганизация);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
@@ -89,8 +178,14 @@
|
||||
|
||||
// Заполняет таблицу формы ДокументыПередачи по установленным фильтрам.
|
||||
//
|
||||
// Параметры:
|
||||
// ЦБКонтрагент - CatalogRef.Контрагенты, Неопределено - ЦБ в виде контрагента
|
||||
// (документ передачи хранит ЦБ именно так); Неопределено - отбор не задан.
|
||||
// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде
|
||||
// организации; Неопределено - отбор по учреждению не задан.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьДокументыПередачи()
|
||||
Процедура ЗаполнитьДокументыПередачи(ЦБКонтрагент, СадОрганизация)
|
||||
|
||||
ДокументыПередачи.Очистить();
|
||||
|
||||
@@ -105,26 +200,28 @@
|
||||
| Документы.ИФО КАК ИФО,
|
||||
| Документы.Период КАК Период,
|
||||
| Документы.СуммаДокумента КАК СуммаДокумента,
|
||||
| Документы.ПередачаСальдо КАК ПередачаСальдо,
|
||||
| Документы.Проведен КАК Проведен,
|
||||
| Документы.ПометкаУдаления КАК ПометкаУдаления
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК Документы
|
||||
|ГДЕ
|
||||
| (&Период = ДАТАВРЕМЯ(1, 1, 1)
|
||||
| ИЛИ Документы.Период >= &Период)
|
||||
| И (&Организация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Организация)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
| Документы.Период >= &НачалоПериода
|
||||
| И Документы.Период <= &КонецПериода
|
||||
| И (&ЦБ = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ЦБ = &ЦБ)
|
||||
| ИЛИ Документы.ЦБ = &ЦБ)
|
||||
| И (&Сад = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Сад)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Документы.Дата УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("Период", Объект.Период);
|
||||
Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено));
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент);
|
||||
Запрос.УстановитьПараметр("Сад", СадОрганизация);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
Запрос.УстановитьПараметр("ЦБ", ?(ЗначениеЗаполнено(Объект.ЦБ), Объект.ЦБ, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
@@ -151,22 +248,27 @@
|
||||
| Документы.ИФО КАК ИФО,
|
||||
| Документы.Период КАК Период,
|
||||
| Документы.СуммаДокумента КАК СуммаДокумента,
|
||||
| Документы.ПередачаСальдо КАК ПередачаСальдо,
|
||||
| Документы.Проведен КАК Проведен,
|
||||
| Документы.ПометкаУдаления КАК ПометкаУдаления
|
||||
|ИЗ
|
||||
| Документ.ПС_ПринятиеЗадолженностиОтУчреждения КАК Документы
|
||||
|ГДЕ
|
||||
| (&Период = ДАТАВРЕМЯ(1, 1, 1)
|
||||
| ИЛИ Документы.Период >= &Период)
|
||||
| Документы.Период >= &НачалоПериода
|
||||
| И Документы.Период <= &КонецПериода
|
||||
| И (&Организация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Организация = &Организация)
|
||||
| ИЛИ Документы.Организация = &Организация)
|
||||
| И (&Учреждение = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.Учреждение = &Учреждение)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
| ИЛИ Документы.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Документы.Дата УБЫВ";
|
||||
|
||||
Запрос.УстановитьПараметр("Период", Объект.Период);
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено));
|
||||
Запрос.УстановитьПараметр("Учреждение", ?(ЗначениеЗаполнено(Объект.Учреждение), Объект.Учреждение, Неопределено));
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
@@ -179,8 +281,14 @@
|
||||
// Заполняет таблицу формы Сверка: сопоставляет суммы наших документов передачи
|
||||
// и принятия. Приёмка связана с передачей через реквизит ДокументПередачи.
|
||||
//
|
||||
// Параметры:
|
||||
// ЦБКонтрагент - CatalogRef.Контрагенты, Неопределено - ЦБ в виде контрагента
|
||||
// (документ передачи хранит ЦБ именно так); Неопределено - отбор не задан.
|
||||
// СадОрганизация - CatalogRef.Организации, Неопределено - учреждение (сад) в виде
|
||||
// организации; Неопределено - отбор по учреждению не задан.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьСверку()
|
||||
Процедура ЗаполнитьСверку(ЦБКонтрагент, СадОрганизация)
|
||||
|
||||
Сверка.Очистить();
|
||||
|
||||
@@ -215,22 +323,23 @@
|
||||
| ПО Передача.Ссылка = ВТПринято.ДокументПередачи
|
||||
|ГДЕ
|
||||
| НЕ Передача.ПометкаУдаления
|
||||
| И (&Период = ДАТАВРЕМЯ(1, 1, 1)
|
||||
| ИЛИ Передача.Период >= &Период)
|
||||
| И (&Организация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.Организация = &Организация)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.ИФО = &ИФО)
|
||||
| И Передача.Период >= &НачалоПериода
|
||||
| И Передача.Период <= &КонецПериода
|
||||
| И (&ЦБ = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.ЦБ = &ЦБ)
|
||||
| И (&Сад = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.Организация = &Сад)
|
||||
| И (&ИФО = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Передача.ИФО = &ИФО)
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Передача.Период,
|
||||
| Передача.Организация";
|
||||
|
||||
Запрос.УстановитьПараметр("Период", Объект.Период);
|
||||
Запрос.УстановитьПараметр("Организация", ?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено));
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("ЦБ", ЦБКонтрагент);
|
||||
Запрос.УстановитьПараметр("Сад", СадОрганизация);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
Запрос.УстановитьПараметр("ЦБ", ?(ЗначениеЗаполнено(Объект.ЦБ), Объект.ЦБ, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
@@ -247,8 +356,14 @@
|
||||
|
||||
ТаблицаОстатков.Очистить();
|
||||
|
||||
НачалоПериода = Объект.Период;
|
||||
КонецПериода = КонецМесяца(Объект.Период);
|
||||
Если ЗначениеЗаполнено(Объект.Учреждение) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Остатки и обороты по счетам ведутся без разреза по учреждению,"
|
||||
+ " поэтому отбор по учреждению на эту страницу не влияет.");
|
||||
КонецЕсли;
|
||||
|
||||
НачалоПериода = Объект.Период.ДатаНачала;
|
||||
КонецПериода = Объект.Период.ДатаОкончания;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
@@ -294,10 +409,19 @@
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| ОстаткиИОбороты.ИФО";
|
||||
|
||||
Счет205 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31");
|
||||
Счет304 = ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04");
|
||||
Если Счет205 = Неопределено ИЛИ Счет304 = Неопределено Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Остатки и обороты не рассчитаны: в плане счетов ЕПСБУ не найден счет"
|
||||
+ " 205.31 и/или 304.04.");
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
|
||||
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
|
||||
Запрос.УстановитьПараметр("Счет205", ПланыСчетов.ЕПСБУ.НайтиПоКоду("205.31"));
|
||||
Запрос.УстановитьПараметр("Счет304", ПланыСчетов.ЕПСБУ.НайтиПоКоду("304.04"));
|
||||
Запрос.УстановитьПараметр("Счет205", Счет205);
|
||||
Запрос.УстановитьПараметр("Счет304", Счет304);
|
||||
Запрос.УстановитьПараметр("ИФО", ?(ЗначениеЗаполнено(Объект.ИФО), Объект.ИФО, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
@@ -307,4 +431,78 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет таблицу формы КассовыеПоступления: документы с признаком "Родительская плата" за период
|
||||
// по установленным отборам.
|
||||
// Колонка "Строк не распознано" показывает строки расшифровки платежа, в которых не определён ребёнок, -
|
||||
// именно они требуют ручного доввода.
|
||||
//
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКассовыеПоступления()
|
||||
|
||||
КассовыеПоступления.Очистить();
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Поступления.Ссылка КАК Ссылка,
|
||||
| Поступления.Дата КАК Дата,
|
||||
| Поступления.Номер КАК Номер,
|
||||
| Поступления.Организация КАК Организация,
|
||||
| Поступления.СуммаДокумента КАК СуммаДокумента,
|
||||
| Поступления.Проведен КАК Проведен,
|
||||
| Поступления.ПометкаУдаления КАК ПометкаУдаления,
|
||||
| КОЛИЧЕСТВО(СтрокиПлатежа.НомерСтроки) КАК СтрокВсего,
|
||||
| КОЛИЧЕСТВО(СтрокиПлатежа.Ребенок) КАК СтрокРаспознано
|
||||
|ИЗ
|
||||
| Документ.КассовоеПоступление КАК Поступления
|
||||
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.КассовоеПоступление.РасшифровкаПлатежа КАК СтрокиПлатежа
|
||||
| ПО СтрокиПлатежа.Ссылка = Поступления.Ссылка
|
||||
|ГДЕ
|
||||
| Поступления.РодительскаяПлата
|
||||
| И Поступления.Дата >= &НачалоПериода
|
||||
| И Поступления.Дата <= &КонецПериода
|
||||
| И (&Организация = НЕОПРЕДЕЛЕНО
|
||||
| ИЛИ Поступления.Организация = &Организация)
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| Поступления.Ссылка,
|
||||
| Поступления.Дата,
|
||||
| Поступления.Номер,
|
||||
| Поступления.Организация,
|
||||
| Поступления.СуммаДокумента,
|
||||
| Поступления.Проведен,
|
||||
| Поступления.ПометкаУдаления
|
||||
|УПОРЯДОЧИТЬ ПО
|
||||
| Поступления.Дата УБЫВ";
|
||||
Запрос.УстановитьПараметр("НачалоПериода", Объект.Период.ДатаНачала);
|
||||
Запрос.УстановитьПараметр("КонецПериода", Объект.Период.ДатаОкончания);
|
||||
Запрос.УстановитьПараметр("Организация",
|
||||
?(ЗначениеЗаполнено(Объект.Организация), Объект.Организация, Неопределено));
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
НоваяСтрока = КассовыеПоступления.Добавить();
|
||||
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
|
||||
НоваяСтрока.СтрокНеРаспознано = Выборка.СтрокВсего - Выборка.СтрокРаспознано;
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Проверяет, что в периоде заданы обе границы. Если нет - выводит сообщение пользователю.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если период заполнен.
|
||||
//
|
||||
&НаСервере
|
||||
Функция ПериодЗаполненНаСервере()
|
||||
|
||||
Если ЗначениеЗаполнено(Объект.Период.ДатаНачала) И ЗначениеЗаполнено(Объект.Период.ДатаОкончания) Тогда
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не задан период. Укажите период в поле «Период» и повторите действие.");
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
+21
-16
@@ -7,23 +7,16 @@
|
||||
<name>ПС_УправлениеРасчетамиПоРодительскойПлате</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Управление расчётами по родительской плате</value>
|
||||
<value>Управление расчетами по родительской плате</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<defaultForm>DataProcessor.ПС_УправлениеРасчетамиПоРодительскойПлате.Form.Форма</defaultForm>
|
||||
<attributes uuid="0a2328ea-8c92-41d2-9fda-ddcfc6438871">
|
||||
<name>Период</name>
|
||||
<type>
|
||||
<types>Date</types>
|
||||
<dateQualifiers>
|
||||
<dateFractions>Date</dateFractions>
|
||||
</dateQualifiers>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</attributes>
|
||||
<attributes uuid="8ba2ed84-803b-4eee-96d0-ceda4c49c7fc">
|
||||
<name>Организация</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Организация (ЦБ)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Организации</types>
|
||||
</type>
|
||||
@@ -38,11 +31,11 @@
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</attributes>
|
||||
<attributes uuid="09d6feb5-faea-4769-8218-3475fcef030e">
|
||||
<name>ЦБ</name>
|
||||
<attributes uuid="3a7f454b-b61c-40ac-94ac-f4c12c18acdd">
|
||||
<name>Учреждение</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>ЦБ (получатель)</value>
|
||||
<value>Учреждение (сад)</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>CatalogRef.Контрагенты</types>
|
||||
@@ -50,11 +43,23 @@
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</attributes>
|
||||
<attributes uuid="a851b6c8-10cf-4dc4-bf9d-cfe15106beb0">
|
||||
<name>Период</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Период</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>StandardPeriod</types>
|
||||
</type>
|
||||
<minValue xsi:type="core:UndefinedValue"/>
|
||||
<maxValue xsi:type="core:UndefinedValue"/>
|
||||
</attributes>
|
||||
<forms uuid="fd341daa-bbe0-4bb0-8c9c-cabc60a92ce4">
|
||||
<name>Форма</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Управление расчётами по родительской плате</value>
|
||||
<value>Управление расчетами по родительской плате</value>
|
||||
</synonym>
|
||||
</forms>
|
||||
</mdclass:DataProcessor>
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
// Расширение модуля объекта документа КассовоеПоступление: идентификация контрагента (ребёнка)
|
||||
// по назначению платежа в строках табличной части "Расшифровка платежа".
|
||||
// Работает только для документов с признаком "Родительская плата":
|
||||
// автозаполнение контрагента и договора в строках расшифровки.
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
#Если Сервер Тогда
|
||||
|
||||
&После("ПередЗаписью")
|
||||
Процедура ПС_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
|
||||
|
||||
Если ОбменДанными.Загрузка Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПС_РазборПлатежейПоРодительскойПлате.ЗаполнитьКонтрагентовПоНазначениюПлатежа(ЭтотОбъект);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&После("ОбработкаПроведения")
|
||||
Процедура ПС_ОбработкаПроведения(Отказ, РежимПроведения)
|
||||
|
||||
Если НЕ РодительскаяПлата Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Оплата закрывает задолженность, принятую от учреждения. Переплата допускается -
|
||||
// она даёт отрицательный (кредитовый) остаток по ребёнку. Строки без определённого
|
||||
// ребёнка или договора пропускаются: это не оплата родительской платы.
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить();
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
|
||||
|
||||
СтрокиОплаты = Новый Массив;
|
||||
Дети = Новый Массив;
|
||||
|
||||
Для Каждого СтрокаРасшифровки Из РасшифровкаПлатежа Цикл
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаРасшифровки.Ребенок)
|
||||
Или НЕ ЗначениеЗаполнено(СтрокаРасшифровки.Договор) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
СтрокиОплаты.Добавить(СтрокаРасшифровки);
|
||||
Дети.Добавить(СтрокаРасшифровки.Ребенок);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если СтрокиОплаты.Количество() = 0 Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
// Сады детей загружаем одним запросом, контрагента сада ищем по одному разу на сад:
|
||||
// обращение к базе внутри цикла по строкам недопустимо.
|
||||
ОрганизацииСадов = ПС_ОрганизацииСадовДетей(Дети);
|
||||
КонтрагентыСадов = Новый Соответствие;
|
||||
|
||||
Для Каждого СтрокаРасшифровки Из СтрокиОплаты Цикл
|
||||
|
||||
ОрганизацияСада = ОрганизацииСадов[СтрокаРасшифровки.Ребенок];
|
||||
|
||||
КонтрагентСада = КонтрагентыСадов[ОрганизацияСада];
|
||||
Если КонтрагентСада = Неопределено Тогда
|
||||
КонтрагентСада = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ОрганизацияСада, "Учреждение");
|
||||
КонтрагентыСадов.Вставить(ОрганизацияСада, КонтрагентСада);
|
||||
КонецЕсли;
|
||||
|
||||
Движение = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьРасход();
|
||||
Движение.Период = Дата;
|
||||
Движение.Организация = Организация;
|
||||
Движение.Учреждение = КонтрагентСада;
|
||||
Движение.Плательщик = СтрокаРасшифровки.Контрагент;
|
||||
Движение.Ребенок = СтрокаРасшифровки.Ребенок;
|
||||
Движение.Договор = СтрокаРасшифровки.Договор;
|
||||
Движение.ИФО = ИФО;
|
||||
Движение.КФО = СтрокаРасшифровки.КФО;
|
||||
Движение.КПС = СтрокаРасшифровки.КБКНазначениеПлатежа;
|
||||
Движение.Сумма = СтрокаРасшифровки.Сумма;
|
||||
Движение.ВидОперации = Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.Оплата;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Если Сервер Тогда
|
||||
|
||||
// Возвращает организации детских садов по детям одним запросом.
|
||||
//
|
||||
// Параметры:
|
||||
// Дети - Массив из СправочникСсылка.Дети - дети, по которым нужно определить сад.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие из СправочникСсылка.Дети, СправочникСсылка.Организации - организация сада по ребёнку.
|
||||
//
|
||||
Функция ПС_ОрганизацииСадовДетей(Дети)
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
Если Дети.Количество() = 0 Тогда
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ
|
||||
| Дети.Ссылка КАК Ссылка,
|
||||
| Дети.Организация КАК Организация
|
||||
|ИЗ
|
||||
| Справочник.Дети КАК Дети
|
||||
|ГДЕ
|
||||
| Дети.Ссылка В (&Дети)";
|
||||
Запрос.УстановитьПараметр("Дети", Дети);
|
||||
|
||||
Выборка = Запрос.Выполнить().Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
Результат.Вставить(Выборка.Ссылка, Выборка.Организация);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
#КонецОбласти
|
||||
@@ -0,0 +1,175 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" xmlns:mdclassExtension="http://g5.1c.ru/v8/dt/metadata/mdclass/extension" uuid="5fca2761-f404-416b-b674-85666d26f29f" extendedConfigurationObject="7d23bff6-f606-4b00-ab46-d9cd56641418">
|
||||
<producedTypes>
|
||||
<objectType typeId="c4b9cbb9-5ed6-4bea-9699-8ddcab47bacd" valueTypeId="91ce3d5e-c635-4c29-a2dc-2928f5ca5ce0"/>
|
||||
<refType typeId="322f06af-c7bb-4244-bacf-74171c89866d" valueTypeId="7fda77f7-c721-45b2-b265-77ce62898c0c"/>
|
||||
<selectionType typeId="b7c5a6c9-270f-40c2-accd-acd843c42149" valueTypeId="90c2fc8b-77a9-4543-a294-85b5be3ea6d1"/>
|
||||
<listType typeId="cb240f75-3367-4d64-95e2-4a04a560d463" valueTypeId="fd33cc36-67ca-41fd-95c2-9ee9e42dd28e"/>
|
||||
<managerType typeId="f5d96ea3-f64c-4783-ab8c-c0d0366d9891" valueTypeId="0ac6ffd1-7d0a-4ba8-b932-2304129fef13"/>
|
||||
</producedTypes>
|
||||
<name>КассовоеПоступление</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:DocumentExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<objectModule>Extended</objectModule>
|
||||
</extension>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<registerRecords>AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате</registerRecords>
|
||||
<attributes uuid="13e29051-606d-4958-80df-d412f0cfb707" extendedConfigurationObject="f996910c-0b35-4d4c-ae54-8ce484d73d73">
|
||||
<name>РодительскаяПлата</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>Boolean</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="20b39d8b-31da-4d06-b74b-2d2ae311755f" extendedConfigurationObject="702563c4-9469-4156-8b30-7127dc96373f">
|
||||
<name>Организация</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>CatalogRef.Организации</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="46f256a7-13f3-4252-94dd-53ffaa533da6" extendedConfigurationObject="e32b8e33-d5a1-4680-931f-d7c381e7bdab">
|
||||
<name>КорСчет</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>ChartOfAccountsRef.ЕПСБУ</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="a5244829-6ed2-466e-817c-c8ce725bc8fc" extendedConfigurationObject="3652995d-870a-4021-8df6-a43954255c93">
|
||||
<name>ИФО</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>CatalogRef.ИсточникиФинансовогоОбеспечения</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<tabularSections uuid="40417ccc-a454-4bb9-a74c-f8150b492c9f" extendedConfigurationObject="0a9b60b8-475c-473a-91cb-4d95e43cda42">
|
||||
<producedTypes>
|
||||
<objectType typeId="668209f2-40e6-477a-abaa-0a0dc15c5871" valueTypeId="b74feb93-3bd4-43e9-b8fb-1706a87c91d1"/>
|
||||
<rowType typeId="7ddd4abd-d656-4ce2-b8a3-5e7534f92a32" valueTypeId="3210cbf0-f713-4b9f-a091-6acdc942eed3"/>
|
||||
</producedTypes>
|
||||
<name>РасшифровкаПлатежа</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:MdObjectExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
</extension>
|
||||
<attributes uuid="3a010b58-37ba-462f-967c-83e3bea9e479" extendedConfigurationObject="96f21d3c-d836-420d-90d3-d509bcedf20f">
|
||||
<name>Примечание</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>String</type>
|
||||
</types>
|
||||
<stringQualifiers>
|
||||
<length>254</length>
|
||||
</stringQualifiers>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="517e14f2-e789-4369-b179-f4a5178580d7" extendedConfigurationObject="e4841663-2897-43e2-961e-8d7a7d240435">
|
||||
<name>Контрагент</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>CatalogRef.Контрагенты</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="876433ef-6ae6-4a08-b28e-d3d18b20fbaa" extendedConfigurationObject="431cf743-97d7-485d-805b-71dc8491ec87">
|
||||
<name>Договор</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>CatalogRef.Договоры</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="e29aec29-71d7-442e-a5e9-dd7a03ba8e24" extendedConfigurationObject="f64ab9eb-35d5-4389-899a-f3c03a45584c">
|
||||
<name>КОСГУНазначениеПлатежа</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>CatalogRef.КОСГУ</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="1fccc6fd-5731-4e9d-8288-2a6e0e881e03" extendedConfigurationObject="d11d56e7-62bd-42ed-ab54-0a6a8c63ad17">
|
||||
<name>СчетРасчетов</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>ChartOfAccountsRef.ЕПСБУ</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="2ad80cb2-213f-45e6-8072-06eddb7eed53" extendedConfigurationObject="cca2c46b-481e-439c-b73f-3540b1d427c2">
|
||||
<name>Ребенок</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>CatalogRef.Дети</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
<attributes uuid="e400dffa-8345-40fa-8f6b-739540ff8e1c" extendedConfigurationObject="861acf95-375a-4f40-a340-dbd59af27e73">
|
||||
<name>КФО</name>
|
||||
<objectBelonging>Adopted</objectBelonging>
|
||||
<extension xsi:type="mdclassExtension:BasicFeatureExtension">
|
||||
<extendedConfigurationObject>Checked</extendedConfigurationObject>
|
||||
<typeExtension>
|
||||
<types>
|
||||
<state>Checked</state>
|
||||
<type>EnumRef.КВД</type>
|
||||
</types>
|
||||
</typeExtension>
|
||||
</extension>
|
||||
</attributes>
|
||||
</tabularSections>
|
||||
</mdclass:Document>
|
||||
+256
-49
@@ -4,7 +4,7 @@
|
||||
<name>ГруппаОрганизаций</name>
|
||||
<id>71</id>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаОрганизацииИДокумента</name>
|
||||
<name>ГруппаОрганизацииИПериода</name>
|
||||
<id>96</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Организация</name>
|
||||
@@ -55,52 +55,6 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</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>
|
||||
<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>13</id>
|
||||
@@ -150,10 +104,10 @@
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Группа организации и документа</value>
|
||||
<value>Группа организации и периода</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаОрганизацииИДокументаРасширеннаяПодсказка</name>
|
||||
<name>ГруппаОрганизацииИПериодаРасширеннаяПодсказка</name>
|
||||
<id>97</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
@@ -918,6 +872,93 @@
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаСтраницыОперации</name>
|
||||
<id>94</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>ПередачаСальдо</name>
|
||||
<id>98</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>
|
||||
<handlers>
|
||||
<event>OnChange</event>
|
||||
<name>ПередачаСальдоПриИзменении</name>
|
||||
</handlers>
|
||||
<extendedTooltip>
|
||||
<name>ПередачаСальдоРасширеннаяПодсказка</name>
|
||||
<id>100</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</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>
|
||||
<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>22</id>
|
||||
@@ -1005,6 +1046,130 @@
|
||||
<textSize>Normal</textSize>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormGroup">
|
||||
<name>ГруппаКорреспондентующегоСчёта</name>
|
||||
<id>109</id>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>СчетКорреспондент</name>
|
||||
<id>101</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>103</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СчетКорреспондентКонтекстноеМеню</name>
|
||||
<id>102</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</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:FormField">
|
||||
<name>КЭККорреспондент</name>
|
||||
<id>104</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>106</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КЭККорреспондентКонтекстноеМеню</name>
|
||||
<id>105</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</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>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<title>
|
||||
<key>ru</key>
|
||||
<value>Корреспондентующий счёт</value>
|
||||
</title>
|
||||
<extendedTooltip>
|
||||
<name>ГруппаКорреспондентующегоСчётаРасширеннаяПодсказка</name>
|
||||
<id>110</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>
|
||||
<representation>NormalSeparation</representation>
|
||||
<showLeftMargin>true</showLeftMargin>
|
||||
<united>true</united>
|
||||
<showTitle>true</showTitle>
|
||||
<throughAlign>Auto</throughAlign>
|
||||
<currentRowUse>Auto</currentRowUse>
|
||||
</extInfo>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Комментарий</name>
|
||||
<id>87</id>
|
||||
@@ -1258,6 +1423,32 @@
|
||||
<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>
|
||||
<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,6 +1534,22 @@
|
||||
</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>
|
||||
</handler>
|
||||
</action>
|
||||
</formCommands>
|
||||
<commandInterface>
|
||||
<navigationPanel/>
|
||||
<commandBar/>
|
||||
|
||||
+196
@@ -12,6 +12,12 @@
|
||||
// КПС определяется автоматически по настройкам учётной политики.
|
||||
Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина;
|
||||
|
||||
// Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию.
|
||||
// В режиме передачи начального сальдо скрывается документ начисления и появляется
|
||||
// команда заполнения по остаткам счёта 205.31.
|
||||
ЗаполнитьКорреспондирующийСчетПоУмолчанию();
|
||||
ОбновитьВидимостьРеквизитовРежимаСальдо();
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
Основание = Неопределено;
|
||||
Если Параметры.Свойство("Основание", Основание)
|
||||
@@ -105,10 +111,27 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ЗаполнитьПоОстаткам20531(Команда)
|
||||
|
||||
ЗаполнитьПоОстаткам20531НаСервере();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ОбработчикиСобытийЭлементовФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПередачаСальдоПриИзменении(Элемент)
|
||||
|
||||
// В режиме сальдо поле документа начисления скрывается, команда заполнения по остаткам - показывается.
|
||||
РежимСальдо = (Объект.ПередачаСальдо = Истина);
|
||||
Элементы.ЗаполнитьПоОстаткам20531.Видимость = РежимСальдо;
|
||||
Элементы.ДокументНачисления.Видимость = НЕ РежимСальдо;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ДокументНачисленияПриИзменении(Элемент)
|
||||
|
||||
@@ -139,6 +162,179 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда
|
||||
Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда
|
||||
Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ОбновитьВидимостьРеквизитовРежимаСальдо()
|
||||
|
||||
// В режиме начального сальдо документ начисления не используется: его поле скрывается,
|
||||
// а вместо него доступна команда заполнения по остаткам счёта 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.Код + " на " + ДатаДокумента + " есть ("
|
||||
+ ВсегоСтрок + " стр.), но не отобраны по организации " + Строка(Объект.Организация)
|
||||
+ " и/или по субконто счёта. Проверьте организацию в документе.");
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПоДокументуНачисленияНаСервере(ДокументНачисленияСсылка)
|
||||
|
||||
|
||||
+41
-12
@@ -82,17 +82,20 @@
|
||||
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
|
||||
Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок");
|
||||
|
||||
СчетДт = БухгалтерскийУчет.СчетПоКоду("304.04", Дата, Организация);
|
||||
СчетКт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация);
|
||||
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
|
||||
|
||||
// КЭК счёта 304.04 несёт экономический смысл операции: для доходной операции это КЭК
|
||||
// счёта 401.10 проводок документа начисления. Автоматически он не определяется.
|
||||
КЭК30404 = ПС_УчетРодительскойПлаты.КЭКПоЭкономическомуСмыслу(ДокументНачисления);
|
||||
Если НЕ ЗначениеЗаполнено(КЭК30404) Тогда
|
||||
КЭК30404 = КЭКПроводки(СчетДт, "Дт", ЦБ);
|
||||
// Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК задаются реквизитами
|
||||
// документа (по умолчанию 304.04 и 131) и могут быть изменены пользователем.
|
||||
СчетДт = СчетКорреспондент;
|
||||
Если НЕ ЗначениеЗаполнено(СчетДт) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.",
|
||||
, "СчетКорреспондент", "Объект", Отказ);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
|
||||
|
||||
// КПС строк наследуется из проводок документа начисления (см. ЗаполнитьКПССтрок),
|
||||
// КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ).
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
@@ -106,7 +109,7 @@
|
||||
Движение.СчетКт = СчетКт;
|
||||
Движение.КПСДт = СтрокаЗадолженности.КПС;
|
||||
Движение.КПСКт = СтрокаЗадолженности.КПС;
|
||||
Движение.КЭКДт = КЭК30404;
|
||||
Движение.КЭКДт = КЭККорреспондент;
|
||||
Движение.КЭККт = КЭКПроводки(СчетКт, "Кт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор);
|
||||
Движение.Сумма = СтрокаЗадолженности.Сумма;
|
||||
Движение.ЖурналОпераций = ЖурналОпераций;
|
||||
@@ -141,6 +144,8 @@
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
|
||||
|
||||
ЗаполнитьРеквизитыПоУмолчанию();
|
||||
|
||||
СуммаДокумента = Задолженность.Итог("Сумма");
|
||||
ЗаполнитьКПССтрок();
|
||||
|
||||
@@ -156,7 +161,7 @@
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнен получатель - ЦБ (администратор доходов)", , "ЦБ", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ДокументНачисления) Тогда
|
||||
Если НЕ ПередачаСальдо И НЕ ЗначениеЗаполнено(ДокументНачисления) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю("Не заполнен документ начисления родительской платы", , "ДокументНачисления", "Объект", Отказ);
|
||||
КонецЕсли;
|
||||
|
||||
@@ -169,9 +174,12 @@
|
||||
Иначе
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен КПС строки табличной части ""Задолженность"". Заполнение возможно только на основании проведённого документа начисления родительской платы.",
|
||||
, "Задолженность", "Объект", Отказ);
|
||||
ТекстСообщения = "Не заполнен КПС строки табличной части ""Задолженность"".";
|
||||
Если НЕ ПередачаСальдо Тогда
|
||||
ТекстСообщения = ТекстСообщения
|
||||
+ " Заполнение возможно только на основании проведённого документа начисления родительской платы.";
|
||||
КонецЕсли;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "Задолженность", "Объект", Отказ);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -188,11 +196,32 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК
|
||||
// значениями по умолчанию, если они не заданы пользователем.
|
||||
//
|
||||
Процедура ЗаполнитьРеквизитыПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда
|
||||
СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда
|
||||
КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет строки табличной части "Задолженность" КПС, унаследованным
|
||||
// из проводок документа начисления родительской платы.
|
||||
//
|
||||
Процедура ЗаполнитьКПССтрок()
|
||||
|
||||
// В режиме передачи начального сальдо КПС строк заполняется по остаткам счёта 205.31,
|
||||
// а не по проводкам документа начисления.
|
||||
Если ПередачаСальдо Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ПС_УчетРодительскойПлаты.ЗаполнитьРеквизитыУчетаПоПроводкам(ЭтотОбъект, ДокументНачисления);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
+45
@@ -177,6 +177,51 @@
|
||||
<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>
|
||||
<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="3d0b977e-c42f-432a-af48-c0b8b6b12d7d">
|
||||
<name>СчетКорреспондент</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Счет корреспондирующий</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>ChartOfAccountsRef.ЕПСБУ</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>
|
||||
|
||||
+127
@@ -1014,6 +1014,133 @@
|
||||
<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>
|
||||
<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>99</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>СчетКорреспондентКонтекстноеМеню</name>
|
||||
<id>98</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</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:FormField">
|
||||
<name>КЭККорреспондент</name>
|
||||
<id>100</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>102</id>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>КЭККорреспондентКонтекстноеМеню</name>
|
||||
<id>101</id>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>InputField</type>
|
||||
<editMode>Enter</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>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
|
||||
+25
@@ -12,6 +12,10 @@
|
||||
// КПС определяется автоматически по настройкам учётной политики.
|
||||
Элементы.ЗадолженностьКПС.ТолькоПросмотр = Истина;
|
||||
|
||||
// Счёт, корреспондирующий со счётом 205.31, и его КЭК: значения по умолчанию
|
||||
// (в режиме начального сальдо наследуются из документа передачи).
|
||||
ЗаполнитьКорреспондирующийСчетПоУмолчанию();
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
|
||||
Основание = Неопределено;
|
||||
Если Параметры.Свойство("Основание", Основание)
|
||||
@@ -115,6 +119,19 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьКорреспондирующийСчетПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.СчетКорреспондент) Тогда
|
||||
Объект.СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Объект.КЭККорреспондент) Тогда
|
||||
Объект.КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
&НаСервере
|
||||
Процедура ЗаполнитьПоДокументуПередачиНаСервере(ДокументПередачиСсылка)
|
||||
|
||||
@@ -168,6 +185,14 @@
|
||||
Объект.Ответственный = ВыборкаШапка.Ответственный;
|
||||
Объект.Период = ВыборкаШапка.Период;
|
||||
Объект.ДокументПередачи = ДокументПередачиСсылка;
|
||||
|
||||
// Режим начального сальдо и корреспондирующий счёт с КЭК наследуются от документа передачи.
|
||||
РеквизитыПередачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДокументПередачиСсылка,
|
||||
"ПередачаСальдо, СчетКорреспондент, КЭККорреспондент");
|
||||
Объект.ПередачаСальдо = РеквизитыПередачи.ПередачаСальдо;
|
||||
Объект.СчетКорреспондент = РеквизитыПередачи.СчетКорреспондент;
|
||||
Объект.КЭККорреспондент = РеквизитыПередачи.КЭККорреспондент;
|
||||
|
||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда
|
||||
Объект.ИФО = ВыборкаШапка.ИФО;
|
||||
КонецЕсли;
|
||||
|
||||
+67
-13
@@ -2,6 +2,8 @@
|
||||
// Сторона ЦБ: Дт 205.31.56X — Кт 304.04.130.
|
||||
// Проводки формируются в процедуре ОбработкаПроведения прямым заполнением
|
||||
// набора записей регистра бухгалтерии ЖурналПроводокЕПСБУ.
|
||||
// Кроме проводок документ формирует приход в регистре накопления
|
||||
// ПС_ВзаиморасчетыПоРодительскойПлате (принятая от учреждения задолженность).
|
||||
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
@@ -26,7 +28,10 @@
|
||||
| ПередачаЗадолженности.ИФО КАК ИФО,
|
||||
| ПередачаЗадолженности.Ответственный КАК Ответственный,
|
||||
| ПередачаЗадолженности.Период КАК Период,
|
||||
| ПередачаЗадолженности.КФО КАК КФО
|
||||
| ПередачаЗадолженности.КФО КАК КФО,
|
||||
| ПередачаЗадолженности.ПередачаСальдо КАК ПередачаСальдо,
|
||||
| ПередачаЗадолженности.СчетКорреспондент КАК СчетКорреспондент,
|
||||
| ПередачаЗадолженности.КЭККорреспондент КАК КЭККорреспондент
|
||||
|ИЗ
|
||||
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК ПередачаЗадолженности
|
||||
|ГДЕ
|
||||
@@ -49,6 +54,10 @@
|
||||
Период = ВыборкаШапка.Период;
|
||||
КФО = ВыборкаШапка.КФО;
|
||||
ДокументПередачи = ДанныеЗаполнения;
|
||||
// Режим начального сальдо и корреспондирующий счёт с КЭК наследуются от передачи.
|
||||
ПередачаСальдо = ВыборкаШапка.ПередачаСальдо;
|
||||
СчетКорреспондент = ВыборкаШапка.СчетКорреспондент;
|
||||
КЭККорреспондент = ВыборкаШапка.КЭККорреспондент;
|
||||
// Учёт по ИФО ведётся только при включённой функциональной опции.
|
||||
Если ПолучитьФункциональнуюОпцию("ИспользоватьУчетПоИФО") Тогда
|
||||
ИФО = ВыборкаШапка.ИФО;
|
||||
@@ -88,17 +97,23 @@
|
||||
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
|
||||
Движения.ЖурналПроводокЕПСБУ.ДополнительныеСвойства.Вставить("НеФормироватьУчетныеДанныеИзПроводок");
|
||||
|
||||
СчетДт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация);
|
||||
СчетКт = БухгалтерскийУчет.СчетПоКоду("304.04", Дата, Организация);
|
||||
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Очистить();
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
|
||||
|
||||
// КЭК счёта 304.04 несёт экономический смысл операции и берётся из проводок документа передачи
|
||||
// (КЭК счёта 401.10, унаследованный от документа начисления). Автоматически он не определяется.
|
||||
КЭК30404 = ПС_УчетРодительскойПлаты.КЭКПоЭкономическомуСмыслу(ДокументПередачи);
|
||||
Если НЕ ЗначениеЗаполнено(КЭК30404) Тогда
|
||||
КЭК30404 = КЭКПроводки(СчетКт, "Кт", Учреждение);
|
||||
СчетДт = БухгалтерскийУчет.СчетПоКоду("205.31", Дата, Организация);
|
||||
|
||||
// Счёт, корреспондирующий со счётом расчётов по доходам, и его КЭК наследуются
|
||||
// из документа передачи (заполняются при вводе на основании).
|
||||
СчетКт = СчетКорреспондент;
|
||||
Если НЕ ЗначениеЗаполнено(СчетКт) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен счёт, корреспондирующий со счётом 205.31. Проведение невозможно.",
|
||||
, "СчетКорреспондент", "Объект", Отказ);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЖурналОпераций = БухгалтерскийУчетПовтИсп.НомерЖурнала(СчетДт, СчетКт);
|
||||
|
||||
// КПС строк наследуется из проводок документа передачи (см. ЗаполнитьКПССтрок),
|
||||
// КЭК счёта 205.31 определяется по настройкам счёта и типу контрагента (подстатья КОСГУ).
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
@@ -113,7 +128,7 @@
|
||||
Движение.КПСДт = СтрокаЗадолженности.КПС;
|
||||
Движение.КПСКт = СтрокаЗадолженности.КПС;
|
||||
Движение.КЭКДт = КЭКПроводки(СчетДт, "Дт", СтрокаЗадолженности.Контрагент, СтрокаЗадолженности.Договор);
|
||||
Движение.КЭККт = КЭК30404;
|
||||
Движение.КЭККт = КЭККорреспондент;
|
||||
Движение.Сумма = СтрокаЗадолженности.Сумма;
|
||||
Движение.ЖурналОпераций = ЖурналОпераций;
|
||||
Движение.Содержание = "Принятие задолженности по родительской плате от учреждения";
|
||||
@@ -122,6 +137,24 @@
|
||||
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Договоры] = СтрокаЗадолженности.Договор;
|
||||
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.КорреспондентыПоВнутреннимРасчетам] = Учреждение;
|
||||
|
||||
// Взаиморасчеты по родительской плате: принятая от учреждения задолженность.
|
||||
ДвижениеПС = Движения.ПС_ВзаиморасчетыПоРодительскойПлате.ДобавитьПриход();
|
||||
ДвижениеПС.Период = Дата;
|
||||
ДвижениеПС.Организация = Организация;
|
||||
ДвижениеПС.Учреждение = Учреждение;
|
||||
ДвижениеПС.Плательщик = СтрокаЗадолженности.Контрагент;
|
||||
ДвижениеПС.Ребенок = СтрокаЗадолженности.Ребенок;
|
||||
ДвижениеПС.Договор = СтрокаЗадолженности.Договор;
|
||||
ДвижениеПС.ИФО = ИФО;
|
||||
ДвижениеПС.КФО = КФО;
|
||||
ДвижениеПС.КПС = СтрокаЗадолженности.КПС;
|
||||
ДвижениеПС.Сумма = СтрокаЗадолженности.Сумма;
|
||||
ДвижениеПС.ВидОперации = ?(ПередачаСальдо,
|
||||
Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.НачальноеСальдо,
|
||||
Перечисления.ПС_ВидыОперацийПоВзаиморасчетам.ПринятоОтУчреждения);
|
||||
ДвижениеПС.ИДСтроки = СтрокаЗадолженности.ИДСтроки;
|
||||
ДвижениеПС.ДокументПередачи = ДокументПередачи;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// В конфигурации есть подписка на событие "ОбработкаПроведения" (ЗаписатьТаблицуПроводок),
|
||||
@@ -136,6 +169,7 @@
|
||||
Процедура ОбработкаУдаленияПроведения(Отказ)
|
||||
|
||||
Движения.ЖурналПроводокЕПСБУ.Записывать = Истина;
|
||||
Движения.ПС_ВзаиморасчетыПоРодительскойПлате.Записывать = Истина;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@@ -147,6 +181,8 @@
|
||||
|
||||
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
|
||||
|
||||
ЗаполнитьРеквизитыПоУмолчанию();
|
||||
|
||||
СуммаДокумента = Задолженность.Итог("Сумма");
|
||||
ЗаполнитьКПССтрок();
|
||||
|
||||
@@ -175,9 +211,12 @@
|
||||
Иначе
|
||||
Для Каждого СтрокаЗадолженности Из Задолженность Цикл
|
||||
Если НЕ ЗначениеЗаполнено(СтрокаЗадолженности.КПС) Тогда
|
||||
ОбщегоНазначения.СообщитьПользователю(
|
||||
"Не заполнен КПС строки табличной части ""Задолженность"". Заполнение возможно только на основании проведённого документа передачи задолженности.",
|
||||
, "Задолженность", "Объект", Отказ);
|
||||
ТекстСообщения = "Не заполнен КПС строки табличной части ""Задолженность"".";
|
||||
Если НЕ ПередачаСальдо Тогда
|
||||
ТекстСообщения = ТекстСообщения
|
||||
+ " Заполнение возможно только на основании проведённого документа передачи задолженности.";
|
||||
КонецЕсли;
|
||||
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения, , "Задолженность", "Объект", Отказ);
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@@ -194,6 +233,21 @@
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Заполняет счёт, корреспондирующий со счётом расчётов по доходам (205.31), и его КЭК
|
||||
// значениями по умолчанию, если они не заданы пользователем.
|
||||
//
|
||||
Процедура ЗаполнитьРеквизитыПоУмолчанию()
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(СчетКорреспондент) Тогда
|
||||
СчетКорреспондент = ПС_УчетРодительскойПлаты.СчетКорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(КЭККорреспондент) Тогда
|
||||
КЭККорреспондент = ПС_УчетРодительскойПлаты.КЭККорреспондентПоУмолчанию();
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет строки табличной части "Задолженность" КПС, унаследованным
|
||||
// из проводок документа передачи задолженности.
|
||||
//
|
||||
|
||||
+48
-2
@@ -10,7 +10,7 @@
|
||||
<name>ПС_ПринятиеЗадолженностиОтУчреждения</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Принятие начислений от учреждения</value>
|
||||
<value>Принятие в ЦБ начислений от учреждения</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
|
||||
@@ -22,7 +22,7 @@
|
||||
</objectPresentation>
|
||||
<listPresentation>
|
||||
<key>ru</key>
|
||||
<value>Принятие начислений от учреждения (ЦБ)</value>
|
||||
<value>Принятия в ЦБ начислений от учреждения</value>
|
||||
</listPresentation>
|
||||
<numberType>String</numberType>
|
||||
<numberLength>9</numberLength>
|
||||
@@ -31,6 +31,7 @@
|
||||
<autonumbering>true</autonumbering>
|
||||
<defaultObjectForm>Document.ПС_ПринятиеЗадолженностиОтУчреждения.Form.ФормаДокумента</defaultObjectForm>
|
||||
<registerRecords>AccountingRegister.ЖурналПроводокЕПСБУ</registerRecords>
|
||||
<registerRecords>AccumulationRegister.ПС_ВзаиморасчетыПоРодительскойПлате</registerRecords>
|
||||
<postInPrivilegedMode>true</postInPrivilegedMode>
|
||||
<unpostInPrivilegedMode>true</unpostInPrivilegedMode>
|
||||
<attributes uuid="0a164ea0-72d1-411d-b2c2-ece2a7fdc661">
|
||||
@@ -177,6 +178,51 @@
|
||||
<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>
|
||||
<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="7e10db10-f630-40fb-9169-909763dacf6e">
|
||||
<name>СчетКорреспондент</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Счет корреспондирующий</value>
|
||||
</synonym>
|
||||
<type>
|
||||
<types>ChartOfAccountsRef.ЕПСБУ</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="2f97f361-ee42-4267-905c-61db24e9229e">
|
||||
<name>ФормаДокумента</name>
|
||||
</forms>
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Enum xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c9bcdc89-c27e-4f8c-bc0a-06905e8fa88a">
|
||||
<producedTypes>
|
||||
<refType typeId="8e643ffb-3e16-46ca-871a-b96c9bd2b244" valueTypeId="3e7fa23a-26ae-441c-868e-be2454ae4222"/>
|
||||
<listType typeId="32fd9b41-329d-4ee2-9300-9b44a11a27fc" valueTypeId="7d6c762d-51f4-46f3-a374-7d8fd9282b09"/>
|
||||
<managerType typeId="4c293fd9-36e2-4c5a-af24-a367bf8d3734" valueTypeId="8bc8c7f8-f9b3-44ce-98fc-1c91ac1a7b57"/>
|
||||
</producedTypes>
|
||||
<name>ПС_ВидыОперацийПоВзаиморасчетам</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Виды операций по взаиморасчетам</value>
|
||||
</synonym>
|
||||
<quickChoice>true</quickChoice>
|
||||
<choiceMode>BothWays</choiceMode>
|
||||
<enumValues uuid="9201ca1d-ff23-49b6-ab2c-61b873778c0c">
|
||||
<name>ПринятоОтУчреждения</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Принято от учреждения</value>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
<enumValues uuid="b02c965c-6f81-40ef-b563-22c141f39ffd">
|
||||
<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>
|
||||
</synonym>
|
||||
</enumValues>
|
||||
</mdclass:Enum>
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
// Настраивает отчёт перед компоновкой результата.
|
||||
//
|
||||
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
|
||||
|
||||
УстановитьВыбранныеПоля();
|
||||
УстановитьПериодПоУмолчанию();
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Задаёт выбранные поля отчёта: учреждение и показатели оборотной ведомости.
|
||||
//
|
||||
// Состав колонок задаётся кодом, потому что в макете схемы выбранным полем задано только
|
||||
// учреждение, а добавить показатели в вариант настроек средствами метаданных нельзя.
|
||||
// Группировки и отборы при этом остаются настраиваемыми: все измерения набора данных
|
||||
// (учреждение, плательщик, ребенок, договор, период задолженности, ИФО, КФО, КПС)
|
||||
// доступны в настройках отчёта.
|
||||
//
|
||||
Процедура УстановитьВыбранныеПоля()
|
||||
|
||||
ВыбранныеПоля = КомпоновщикНастроек.Настройки.Выбор.Элементы;
|
||||
ВыбранныеПоля.Очистить();
|
||||
|
||||
ИменаПолей = Новый Массив;
|
||||
ИменаПолей.Добавить("Учреждение");
|
||||
ИменаПолей.Добавить("СуммаНачальныйОстаток");
|
||||
ИменаПолей.Добавить("СуммаПриход");
|
||||
ИменаПолей.Добавить("СуммаРасход");
|
||||
ИменаПолей.Добавить("СуммаКонечныйОстаток");
|
||||
|
||||
Для Каждого ИмяПоля Из ИменаПолей Цикл
|
||||
ВыбранноеПоле = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
|
||||
ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных(ИмяПоля);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Заполняет границы периода текущим месяцем, если они не заданы пользователем.
|
||||
//
|
||||
Процедура УстановитьПериодПоУмолчанию()
|
||||
|
||||
ЗначенияПараметров = КомпоновщикНастроек.Настройки.ПараметрыДанных;
|
||||
|
||||
Если ПериодЗадан(ЗначенияПараметров) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ТекущийМесяц = Новый СтандартныйПериод(ВариантСтандартногоПериода.ЭтотМесяц);
|
||||
ЗначенияПараметров.УстановитьЗначениеПараметра(
|
||||
Новый ПараметрКомпоновкиДанных("НачалоПериода"), ТекущийМесяц.ДатаНачала);
|
||||
ЗначенияПараметров.УстановитьЗначениеПараметра(
|
||||
Новый ПараметрКомпоновкиДанных("КонецПериода"), ТекущийМесяц.ДатаОкончания);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Проверяет, что в настройках заданы обе границы периода.
|
||||
//
|
||||
// Параметры:
|
||||
// ЗначенияПараметров - ЗначенияПараметровДанныхКомпоновкиДанных - настройки параметров данных.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Истина, если обе границы периода заполнены.
|
||||
//
|
||||
Функция ПериодЗадан(ЗначенияПараметров)
|
||||
|
||||
ЗначениеНачалаПериода = ЗначенияПараметров.НайтиЗначениеПараметра(
|
||||
Новый ПараметрКомпоновкиДанных("НачалоПериода"));
|
||||
ЗначениеКонцаПериода = ЗначенияПараметров.НайтиЗначениеПараметра(
|
||||
Новый ПараметрКомпоновкиДанных("КонецПериода"));
|
||||
|
||||
Если ЗначениеНачалаПериода = Неопределено ИЛИ ЗначениеКонцаПериода = Неопределено Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗначениеЗаполнено(ЗначениеНачалаПериода.Значение)
|
||||
И ЗначениеЗаполнено(ЗначениеКонцаПериода.Значение);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
+296
@@ -0,0 +1,296 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DataCompositionSchema xmlns="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcscom="http://v8.1c.ru/8.1/data-composition-system/common" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<dataSource>
|
||||
<name>ИсточникДанных1</name>
|
||||
<dataSourceType>Local</dataSourceType>
|
||||
</dataSource>
|
||||
<dataSet xsi:type="DataSetQuery">
|
||||
<name>НаборДанных1</name>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>Организация</dataPath>
|
||||
<field>Организация</field>
|
||||
<title xsi:type="xs:string">Организация</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.Организации</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>Учреждение</dataPath>
|
||||
<field>Учреждение</field>
|
||||
<title xsi:type="xs:string">Учреждение</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.Контрагенты</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>Плательщик</dataPath>
|
||||
<field>Плательщик</field>
|
||||
<title xsi:type="xs:string">Плательщик</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.Контрагенты</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>Ребенок</dataPath>
|
||||
<field>Ребенок</field>
|
||||
<title xsi:type="xs:string">Ребенок</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.Дети</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>Договор</dataPath>
|
||||
<field>Договор</field>
|
||||
<title xsi:type="xs:string">Договор</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.Договоры</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>ИФО</dataPath>
|
||||
<field>ИФО</field>
|
||||
<title xsi:type="xs:string">ИФО</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.ИсточникиФинансовогоОбеспечения</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>КФО</dataPath>
|
||||
<field>КФО</field>
|
||||
<title xsi:type="xs:string">КФО</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:EnumRef.КВД</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>КПС</dataPath>
|
||||
<field>КПС</field>
|
||||
<title xsi:type="xs:string">КПС</title>
|
||||
<valueType>
|
||||
<v8:Type xmlns:d5p1="http://v8.1c.ru/8.1/data/enterprise/current-config">d5p1:CatalogRef.КлассификационныеПризнакиСчетов</v8:Type>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>СуммаНачальныйОстаток</dataPath>
|
||||
<field>СуммаНачальныйОстаток</field>
|
||||
<title xsi:type="xs:string">СуммаНачальныйОстаток</title>
|
||||
<valueType>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>15</v8:Digits>
|
||||
<v8:FractionDigits>2</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>СуммаПриход</dataPath>
|
||||
<field>СуммаПриход</field>
|
||||
<title xsi:type="xs:string">СуммаПриход</title>
|
||||
<valueType>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>15</v8:Digits>
|
||||
<v8:FractionDigits>2</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>СуммаРасход</dataPath>
|
||||
<field>СуммаРасход</field>
|
||||
<title xsi:type="xs:string">СуммаРасход</title>
|
||||
<valueType>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>15</v8:Digits>
|
||||
<v8:FractionDigits>2</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</valueType>
|
||||
</field>
|
||||
<field xsi:type="DataSetFieldField">
|
||||
<dataPath>СуммаКонечныйОстаток</dataPath>
|
||||
<field>СуммаКонечныйОстаток</field>
|
||||
<title xsi:type="xs:string">СуммаКонечныйОстаток</title>
|
||||
<valueType>
|
||||
<v8:Type>xs:decimal</v8:Type>
|
||||
<v8:NumberQualifiers>
|
||||
<v8:Digits>15</v8:Digits>
|
||||
<v8:FractionDigits>2</v8:FractionDigits>
|
||||
<v8:AllowedSign>Any</v8:AllowedSign>
|
||||
</v8:NumberQualifiers>
|
||||
</valueType>
|
||||
</field>
|
||||
<dataSource>ИсточникДанных1</dataSource>
|
||||
<query>ВЫБРАТЬ
|
||||
Взаиморасчеты.Организация КАК Организация,
|
||||
Взаиморасчеты.Учреждение КАК Учреждение,
|
||||
Взаиморасчеты.Плательщик КАК Плательщик,
|
||||
Взаиморасчеты.Ребенок КАК Ребенок,
|
||||
Взаиморасчеты.Договор КАК Договор,
|
||||
Взаиморасчеты.ИФО КАК ИФО,
|
||||
Взаиморасчеты.КФО КАК КФО,
|
||||
Взаиморасчеты.КПС КАК КПС,
|
||||
Взаиморасчеты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
|
||||
Взаиморасчеты.СуммаПриход КАК СуммаПриход,
|
||||
Взаиморасчеты.СуммаРасход КАК СуммаРасход,
|
||||
Взаиморасчеты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток
|
||||
ИЗ
|
||||
РегистрНакопления.ПС_ВзаиморасчетыПоРодительскойПлате.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто) КАК Взаиморасчеты</query>
|
||||
</dataSet>
|
||||
<totalField>
|
||||
<dataPath>СуммаКонечныйОстаток</dataPath>
|
||||
<expression>Сумма(СуммаКонечныйОстаток)</expression>
|
||||
</totalField>
|
||||
<totalField>
|
||||
<dataPath>СуммаНачальныйОстаток</dataPath>
|
||||
<expression>Сумма(СуммаНачальныйОстаток)</expression>
|
||||
</totalField>
|
||||
<totalField>
|
||||
<dataPath>СуммаПриход</dataPath>
|
||||
<expression>Сумма(СуммаПриход)</expression>
|
||||
</totalField>
|
||||
<totalField>
|
||||
<dataPath>СуммаРасход</dataPath>
|
||||
<expression>Сумма(СуммаРасход)</expression>
|
||||
</totalField>
|
||||
<parameter>
|
||||
<name>НачалоПериода</name>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Начало периода</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
<valueType>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>DateTime</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</valueType>
|
||||
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
|
||||
<useRestriction>false</useRestriction>
|
||||
<use>Always</use>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<name>КонецПериода</name>
|
||||
<title xsi:type="v8:LocalStringType">
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Конец периода</v8:content>
|
||||
</v8:item>
|
||||
</title>
|
||||
<valueType>
|
||||
<v8:Type>xs:dateTime</v8:Type>
|
||||
<v8:DateQualifiers>
|
||||
<v8:DateFractions>DateTime</v8:DateFractions>
|
||||
</v8:DateQualifiers>
|
||||
</valueType>
|
||||
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
|
||||
<useRestriction>false</useRestriction>
|
||||
<use>Always</use>
|
||||
</parameter>
|
||||
<defaultSettings xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
|
||||
<dcsset:selection>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>Учреждение</dcsset:field>
|
||||
</dcsset:item>
|
||||
</dcsset:selection>
|
||||
<dcsset:dataParameters>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>НачалоПериода</dcscor:parameter>
|
||||
<dcscor:value xsi:type="xs:dateTime">0001-01-01T00:00:00</dcscor:value>
|
||||
</dcscor:item>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:parameter>КонецПериода</dcscor:parameter>
|
||||
<dcscor:value xsi:type="xs:dateTime">0001-01-01T00:00:00</dcscor:value>
|
||||
</dcscor:item>
|
||||
</dcsset:dataParameters>
|
||||
<dcsset:item xsi:type="dcsset:StructureItemGroup">
|
||||
<dcsset:groupItems>
|
||||
<dcsset:item xsi:type="dcsset:GroupItemField">
|
||||
<dcsset:field>Учреждение</dcsset:field>
|
||||
<dcsset:groupType>Items</dcsset:groupType>
|
||||
<dcsset:periodAdditionType>None</dcsset:periodAdditionType>
|
||||
</dcsset:item>
|
||||
</dcsset:groupItems>
|
||||
</dcsset:item>
|
||||
</defaultSettings>
|
||||
<settingsVariant>
|
||||
<dcsset:name>Основной</dcsset:name>
|
||||
<dcsset:presentation xsi:type="xs:string">По учреждениям</dcsset:presentation>
|
||||
<dcsset:settings xmlns:pal="http://v8.1c.ru/8.1/data/ui/colors/palette" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
|
||||
<dcsset:selection>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>Учреждение</dcsset:field>
|
||||
</dcsset:item>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>Ребенок</dcsset:field>
|
||||
</dcsset:item>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>СуммаНачальныйОстаток</dcsset:field>
|
||||
</dcsset:item>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>СуммаПриход</dcsset:field>
|
||||
</dcsset:item>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>СуммаРасход</dcsset:field>
|
||||
</dcsset:item>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemField">
|
||||
<dcsset:field>СуммаКонечныйОстаток</dcsset:field>
|
||||
</dcsset:item>
|
||||
</dcsset:selection>
|
||||
<dcsset:dataParameters>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:use>false</dcscor:use>
|
||||
<dcscor:parameter>НачалоПериода</dcscor:parameter>
|
||||
<dcscor:value xsi:type="v8:StandardBeginningDate">
|
||||
<v8:variant xsi:type="v8:StandardBeginningDateVariant">Custom</v8:variant>
|
||||
<v8:date>0001-01-01T00:00:00</v8:date>
|
||||
</dcscor:value>
|
||||
<dcsset:userSettingID>72cd9cbb-7fe9-43fa-b89a-8648efdb95e6</dcsset:userSettingID>
|
||||
</dcscor:item>
|
||||
<dcscor:item xsi:type="dcsset:SettingsParameterValue">
|
||||
<dcscor:use>false</dcscor:use>
|
||||
<dcscor:parameter>КонецПериода</dcscor:parameter>
|
||||
<dcscor:value xsi:type="v8:StandardBeginningDate">
|
||||
<v8:variant xsi:type="v8:StandardBeginningDateVariant">Custom</v8:variant>
|
||||
<v8:date>0001-01-01T00:00:00</v8:date>
|
||||
</dcscor:value>
|
||||
<dcsset:userSettingID>d45e92ce-0652-44e0-9cb7-6765030106ee</dcsset:userSettingID>
|
||||
</dcscor:item>
|
||||
</dcsset:dataParameters>
|
||||
<dcsset:item xsi:type="dcsset:StructureItemGroup">
|
||||
<dcsset:groupItems>
|
||||
<dcsset:item xsi:type="dcsset:GroupItemField">
|
||||
<dcsset:field>Учреждение</dcsset:field>
|
||||
<dcsset:groupType>Items</dcsset:groupType>
|
||||
<dcsset:periodAdditionType>None</dcsset:periodAdditionType>
|
||||
</dcsset:item>
|
||||
</dcsset:groupItems>
|
||||
<dcsset:order>
|
||||
<dcsset:item xsi:type="dcsset:OrderItemAuto"/>
|
||||
</dcsset:order>
|
||||
<dcsset:selection>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemAuto"/>
|
||||
</dcsset:selection>
|
||||
<dcsset:item xsi:type="dcsset:StructureItemGroup">
|
||||
<dcsset:groupItems>
|
||||
<dcsset:item xsi:type="dcsset:GroupItemField">
|
||||
<dcsset:field>Ребенок</dcsset:field>
|
||||
<dcsset:groupType>Items</dcsset:groupType>
|
||||
<dcsset:periodAdditionType>None</dcsset:periodAdditionType>
|
||||
</dcsset:item>
|
||||
</dcsset:groupItems>
|
||||
<dcsset:order>
|
||||
<dcsset:item xsi:type="dcsset:OrderItemAuto"/>
|
||||
</dcsset:order>
|
||||
<dcsset:selection>
|
||||
<dcsset:item xsi:type="dcsset:SelectedItemAuto"/>
|
||||
</dcsset:selection>
|
||||
</dcsset:item>
|
||||
</dcsset:item>
|
||||
</dcsset:settings>
|
||||
</settingsVariant>
|
||||
</DataCompositionSchema>
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Report xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="0f608372-4b10-432b-b041-3e2fb042f46d">
|
||||
<producedTypes>
|
||||
<objectType typeId="3774a388-d51f-43e7-8c96-9fac019bca64" valueTypeId="ec93f0fb-abbc-499c-ae35-0f8bd9b7cf2d"/>
|
||||
<managerType typeId="e7e322b9-1de7-4189-ae15-273a0141319b" valueTypeId="47ac0f7e-bc37-4452-ae5f-01df4480a5a4"/>
|
||||
</producedTypes>
|
||||
<name>ПС_ОборотнаяВедомостьПоРодительскойПлате</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Оборотная ведомость по расчетам по родительской плате</value>
|
||||
</synonym>
|
||||
<useStandardCommands>true</useStandardCommands>
|
||||
<mainDataCompositionSchema>Report.ПС_ОборотнаяВедомостьПоРодительскойПлате.Template.ОсновнаяСхема</mainDataCompositionSchema>
|
||||
<templates uuid="91c0de44-a231-46b4-98ce-7d9e0112e90f">
|
||||
<name>ОсновнаяСхема</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Основная схема</value>
|
||||
</synonym>
|
||||
<templateType>DataCompositionSchema</templateType>
|
||||
</templates>
|
||||
</mdclass:Report>
|
||||
Reference in New Issue
Block a user