ПС_РаботаСКонтрагентами: универсальный поиск контрагента по ИНН

- Добавлен общий модуль ПС_РаботаСКонтрагентами (сервер).
- КонтрагентПоОрганизации(Организация, ИмяПоляПодсказки): поиск элемента
  справочника Контрагенты с тем же ИНН; если 0 или >1 — сообщение
  пользователю и пустая ссылка.
- КонтрагентЦБПоУмолчанию(ИмяПоляПодсказки): обёртка, читает
  Константы.ОрганизацияЦентрализованнаяБухгалтерия и делегирует поиск.

- ПС_ПередачаЗадолженностиВЦБ:
  * ManagerModule: удалена локальная КонтрагентЦБПоУмолчанию.
  * ObjectModule и форма: ЦБ подставляется через общий модуль.

- ПС_ПринятиеЗадолженностиОтУчреждения:
  * ObjectModule и форма: Организация (ЦБ) и Учреждение (ПБС-отправитель)
    подставляются через КонтрагентПоОрганизации по ИНН из Передачи.
  * Это устраняет проблему несоответствия типов: в Передаче
    Организация/Учреждение имеют тип CatalogRef.Организации, а в Принятии
    соответствующие реквизиты — CatalogRef.Контрагенты.

Этап MVP.
This commit is contained in:
11 changed files with 925 additions and 306 deletions
@@ -0,0 +1,102 @@
// Поиск контрагента, соответствующего организации, по ИНН.
//
// Универсальная функция для обоих документов (Передача задолженности в ЦБ
// и Принятие задолженности от учреждения). Реквизиты ЦБ и УчреждениеОтправитель
// имеют тип CatalogRef.Контрагенты, а в связанных документах-основаниях
// соответствующие организации имеют тип CatalogRef.Организации. Чтобы
// обеспечить соответствие, ищем элемент справочника Контрагенты с тем же ИНН.
//
// Параметры:
// Организация - CatalogRef.Организации - организация, для которой ищем контрагента.
// ИмяПоляПодсказки - Строка - имя реквизита формы/документа, которое остаётся
// незаполненным (для сообщения пользователю). Например,
// "ЦБ (получатель)" или "Учреждение-отправитель".
//
// Возвращаемое значение:
// CatalogRef.Контрагенты - если найден ровно один контрагент с ИНН организации.
// Пустая ссылка - в остальных случаях (организация не заполнена / нет ИНН / нет
// контрагента / найдено несколько). При этом пользователю
// выводится сообщение с описанием причины.
//
Функция КонтрагентПоОрганизации(Организация, ИмяПоляПодсказки = "") Экспорт
ПустойКонтрагент = Справочники.Контрагенты.ПустаяСсылка();
Подсказка = ?(ПустаяСтрока(ИмяПоляПодсказки), "Контрагент",
"Поле """ + ИмяПоляПодсказки + """");
Если НЕ ЗначениеЗаполнено(Организация) Тогда
ТекстСообщения = "Не указана организация для поиска контрагента.|"
+ Подсказка + " не заполнен - выберите контрагента вручную.";
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = ТекстСообщения;
СообщениеПользователю.Сообщить();
Возврат ПустойКонтрагент;
КонецЕсли;
ИНН = Организация.ИНН;
Если НЕ ЗначениеЗаполнено(ИНН) Тогда
Представление = Строка(Организация);
ТекстСообщения = "У организации (" + Представление + ") не заполнен ИНН.|"
+ Подсказка + " не заполнен - выберите контрагента вручную.";
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = ТекстСообщения;
СообщениеПользователю.Сообщить();
Возврат ПустойКонтрагент;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ИНН = &ИНН
| И НЕ Контрагенты.ПометкаУдаления";
Запрос.УстановитьПараметр("ИНН", ИНН);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Представление = Строка(Организация);
ТекстСообщения = "Контрагент с ИНН " + ИНН + " (организация: " + Представление + ") не найден.|"
+ Подсказка + " не заполнен - выберите контрагента вручную.";
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = ТекстСообщения;
СообщениеПользователю.Сообщить();
Возврат ПустойКонтрагент;
КонецЕсли;
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
ПервыйНайденный = Выборка.Ссылка;
Если Выборка.Следующий() Тогда
Представление = Строка(Организация);
ТекстСообщения = "Найдено несколько контрагентов с ИНН " + ИНН + " (организация: " + Представление + ").|"
+ Подсказка + " не заполнен - выберите контрагента вручную.";
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = ТекстСообщения;
СообщениеПользователю.Сообщить();
Возврат ПустойКонтрагент;
КонецЕсли;
Возврат ПервыйНайденный;
КонецФункции
// Обёртка для документов учёта родительской платы: возвращает контрагента ЦБ
// по константе ОрганизацияЦентрализованнаяБухгалтерия.
//
// Параметры:
// ИмяПоляПодсказки - Строка - имя реквизита формы/документа для сообщения.
//
// Возвращаемое значение:
// CatalogRef.Контрагенты - контрагент, соответствующий организации ЦБ,
// либо пустая ссылка (с сообщением пользователю).
//
Функция КонтрагентЦБПоУмолчанию(ИмяПоляПодсказки = "ЦБ (получатель)") Экспорт
ОрганизацияЦБ = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить();
Возврат КонтрагентПоОрганизации(ОрганизацияЦБ, ИмяПоляПодсказки);
КонецФункции
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c575ba64-5d30-4a94-93ca-951ca20211ec">
<name>ПС_РаботаСКонтрагентами</name>
<synonym>
<key>ru</key>
<value>ПС Работа с контрагентами</value>
</synonym>
<server>true</server>
</mdclass:CommonModule>
@@ -46,6 +46,7 @@
<commonPictures>CommonPicture.УдалитьИнформация</commonPictures>
<roles>Role.ПС_ОсновнаяРоль</roles>
<roles>Role.БазовыеПраваБГУ</roles>
<commonModules>CommonModule.ПС_РаботаСКонтрагентами</commonModules>
<commonForms>CommonForm.УстановкаСтатусаПлатежноРасчетногоДокумента</commonForms>
<catalogs>Catalog.Контрагенты</catalogs>
<catalogs>Catalog.Договоры</catalogs>
@@ -263,7 +263,7 @@
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Auto</group>
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
@@ -317,7 +317,7 @@
<name>СуммаДокумента</name>
<id>16</id>
<visible>true</visible>
<enabled>true</enabled>
<enabled>false</enabled>
<userVisible>
<common>true</common>
</userVisible>
@@ -366,6 +366,10 @@
<dataPath xsi:type="form:DataPath">
<segments>Объект.ДокументНачисления</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ДокументНачисленияПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ДокументНачисленияРасширеннаяПодсказка</name>
<id>21</id>
@@ -816,6 +820,10 @@
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnChange</event>
<name>ЗадолженностьПриИзменении</name>
</handlers>
<searchStringAddition>
<name>ЗадолженностьСтрокаПоиска</name>
<id>32</id>
@@ -1000,6 +1008,58 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ПросмотрБухгалтерскихЗаписей</name>
<id>75</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПросмотрБухгалтерскихЗаписейРасширеннаяПодсказка</name>
<id>76</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПросмотрБухгалтерскихЗаписей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СоздатьПринятиеЗадолженностиНаОсновании</name>
<id>77</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаСоздатьПринятиеЗадолженностиНаОснованииРасширеннаяПодсказка</name>
<id>78</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.СоздатьПринятиеЗадолженностиНаОсновании</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
@@ -1050,6 +1110,38 @@
</handler>
</action>
</formCommands>
<formCommands>
<name>ПросмотрБухгалтерскихЗаписей</name>
<title>
<key>ru</key>
<value>Просмотр бухгалтерских записей</value>
</title>
<id>2</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПросмотрБухгалтерскихЗаписей</name>
</handler>
</action>
</formCommands>
<formCommands>
<name>СоздатьПринятиеЗадолженностиНаОсновании</name>
<title>
<key>ru</key>
<value>Создать принятие на основании</value>
</title>
<id>3</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПС_СоздатьПринятиеЗадолженностиНаОсновании</name>
</handler>
</action>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -1,5 +1,28 @@
// ПС_ПередачаЗадолженностиВЦБ: модуль формы документа.
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
Основание = Неопределено;
Если Параметры.Свойство("Основание", Основание)
И ТипЗнч(Основание) = Тип("ДокументСсылка.НачислениеРодительскойПлаты") Тогда
Объект.ДокументНачисления = Основание;
ЗаполнитьПоДокументуНачисленияНаСервере(Основание);
КонецЕсли;
// Дефолт ЦБ получателя из константы БГУ 2.0 (поиск контрагента по ИНН организации ЦБ).
Если НЕ ЗначениеЗаполнено(Объект.ЦБ) Тогда
Объект.ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -10,6 +33,60 @@
КонецПроцедуры
&НаКлиенте
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПС_СоздатьПринятиеЗадолженностиНаОсновании(Команда)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = "Сначала запишите и проведите документ передачи.";
СообщениеПользователю.Сообщить();
Возврат;
КонецЕсли;
Если НЕ Объект.Проведен Тогда
СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = "Перед созданием принятия документ передачи должен быть проведён.";
СообщениеПользователю.Сообщить();
Возврат;
КонецЕсли;
ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
ОткрытьФорму("Документ.ПС_ПринятиеЗадолженностиОтУчреждения.Форма.ФормаДокумента",
ПараметрыФормы,
ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовФормы
&НаКлиенте
Процедура ДокументНачисленияПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.ДокументНачисления) Тогда
ЗаполнитьПоДокументуНачисленияНаСервере(Объект.ДокументНачисления);
Иначе
Объект.Задолженность.Очистить();
Объект.СуммаДокумента = 0;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗадолженностьПриИзменении(Элемент)
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -21,4 +98,92 @@
КонецФункции
&НаСервере
Процедура ЗаполнитьПоДокументуНачисленияНаСервере(ДокументНачисленияСсылка)
Если НЕ ЗначениеЗаполнено(ДокументНачисленияСсылка) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НачислениеРодительскойПлаты.Организация КАК Организация,
| НачислениеРодительскойПлаты.ИФО КАК ИФО,
| НачислениеРодительскойПлаты.Ответственный КАК Ответственный,
| НачислениеРодительскойПлаты.НачалоПериода КАК НачалоПериода,
| НачислениеРодительскойПлаты.Дата КАК ДатаДокумента
|ИЗ
| Документ.НачислениеРодительскойПлаты КАК НачислениеРодительскойПлаты
|ГДЕ
| НачислениеРодительскойПлаты.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НачислениеРодительскойПлатыНачисления.Контрагент КАК Контрагент,
| НачислениеРодительскойПлатыНачисления.ДоговорКонтрагента КАК Договор,
| НачислениеРодительскойПлатыНачисления.Ребенок КАК Ребенок,
| НачислениеРодительскойПлатыНачисления.ИДСтроки КАК ИДСтроки,
| НачислениеРодительскойПлатыНачисления.Сумма КАК Сумма
|ИЗ
| Документ.НачислениеРодительскойПлаты.Начисления КАК НачислениеРодительскойПлатыНачисления
|ГДЕ
| НачислениеРодительскойПлатыНачисления.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ДокументНачисленияСсылка);
Результаты = Запрос.ВыполнитьПакет();
ВыборкаШапка = Результаты[0].Выбрать();
Если НЕ ВыборкаШапка.Следующий() Тогда
Возврат;
КонецЕсли;
Объект.Организация = ВыборкаШапка.Организация;
Объект.ИФО = ВыборкаШапка.ИФО;
Объект.Ответственный = ВыборкаШапка.Ответственный;
Объект.ДокументНачисления = ДокументНачисленияСсылка;
Если ЗначениеЗаполнено(ВыборкаШапка.НачалоПериода) Тогда
Объект.Период = ВыборкаШапка.НачалоПериода;
Иначе
Объект.Период = НачалоМесяца(ВыборкаШапка.ДатаДокумента);
КонецЕсли;
Объект.ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию();
Объект.Задолженность.Очистить();
Объект.СуммаДокумента = 0;
ВыборкаСтроки = Результаты[1].Выбрать();
Пока ВыборкаСтроки.Следующий() Цикл
НоваяСтрока = Объект.Задолженность.Добавить();
НоваяСтрока.Контрагент = ВыборкаСтроки.Контрагент;
НоваяСтрока.Договор = ВыборкаСтроки.Договор;
НоваяСтрока.Ребенок = ВыборкаСтроки.Ребенок;
НоваяСтрока.ИДСтроки = ВыборкаСтроки.ИДСтроки;
НоваяСтрока.Сумма = ВыборкаСтроки.Сумма;
Объект.СуммаДокумента = Объект.СуммаДокумента + ВыборкаСтроки.Сумма;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка)
ПараметрыФормы = Новый Структура;
Отбор = Новый Структура("Регистратор", ДокументСсылка);
ПараметрыФормы.Вставить("Отбор", Отбор);
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
ПараметрыФормы,
ЭтотОбъект,
УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
@@ -6,25 +6,6 @@
#Область ПрограммныйИнтерфейс
// Регистрирует команды создания на основании в подменю форм документов-оснований.
//
// Параметры:
// КомандыСоздатьНаОсновании - ТаблицаЗначений - состав колонок см. в документации БСП.
// Параметры - Структура - параметры формы.
//
Процедура ДобавитьКомандыСоздатьНаОсновании(КомандыСоздатьНаОсновании, Параметры) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПС_ПередачаЗадолженностиВЦБ) Тогда
КомандаСоздатьНаОсновании = КомандыСоздатьНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Идентификатор = Метаданные.Документы.ПС_ПередачаЗадолженностиВЦБ.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = НСтр("ru = 'Передача задолженности в ЦБ'");
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КонецЕсли;
КонецПроцедуры
// Формирует табличный документ извещения (ф. 0504805, ред. 103н).
// Вызывается из модуля формы документа кнопкой "Печать".
//
@@ -5,47 +5,59 @@
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.НачислениеРодительскойПлаты") Тогда
ЗаполнитьНаОснованииНачисления(ДанныеЗаполнения);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НачислениеРодительскойПлаты.Организация КАК Организация,
| НачислениеРодительскойПлаты.ИФО КАК ИФО,
| НачислениеРодительскойПлаты.Ответственный КАК Ответственный,
| НачислениеРодительскойПлаты.НачалоПериода КАК НачалоПериода,
| НачислениеРодительскойПлаты.Дата КАК ДатаДокумента
|ИЗ
| Документ.НачислениеРодительскойПлаты КАК НачислениеРодительскойПлаты
|ГДЕ
| НачислениеРодительскойПлаты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ДанныеЗаполнения);
ВыборкаШапка = Запрос.Выполнить().Выбрать();
Если ВыборкаШапка.Следующий() Тогда
Организация = ВыборкаШапка.Организация;
ИФО = ВыборкаШапка.ИФО;
Ответственный = ВыборкаШапка.Ответственный;
ДокументНачисления = ДанныеЗаполнения;
Если ЗначениеЗаполнено(ВыборкаШапка.НачалоПериода) Тогда
Период = ВыборкаШапка.НачалоПериода;
Иначе
Период = НачалоМесяца(ВыборкаШапка.ДатаДокумента);
КонецЕсли;
КонецЕсли;
ЦБ = ПС_РаботаСКонтрагентами.КонтрагентЦБПоУмолчанию();
ЗапросСтроки = Новый Запрос;
ЗапросСтроки.Текст =
"ВЫБРАТЬ
| НачислениеРодительскойПлатыНачисления.Контрагент КАК Контрагент,
| НачислениеРодительскойПлатыНачисления.ДоговорКонтрагента КАК Договор,
| НачислениеРодительскойПлатыНачисления.Ребенок КАК Ребенок,
| НачислениеРодительскойПлатыНачисления.ИДСтроки КАК ИДСтроки,
| НачислениеРодительскойПлатыНачисления.Сумма КАК Сумма
|ИЗ
| Документ.НачислениеРодительскойПлаты.Начисления КАК НачислениеРодительскойПлатыНачисления
|ГДЕ
| НачислениеРодительскойПлатыНачисления.Ссылка = &Ссылка";
ЗапросСтроки.УстановитьПараметр("Ссылка", ДанныеЗаполнения);
ВыборкаСтроки = ЗапросСтроки.Выполнить().Выбрать();
Пока ВыборкаСтроки.Следующий() Цикл
НоваяСтрока = Задолженность.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки);
СуммаДокумента = СуммаДокумента + ВыборкаСтроки.Сумма;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьНаОснованииНачисления(ДокументНачисленияСсылка)
ДокументНачисления = ДокументНачисленияСсылка.ПолучитьОбъект();
Если ДокументНачисления = Неопределено Тогда
Возврат;
КонецЕсли;
Организация = ДокументНачисления.Организация;
ИФО = ДокументНачисления.ИФО;
Ответственный = ДокументНачисления.Ответственный;
ДокументНачисления = ДокументНачисленияСсылка;
Если ДокументНачисления.НачалоПериода <> '00010101' Тогда
Период = ДокументНачисления.НачалоПериода;
Иначе
Период = НачалоМесяца(ДокументНачисления.Дата);
КонецЕсли;
Задолженность.Очистить();
СуммаДокумента = 0;
Для Каждого СтрокаНачисления Из ДокументНачисления.Начисления Цикл
НоваяСтрока = Задолженность.Добавить();
НоваяСтрока.Контрагент = СтрокаНачисления.Контрагент;
НоваяСтрока.Договор = СтрокаНачисления.ДоговорКонтрагента;
НоваяСтрока.Ребенок = СтрокаНачисления.Ребенок;
НоваяСтрока.ИДСтроки = СтрокаНачисления.ИДСтроки;
НоваяСтрока.Сумма = СтрокаНачисления.Сумма;
СуммаДокумента = СуммаДокумента + СтрокаНачисления.Сумма;
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если Отказ Тогда
@@ -1,19 +1,223 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>Номер</name>
<id>1</id>
<items xsi:type="form:FormGroup">
<name>ГруппаОрганизации</name>
<id>71</id>
<items xsi:type="form:FormField">
<name>Организация</name>
<id>7</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Организация</segments>
</dataPath>
<extendedTooltip>
<name>ОрганизацияРасширеннаяПодсказка</name>
<id>9</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОрганизацияКонтекстноеМеню</name>
<id>8</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<backColor xsi:type="core:ColorRef">
<color>Style.ReportHeaderBackColor</color>
</backColor>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаНомерДата</name>
<id>69</id>
<items xsi:type="form:FormField">
<name>Номер</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Number</segments>
</dataPath>
<extendedTooltip>
<name>НомерРасширеннаяПодсказка</name>
<id>3</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НомерКонтекстноеМеню</name>
<id>2</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>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Date</segments>
</dataPath>
<extendedTooltip>
<name>ДатаРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДатаКонтекстноеМеню</name>
<id>5</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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Учреждение</segments>
</dataPath>
<extendedTooltip>
<name>УчреждениеРасширеннаяПодсказка</name>
<id>15</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>УчреждениеКонтекстноеМеню</name>
<id>14</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа номер дата</value>
</title>
<extendedTooltip>
<name>ГруппаНомерДатаРасширеннаяПодсказка</name>
<id>70</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Number</segments>
</dataPath>
<title>
<key>ru</key>
<value>Группа организации</value>
</title>
<extendedTooltip>
<name>НомерРасширеннаяПодсказка</name>
<id>3</id>
<name>ГруппаОрганизацииРасширеннаяПодсказка</name>
<id>72</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -21,193 +225,14 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>НомерКонтекстноеМеню</name>
<id>2</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>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Date</segments>
</dataPath>
<extendedTooltip>
<name>ДатаРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ДатаКонтекстноеМеню</name>
<id>5</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>7</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Организация</segments>
</dataPath>
<extendedTooltip>
<name>ОрганизацияРасширеннаяПодсказка</name>
<id>9</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОрганизацияКонтекстноеМеню</name>
<id>8</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ИФО</name>
<id>10</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.ИФО</segments>
</dataPath>
<extendedTooltip>
<name>ИФОРасширеннаяПодсказка</name>
<id>12</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ИФОКонтекстноеМеню</name>
<id>11</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>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Учреждение</segments>
</dataPath>
<extendedTooltip>
<name>УчреждениеРасширеннаяПодсказка</name>
<id>15</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>УчреждениеКонтекстноеМеню</name>
<id>14</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<textSize>Normal</textSize>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
@@ -256,7 +281,7 @@
<name>СуммаДокумента</name>
<id>19</id>
<visible>true</visible>
<enabled>true</enabled>
<enabled>false</enabled>
<userVisible>
<common>true</common>
</userVisible>
@@ -305,6 +330,10 @@
<dataPath xsi:type="form:DataPath">
<segments>Объект.ДокументПередачи</segments>
</dataPath>
<handlers>
<event>OnChange</event>
<name>ДокументПередачиПриИзменении</name>
</handlers>
<extendedTooltip>
<name>ДокументПередачиРасширеннаяПодсказка</name>
<id>24</id>
@@ -337,19 +366,19 @@
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Ответственный</name>
<id>25</id>
<name>ИФО</name>
<id>10</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Ответственный</segments>
<segments>Объект.ИФО</segments>
</dataPath>
<extendedTooltip>
<name>ОтветственныйРасширеннаяПодсказка</name>
<id>27</id>
<name>ИФОРасширеннаяПодсказка</name>
<id>12</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
@@ -358,8 +387,8 @@
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОтветственныйКонтекстноеМеню</name>
<id>26</id>
<name>ИФОКонтекстноеМеню</name>
<id>11</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
@@ -726,6 +755,10 @@
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnChange</event>
<name>ЗадолженностьПриИзменении</name>
</handlers>
<searchStringAddition>
<name>ЗадолженностьСтрокаПоиска</name>
<id>32</id>
@@ -838,6 +871,49 @@
<rowFilter xsi:type="core:UndefinedValue"/>
<showCommandBarNeedDereferenced>true</showCommandBarNeedDereferenced>
</items>
<items xsi:type="form:FormField">
<name>Ответственный</name>
<id>25</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Объект.Ответственный</segments>
</dataPath>
<extendedTooltip>
<name>ОтветственныйРасширеннаяПодсказка</name>
<id>27</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОтветственныйКонтекстноеМеню</name>
<id>26</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<groupHorizontalAlign>Right</groupHorizontalAlign>
<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>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
@@ -867,9 +943,39 @@
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ПросмотрБухгалтерскихЗаписей</name>
<id>67</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаПросмотрБухгалтерскихЗаписейРасширеннаяПодсказка</name>
<id>68</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<commandName>Form.Command.ПросмотрБухгалтерскихЗаписей</commandName>
<buttonImportance>Normal</buttonImportance>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<handlers>
<event>OnCreateAtServer</event>
<name>ПриСозданииНаСервере</name>
</handlers>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
@@ -913,6 +1019,22 @@
</handler>
</action>
</formCommands>
<formCommands>
<name>ПросмотрБухгалтерскихЗаписей</name>
<title>
<key>ru</key>
<value>Просмотр бухгалтерских записей</value>
</title>
<id>2</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ПросмотрБухгалтерскихЗаписей</name>
</handler>
</action>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -1,5 +1,28 @@
// ПС_ПринятиеЗадолженностиОтУчреждения: модуль формы документа.
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если НЕ ЗначениеЗаполнено(Объект.Ссылка) Тогда
Основание = Неопределено;
Если Параметры.Свойство("Основание", Основание)
И ТипЗнч(Основание) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда
Объект.ДокументПередачи = Основание;
ЗаполнитьПоДокументуПередачиНаСервере(Основание);
КонецЕсли;
// Дефолт ЦБ получателя (на стороне ЦБ это Организация) из константы БГУ 2.0.
Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
Объект.Организация = Константы.ОрганизацияЦентрализованнаяБухгалтерия.Получить();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
@@ -10,6 +33,36 @@
КонецПроцедуры
&НаКлиенте
Процедура ПросмотрБухгалтерскихЗаписей(Команда)
ОткрытьБухгалтерскиеЗаписиДокумента(Объект.Ссылка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовФормы
&НаКлиенте
Процедура ДокументПередачиПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.ДокументПередачи) Тогда
ЗаполнитьПоДокументуПередачиНаСервере(Объект.ДокументПередачи);
Иначе
Объект.Задолженность.Очистить();
Объект.СуммаДокумента = 0;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗадолженностьПриИзменении(Элемент)
Объект.СуммаДокумента = Объект.Задолженность.Итог("Сумма");
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -21,4 +74,81 @@
КонецФункции
&НаСервере
Процедура ЗаполнитьПоДокументуПередачиНаСервере(ДокументПередачиСсылка)
Если НЕ ЗначениеЗаполнено(ДокументПередачиСсылка) Тогда
Возврат;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПередачаЗадолженности.ЦБ КАК Организация,
| ПередачаЗадолженности.Организация КАК Учреждение,
| ПередачаЗадолженности.ИФО КАК ИФО,
| ПередачаЗадолженности.Ответственный КАК Ответственный,
| ПередачаЗадолженности.Период КАК Период
|ИЗ
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК ПередачаЗадолженности
|ГДЕ
| ПередачаЗадолженности.Ссылка = &Ссылка
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПередачаЗадолженностиЗадолженность.Контрагент КАК Контрагент,
| ПередачаЗадолженностиЗадолженность.Договор КАК Договор,
| ПередачаЗадолженностиЗадолженность.Ребенок КАК Ребенок,
| ПередачаЗадолженностиЗадолженность.ИДСтроки КАК ИДСтроки,
| ПередачаЗадолженностиЗадолженность.Сумма КАК Сумма
|ИЗ
| Документ.ПС_ПередачаЗадолженностиВЦБ.Задолженность КАК ПередачаЗадолженностиЗадолженность
|ГДЕ
| ПередачаЗадолженностиЗадолженность.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ДокументПередачиСсылка);
Результаты = Запрос.ВыполнитьПакет();
ВыборкаШапка = Результаты[0].Выбрать();
Если НЕ ВыборкаШапка.Следующий() Тогда
Возврат;
КонецЕсли;
Объект.Организация = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ВыборкаШапка.Организация, "Организация (ЦБ)");
Объект.Учреждение = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ВыборкаШапка.Учреждение, "Учреждение-отправитель");
Объект.ИФО = ВыборкаШапка.ИФО;
Объект.Ответственный = ВыборкаШапка.Ответственный;
Объект.Период = ВыборкаШапка.Период;
Объект.ДокументПередачи = ДокументПередачиСсылка;
Объект.Задолженность.Очистить();
Объект.СуммаДокумента = 0;
ВыборкаСтроки = Результаты[1].Выбрать();
Пока ВыборкаСтроки.Следующий() Цикл
НоваяСтрока = Объект.Задолженность.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки);
Объект.СуммаДокумента = Объект.СуммаДокумента + ВыборкаСтроки.Сумма;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОткрытьБухгалтерскиеЗаписиДокумента(ДокументСсылка)
ПараметрыФормы = Новый Структура;
Отбор = Новый Структура("Регистратор", ДокументСсылка);
ПараметрыФормы.Вставить("Отбор", Отбор);
ОткрытьФорму("РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ФормаСписка",
ПараметрыФормы,
ЭтотОбъект,
УникальныйИдентификатор);
КонецПроцедуры
#КонецОбласти
@@ -5,25 +5,6 @@
#Область ПрограммныйИнтерфейс
// Регистрирует команды создания на основании в подменю форм документов-оснований.
//
// Параметры:
// КомандыСоздатьНаОсновании - ТаблицаЗначений - состав колонок см. в документации БСП.
// Параметры - Структура - параметры формы.
//
Процедура ДобавитьКомандыСоздатьНаОсновании(КомандыСоздатьНаОсновании, Параметры) Экспорт
Если ПравоДоступа("Добавление", Метаданные.Документы.ПС_ПринятиеЗадолженностиОтУчреждения) Тогда
КомандаСоздатьНаОсновании = КомандыСоздатьНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Идентификатор = Метаданные.Документы.ПС_ПринятиеЗадолженностиОтУчреждения.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = НСтр("ru = 'Принятие задолженности от учреждения'");
КомандаСоздатьНаОсновании.РежимЗаписи = "Проводить";
КонецЕсли;
КонецПроцедуры
// Формирует табличный документ извещения (ф. 0504805, ред. 103н).
// Вызывается из модуля формы документа кнопкой "Печать".
//
@@ -5,37 +5,61 @@
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПС_ПередачаЗадолженностиВЦБ") Тогда
ЗаполнитьНаОснованииПередачи(ДанныеЗаполнения);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПередачаЗадолженности.ЦБ КАК Организация,
| ПередачаЗадолженности.Организация КАК Учреждение,
| ПередачаЗадолженности.ИФО КАК ИФО,
| ПередачаЗадолженности.Ответственный КАК Ответственный,
| ПередачаЗадолженности.Период КАК Период
|ИЗ
| Документ.ПС_ПередачаЗадолженностиВЦБ КАК ПередачаЗадолженности
|ГДЕ
| ПередачаЗадолженности.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ДанныеЗаполнения);
ВыборкаШапка = Запрос.Выполнить().Выбрать();
Если ВыборкаШапка.Следующий() Тогда
// Организация на стороне ЦБ — берём организацию-получатель из передачи (это и есть ЦБ).
ОрганизацияЦБ = ВыборкаШапка.Организация;
Если ЗначениеЗаполнено(ОрганизацияЦБ) Тогда
Организация = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(ОрганизацияЦБ, "Организация (ЦБ)");
КонецЕсли;
// Учреждение-отправитель (ПБС) — берём организацию-отправитель из передачи
// (там тип CatalogRef.Организации), а в нашем документе нужен CatalogRef.Контрагенты.
УчреждениеОрганизация = ВыборкаШапка.Учреждение;
Если ЗначениеЗаполнено(УчреждениеОрганизация) Тогда
Учреждение = ПС_РаботаСКонтрагентами.КонтрагентПоОрганизации(УчреждениеОрганизация, "Учреждение-отправитель");
КонецЕсли;
ИФО = ВыборкаШапка.ИФО;
Ответственный = ВыборкаШапка.Ответственный;
Период = ВыборкаШапка.Период;
ДокументПередачи = ДанныеЗаполнения;
КонецЕсли;
КонецПроцедуры
ЗапросСтроки = Новый Запрос;
ЗапросСтроки.Текст =
"ВЫБРАТЬ
| ПередачаЗадолженностиЗадолженность.Контрагент КАК Контрагент,
| ПередачаЗадолженностиЗадолженность.Договор КАК Договор,
| ПередачаЗадолженностиЗадолженность.Ребенок КАК Ребенок,
| ПередачаЗадолженностиЗадолженность.ИДСтроки КАК ИДСтроки,
| ПередачаЗадолженностиЗадолженность.Сумма КАК Сумма
|ИЗ
| Документ.ПС_ПередачаЗадолженностиВЦБ.Задолженность КАК ПередачаЗадолженностиЗадолженность
|ГДЕ
| ПередачаЗадолженностиЗадолженность.Ссылка = &Ссылка";
ЗапросСтроки.УстановитьПараметр("Ссылка", ДанныеЗаполнения);
ВыборкаСтроки = ЗапросСтроки.Выполнить().Выбрать();
Пока ВыборкаСтроки.Следующий() Цикл
НоваяСтрока = Задолженность.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаСтроки);
СуммаДокумента = СуммаДокумента + ВыборкаСтроки.Сумма;
КонецЦикла;
Процедура ЗаполнитьНаОснованииПередачи(ДокументПередачиСсылка)
ДокументПередачи = ДокументПередачиСсылка.ПолучитьОбъект();
Если ДокументПередачи = Неопределено Тогда
Возврат;
КонецЕсли;
Организация = ДокументПередачи.ЦБ;
Учреждение = ДокументПередачи.Организация;
ИФО = ДокументПередачи.ИФО;
Ответственный = ДокументПередачи.Ответственный;
Период = ДокументПередачи.Период;
ДокументПередачи = ДокументПередачиСсылка;
Задолженность.Очистить();
СуммаДокумента = 0;
Для Каждого СтрокаПередачи Из ДокументПередачи.Задолженность Цикл
НоваяСтрока = Задолженность.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПередачи);
СуммаДокумента = СуммаДокумента + СтрокаПередачи.Сумма;
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, РежимПроведения)