Разработка пригодится для компаний с достаточно большим количеством партнеров, осуществляющим регламентную сверку с партнерами с некоторой периодичностью. Принцип работы: в журнале документов актов сверок помечается произвольное количество документов и по кнопке "Отправить" производится отправка на адреса электронной почты партнеров, указанных в карточке, файлов сверки расчетов в формате PDF. Возможен предварительный просмотр печатной формы, которая будет отправлена. В настройках возможно указать учетную запись, от которой будет производиться отправка, тему и текст письма. Возможна отправка печатной формы актов с прикреплением факсимиле. Разработка тестировалась на релизах Управление торговлей 11.3 (11.3.4.124), Управление торговлей 11.4 (11.4.6.166). Отличия печатной форма, по сравнению с штатной — выведена секция "Обороты за период". Для получения факсимиле необходимо для организации добавить присоединенный файл с наименованием "ФаксимилеСверкаВзаиморасчетов":
Вид форма списка (возможно дополнительно вывести колонки Организация, Контрагент, Менеджер (из документа), Основной менеджер (из карточки партнера)):
Описание принципа работы
Выполнено в форме внешней обработки.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации=дополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.2.56");
ПараметрыРегистрации.Вид=дополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
ПараметрыРегистрации.Информация="Отправка актов сверки";
ПараметрыРегистрации.Назначение.Добавить("Документ.СверкаВзаиморасчетов");
ПараметрыРегистрации.Версия="19.04.19";
ПараметрыРегистрации.БезопасныйРежим=ложь;
Команда=ПараметрыРегистрации.Команды.Добавить();
Команда.Представление="Отправка актов сверки";
Команда.Идентификатор="ОтправкаАктовСверкиУТ11_4_is";
Команда.Использование=дополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
возврат ПараметрыРегистрации;
КонецФункции
Запрос динамического списка
Свойство для хранения признака, что акт отправлен — создается один раз при первом открытии формы:
При создании на сервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗаголовокСвойства="Состояние отправки сверки взаиморасчетов (ol)";
ВидСвойства_СостоянияОтправкиСверкиВзаиморасчетов=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ЗаголовокСвойства,истина);
// создадим автоматом
если не значениезаполнено(ВидСвойства_СостоянияОтправкиСверкиВзаиморасчетов) тогда
об=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
об.Наименование=ЗаголовокСвойства;
об.Заголовок=ЗаголовокСвойства;
если не метаданные.ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.Реквизиты.Найти("Имя")=неопределено тогда
об.Имя=сокрп(об.Заголовок)+сокрлп(новый УникальныйИдентификатор);
КонецЕсли;
об.Виден=истина;
об.Доступен=истина;
об.ТипЗначения=новый описаниетипов("Булево");
об.ЭтоДополнительноеСведение=истина;
об.Записать();
ВидСвойства_СостоянияОтправкиСверкиВзаиморасчетов=об.Ссылка;
КонецЕсли;
СписокДокументов.Параметры.УстановитьЗначениеПараметра("ВидСвойства_СостоянияОтправкиСверкиВзаиморасчетов",ВидСвойства_СостоянияОтправкиСверкиВзаиморасчетов);
...
КонецПроцедуры
Скрин формы обработки в конфигураторе
Процедуры и функции, используемые в форме обработки:
Основные функции отправки
Вспомогательные процедуры
Модуль обработки — здесь формируется сам Табличный документ, который будет впоследствии отправлен
Модуль обработки
Перем ЭтоУТ11_4;
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации=дополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.3.2.56");
ПараметрыРегистрации.Вид=дополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
ПараметрыРегистрации.Информация="Отправка актов сверки";
ПараметрыРегистрации.Назначение.Добавить("Документ.СверкаВзаиморасчетов");
ПараметрыРегистрации.Версия="19.04.19";
ПараметрыРегистрации.БезопасныйРежим=ложь;
Команда=ПараметрыРегистрации.Команды.Добавить();
Команда.Представление="Отправка актов сверки";
Команда.Идентификатор="ОтправкаАктовСверкиУТ11_4_is";
Команда.Использование=дополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
возврат ПараметрыРегистрации;
// история
// 01.06.19: создан
КонецФункции
// { ol
Функция ПолучитьФайлФаксимиле(Организация)
запрос=новый запрос;
запрос.Текст=
"ВЫБРАТЬ ПЕРВЫЕ 1
| ОрганизацииПрисоединенныеФайлы.Ссылка
|
|ИЗ
| Справочник.ОрганизацииПрисоединенныеФайлы КАК ОрганизацииПрисоединенныеФайлы
|где ВладелецФайла=&Организация
| и Наименование=""ФаксимилеСверкаВзаиморасчетов""
|";
запрос.УстановитьПараметр("Организация",Организация);
выборка=запрос.Выполнить().Выбрать();
если не выборка.Следующий() тогда
возврат неопределено КонецЕсли;
возврат выборка.ссылка;
КонецФункции
Функция ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, Организация, ПараметрыПечати = Неопределено) Экспорт
ОтображатьФаксимиле = Ложь;
Если ПараметрыПечати <> Неопределено И ПараметрыПечати.Свойство("ОтображатьФаксимиле") Тогда
ОтображатьФаксимиле = ПараметрыПечати.ОтображатьФаксимиле;
КонецЕсли;
Если НЕ ОтображатьФаксимиле Тогда
Возврат ложь;
КонецЕсли;
ФайлКартинки = ПолучитьФайлФаксимиле(Организация); //ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Организация, "ФайлФаксимильнаяПечать");
Если ОтображатьФаксимиле И НЕ ЗначениеЗаполнено(ФайлКартинки) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru ='Факсимиле для организации не указано.
|Укажите файл с факсимиле в карточке организации, раздел ""Настройка печати"".'"));
возврат ложь;
КонецЕсли;
Если Не ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ОбластьМакета.Рисунки, "Факсимиле") Тогда
// Картинки Факсимиле в этой области макета нет.
Если Макет.Области.Найти("ОбластьФаксимиле") <> Неопределено Тогда
// Проверить картинку факсимиле в области "ОбластьФаксимиле"
ОбластьМакетаФаксимиле = Макет.ПолучитьОбласть("ОбластьФаксимиле");
Если ОбщегоНазначенияУТКлиентСервер.ЕстьРеквизитОбъекта(ОбластьМакетаФаксимиле.Рисунки, "Факсимиле")
И ЗначениеЗаполнено(ФайлКартинки) Тогда
ОбластьМакета = ОбластьМакетаФаксимиле;
Иначе
Возврат ложь;
КонецЕсли;
Иначе
Возврат ложь;
КонецЕсли;
КонецЕсли;
Если Не ЗначениеЗаполнено(ФайлКартинки) Тогда
ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки.Факсимиле);
Возврат истина;
КонецЕсли;
ДвоичныеДанныеФайла = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(ФайлКартинки);
Если ТипЗнч(ДвоичныеДанныеФайла) = Тип("Картинка") Тогда
Картинка = ДвоичныеДанныеФайла;
ИначеЕсли ТипЗнч(ДвоичныеДанныеФайла) = Тип("ДвоичныеДанные") Тогда
Картинка = Новый Картинка(ДвоичныеДанныеФайла);
Иначе
Картинка = Новый Картинка;
КонецЕсли;
ОбластьМакета.Рисунки.Факсимиле.Картинка = Картинка;
возврат истина;
КонецФункции
// ol }
#Область МенеджерСверкаВзаиморасччетов
Функция ВыборкаДанныхДокумента(МассивОбъектов) Экспорт
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Если ЗначениеЗаполнено(МассивОбъектов) Тогда
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(МассивОбъектов, МенеджерВременныхТаблиц);
Иначе
ОтветственныеЛицаСервер.СформироватьВременнуюТаблицуОтветственныхЛицДокументов(Документы.СверкаВзаиморасчетов.ПустаяСсылка(), МенеджерВременныхТаблиц);
КонецЕсли;
ЗапросДанныеДокумента = Новый Запрос;
ЗапросДанныеДокумента.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
ЗапросДанныеДокумента.Текст =
"ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК ДокументСсылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Организация КАК Организация,
| ДанныеДокумента.Контрагент КАК Контрагент,
| ДанныеДокумента.Партнер КАК Партнер,
| ДанныеДокумента.Партнер.НаименованиеПолное КАК ПредставлениеПартнера,
| ДанныеДокумента.Договор КАК Договор,
| ДанныеДокумента.Договор.НаименованиеДляПечати КАК ПредставлениеДоговора,
| ДанныеДокумента.НачалоПериода КАК НачалоПериода,
| ДанныеДокумента.КонецПериода КАК КонецПериода,
| ТаблицаОтветственныеЛица.РуководительНаименование КАК ФИОРуководителя,
| ТаблицаОтветственныеЛица.РуководительДолжность КАК ДолжностьРуководителя,
| ДанныеДокумента.ФИОРуководителяКонтрагента КАК ФИОРуководителяКонтрагента,
| ДанныеДокумента.ДолжностьРуководителяКонтрагента КАК ДолжностьРуководителяКонтрагента,
| ДанныеДокумента.РасшифровкаПоЗаказам КАК РасшифровкаПоЗаказам,
| ДанныеДокумента.РасшифровкаПоПартнерам КАК РасшифровкаПоПартнерам,
| ДанныеДокумента.РасшифровкаПоДоговорам КАК РасшифровкаПоДоговорам
|ИЗ
| Документ.СверкаВзаиморасчетов КАК ДанныеДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаОтветственныеЛица КАК ТаблицаОтветственныеЛица
| ПО ДанныеДокумента.Ссылка = ТаблицаОтветственныеЛица.Ссылка
|ГДЕ
| ДанныеДокумента.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| ДанныеДокумента.Дата,
| ДанныеДокумента.Номер";
ЗапросДанныеДокумента.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Возврат ЗапросДанныеДокумента.Выполнить().Выбрать();
КонецФункции
Функция ДетальныеРасчеты_11_4(ДанныеДокумента)
ЗапросНашихДанных = Новый Запрос;
ТекстЗапроса = ТекстЗапросаОтборПоАналитике() + "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.НомерВходящегоДокумента КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| ИСТИНА КАК ЭтоВходящийДокумент
|
|ПОМЕСТИТЬ ДокументыИнтеркампани
|
|ИЗ
| Документ.ОтчетПоКомиссииМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Организация = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| ЛОЖЬ КАК ЭтоВходящийДокумент
|ИЗ
| Документ.ОтчетПоКомиссииМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Комиссионер = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.НомерВходящегоДокумента КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| ИСТИНА КАК ЭтоВходящийДокумент
|ИЗ
| Документ.ПередачаТоваровМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.ОрганизацияПолучатель = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| ЛОЖЬ КАК ЭтоВходящийДокумент
|ИЗ
| Документ.ПередачаТоваровМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Организация = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|;
|/////////////////////////////////////////////////////////////////////////////
|
|ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.Период КАК Период,
| ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.Регистратор, Неопределено) КАК Документ,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР
| КОГДА ДанныеПервичныхДокументов.Номер = """"
| ТОГДА ДанныеПервичныхДокументов.НомерРегистратора
| ИНАЧЕ ДанныеПервичныхДокументов.Номер
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.Номер
| КОНЕЦ КАК Номер,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ДанныеПервичныхДокументов.ДатаРегистратора
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК Дата,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР
| КОГДА ДанныеПервичныхДокументов.Дата = ДАТАВРЕМЯ(1,1,1)
| ТОГДА ДанныеПервичныхДокументов.ДатаРегистратора
| ИНАЧЕ ДанныеПервичныхДокументов.Дата
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК ДатаВходящегоДокумента,
| РегистрАналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| РегистрАналитикаУчетаПоПартнерам.Договор КАК Договор,
| РасчетыСКлиентамиОстаткиИОбороты.Валюта КАК Валюта,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР КОГДА РасчетыСКлиентамиОстаткиИОбороты.Регистратор.НомерВходящегоДокумента ЕСТЬ NULL
| ИЛИ РасчетыСКлиентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств ТОГДА
| ЛОЖЬ
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.ЭтоВходящийДокумент
| КОНЕЦ КАК ЭтоВходящийДокумент,
| ВЫБОР КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход < 0 ТОГДА
| -РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход
| КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход > 0 ТОГДА
| РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход
| КОНЕЦ КАК СуммаДолгПартнера,
| ВЫБОР КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход < 0 ТОГДА
| -РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход
| КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход > 0 ТОГДА
| РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход
| КОНЕЦ КАК СуммаНашДолг,
| РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| ЕСТЬNULL(РеализацияТоваровУслугРеглУчет.Организация, Неопределено) КАК ОрганизацияРеглУчет
|
|ПОМЕСТИТЬ РасчетыСПартнерами
|
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(
| &НачалоПериодаСверки,
| &ГраницаКонецПериода,
| Регистратор,
| ДвиженияИГраницыПериода,
| АналитикаУчетаПоПартнерам В
| (ВЫБРАТЬ
| ОтборПоАналитике.КлючАналитики
| ИЗ
| ОтборПоАналитике)
| ) КАК РасчетыСКлиентамиОстаткиИОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ ДокументыИнтеркампани КАК ДокументыИнтеркампани
| ПО РасчетыСКлиентамиОстаткиИОбороты.Регистратор = ДокументыИнтеркампани.Документ
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслугРеглУчет
| ПО РасчетыСКлиентамиОстаткиИОбороты.Регистратор = РеализацияТоваровУслугРеглУчет.Ссылка
| И РеализацияТоваровУслугРеглУчет.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиентуРеглУчет)
| И &Организация = ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПервичныхДокументов КАК ДанныеПервичныхДокументов
| ПО РегистрАналитикаУчетаПоПартнерам.Организация = ДанныеПервичныхДокументов.Организация
| И РасчетыСКлиентамиОстаткиИОбороты.Регистратор = ДанныеПервичныхДокументов.Документ
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыСПоставщикамиОстаткиИОбороты.Период КАК Период,
| ЕСТЬNULL(РасчетыСПоставщикамиОстаткиИОбороты.Регистратор, Неопределено) КАК Документ,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР
| КОГДА ДанныеПервичныхДокументов.Номер = """"
| ТОГДА ДанныеПервичныхДокументов.НомерРегистратора
| ИНАЧЕ ДанныеПервичныхДокументов.Номер
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.Номер
| КОНЕЦ КАК Номер,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ДанныеПервичныхДокументов.ДатаРегистратора
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК Дата,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР
| КОГДА ДанныеПервичныхДокументов.Дата = ДАТАВРЕМЯ(1,1,1)
| ТОГДА ДанныеПервичныхДокументов.ДатаРегистратора
| ИНАЧЕ ДанныеПервичныхДокументов.Дата
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК ДатаВходящегоДокумента,
| РегистрАналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| РегистрАналитикаУчетаПоПартнерам.Договор КАК Договор,
| РасчетыСПоставщикамиОстаткиИОбороты.Валюта КАК Валюта,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР КОГДА РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.НомерВходящегоДокумента ЕСТЬ NULL
| ИЛИ РасчетыСПоставщикамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств ТОГДА
| ЛОЖЬ
| ИНАЧЕ
| ИСТИНА
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.ЭтоВходящийДокумент
| КОНЕЦ КАК ЭтоВходящийДокумент,
| ВЫБОР КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход < 0 ТОГДА
| -(РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход)
| КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход> 0 ТОГДА
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход
| КОНЕЦ КАК СуммаДолгПартнера,
| ВЫБОР КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход< 0 ТОГДА
| -(РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход)
| КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход > 0 ТОГДА
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход - РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход
| КОНЕЦ КАК СуммаНашДолг,
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| ЕСТЬNULL(ПриобретениеТоваровУслугРеглУчет.Организация, Неопределено) КАК ОрганизацияРеглУчет
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.ОстаткиИОбороты(
| &НачалоПериодаСверки,
| &ГраницаКонецПериода,
| Регистратор,
| ДвиженияИГраницыПериода,
| АналитикаУчетаПоПартнерам В
| (ВЫБРАТЬ
| ОтборПоАналитике.КлючАналитики
| ИЗ
| ОтборПоАналитике)
| ) КАК РасчетыСПоставщикамиОстаткиИОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО РасчетыСПоставщикамиОстаткиИОбороты.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ ДокументыИнтеркампани КАК ДокументыИнтеркампани
| ПО РасчетыСПоставщикамиОстаткиИОбороты.Регистратор = ДокументыИнтеркампани.Документ
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриобретениеТоваровУслуг КАК ПриобретениеТоваровУслугРеглУчет
| ПО РасчетыСПоставщикамиОстаткиИОбороты.Регистратор = ПриобретениеТоваровУслугРеглУчет.Ссылка
| И ПриобретениеТоваровУслугРеглУчет.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И &Организация = ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПервичныхДокументов КАК ДанныеПервичныхДокументов
| ПО РегистрАналитикаУчетаПоПартнерам.Организация = ДанныеПервичныхДокументов.Организация
| И РасчетыСПоставщикамиОстаткиИОбороты.Регистратор = ДанныеПервичныхДокументов.Документ
|
|ГДЕ
| РасчетыСПоставщикамиОстаткиИОбороты.Регистратор ЕСТЬ NULL
| ИЛИ НЕ РасчетыСПоставщикамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.АвансовыйОтчет
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Документ,
| Расшифровка.НомерВходящегоДокумента КАК Номер,
| Расшифровка.ДатаВходящегоДокумента КАК Дата,
| Расшифровка.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| Расшифровка.Поставщик КАК Партнер,
| ВЫБОР КОГДА Расшифровка.Заказ ССЫЛКА Справочник.ДоговорыКонтрагентов ТОГДА
| Расшифровка.Заказ
| ИНАЧЕ
| Расшифровка.Заказ.Договор
| КОНЕЦ КАК Договор,
| Расшифровка.ВалютаВзаиморасчетов КАК Валюта,
| ИСТИНА КАК ЭтоВходящийДокумент,
| Расшифровка.СуммаВзаиморасчетов КАК СуммаДолгПартнера,
| 0 КАК СуммаНашДолг,
| 0 КАК СуммаНачальныйОстаток,
| 0 КАК СуммаКонечныйОстаток,
| Неопределено КАК ОрганизацияРеглУчет
|ИЗ
| Документ.АвансовыйОтчет КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет.ОплатаПоставщикам КАК Расшифровка
| ПО Расшифровка.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Организация = &Организация
| И Расшифровка.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И (&НеИспользоватьОтборПоДоговору
| ИЛИ ВЫБОР КОГДА Расшифровка.Заказ ССЫЛКА Справочник.ДоговорыКонтрагентов ТОГДА
| Расшифровка.Заказ
| ИНАЧЕ
| Расшифровка.Заказ.Договор
| КОНЕЦ = &Договор)
|;
|/////////////////////////////////////////////////////////////////////////////
|
|ВЫБРАТЬ
| РасчетыСПартнерами.Период КАК Период,
| РасчетыСПартнерами.Документ КАК Документ,
| РасчетыСПартнерами.Номер КАК Номер,
| РасчетыСПартнерами.Дата КАК Дата,
| РасчетыСПартнерами.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| %ПолеПартнер%
| %ПолеДоговор%
| РасчетыСПартнерами.Валюта КАК Валюта,
| РасчетыСПартнерами.ЭтоВходящийДокумент КАК ЭтоВходящийДокумент,
| СУММА(РасчетыСПартнерами.СуммаДолгПартнера) КАК СуммаДолгПартнера,
| СУММА(РасчетыСПартнерами.СуммаНашДолг) КАК СуммаНашДолг,
| СУММА(РасчетыСПартнерами.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
| СУММА(РасчетыСПартнерами.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
| РасчетыСПартнерами.ОрганизацияРеглУчет КАК ОрганизацияРеглУчет
|ПОМЕСТИТЬ РасчетыСПартнерамиГруппировка
|ИЗ
| РасчетыСПартнерами КАК РасчетыСПартнерами
|
|СГРУППИРОВАТЬ ПО
| Период, Документ, Номер, Дата, ДатаВходящегоДокумента, %Партнер% %Договор% Валюта, ЭтоВходящийДокумент, ОрганизацияРеглУчет
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РасчетыСПартнерами.Период КАК Период,
| РасчетыСПартнерами.Документ КАК Документ,
| РасчетыСПартнерами.Номер КАК Номер,
| РасчетыСПартнерами.Дата КАК Дата,
| РасчетыСПартнерами.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| %ПолеПартнер%
| %ПолеДоговор%
| РасчетыСПартнерами.Валюта КАК Валюта,
| РасчетыСПартнерами.ЭтоВходящийДокумент КАК ЭтоВходящийДокумент,
| РасчетыСПартнерами.СуммаДолгПартнера КАК СуммаДолгПартнера,
| РасчетыСПартнерами.СуммаНашДолг КАК СуммаНашДолг,
| РасчетыСПартнерами.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| РасчетыСПартнерами.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСПартнерами.ОрганизацияРеглУчет КАК ОрганизацияРеглУчет
|ИЗ
| РасчетыСПартнерамиГруппировка КАК РасчетыСПартнерами
|
|УПОРЯДОЧИТЬ ПО
| Период, Документ
|
|ИТОГИ ПО
| %Партнер%
| %Договор%
| Валюта
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПолеПартнер%", ?(ДанныеДокумента.РасшифровкаПоПартнерам, "РасчетыСПартнерами.Партнер КАК Партнер,", ""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%Партнер%", ?(ДанныеДокумента.РасшифровкаПоПартнерам, "Партнер,", ""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПолеДоговор%", ?(ДанныеДокумента.РасшифровкаПоДоговорам, "РасчетыСПартнерами.Договор КАК Договор,", ""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%Договор%", ?(ДанныеДокумента.РасшифровкаПоДоговорам, "Договор,", ""));
ЗапросНашихДанных.Текст = ТекстЗапроса;
ЗапросНашихДанных.УстановитьПараметр("НачалоПериодаСверки", ДанныеДокумента.НачалоПериода);
ЗапросНашихДанных.УстановитьПараметр("КонецПериодаСверки", КонецДня(ДанныеДокумента.КонецПериода));
ЗапросНашихДанных.УстановитьПараметр("ГраницаКонецПериода", Новый Граница(
КонецДня(ДанныеДокумента.КонецПериода)+1,
ВидГраницы.Исключая));
ЗапросНашихДанных.УстановитьПараметр("Организация", ДанныеДокумента.Организация);
ЗапросНашихДанных.УстановитьПараметр("Контрагент", ДанныеДокумента.Контрагент);
ЗапросНашихДанных.УстановитьПараметр("Партнер", ДанныеДокумента.Партнер);
ЗапросНашихДанных.УстановитьПараметр("Договор", ДанныеДокумента.Договор);
ЗапросНашихДанных.УстановитьПараметр("НеИспользоватьОтборПоПартнеру", НЕ ЗначениеЗаполнено(ДанныеДокумента.Партнер));
ЗапросНашихДанных.УстановитьПараметр("НеИспользоватьОтборПоДоговору", НЕ ЗначениеЗаполнено(ДанныеДокумента.Договор));
РезультатЗапросаНашихДанных = ЗапросНашихДанных.Выполнить();
Если НЕ РезультатЗапросаНашихДанных.Пустой() Тогда
ВыборкаНашихДанных = РезультатЗапросаНашихДанных.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Иначе
ВыборкаНашихДанных = Неопределено;
КонецЕсли;
Возврат ВыборкаНашихДанных;
КонецФункции
Функция ДетальныеРасчеты(ДанныеДокумента)
если ЭтоУТ11_4 тогда
попытка
// если слишком ранний релиз 11.4 - может не сработать
возврат ДетальныеРасчеты_11_4(ДанныеДокумента);
исключение
КонецПопытки;
КонецЕсли;
ЗапросНашихДанных = Новый Запрос;
ТекстЗапроса = ТекстЗапросаОтборПоАналитике() + "
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.НомерВходящегоДокумента КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| Истина КАК ЭтоВходящийДокумент
|
|ПОМЕСТИТЬ ДокументыИнтеркампани
|
|ИЗ
| Документ.ОтчетПоКомиссииМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Организация = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| Ложь КАК ЭтоВходящийДокумент
|ИЗ
| Документ.ОтчетПоКомиссииМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Комиссионер = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.НомерВходящегоДокумента КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| Истина КАК ЭтоВходящийДокумент
|ИЗ
| Документ.ПередачаТоваровМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.ОрганизацияПолучатель = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Документ,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| ДанныеДокумента.Дата КАК Дата,
| Ложь КАК ЭтоВходящийДокумент
|ИЗ
| Документ.ПередачаТоваровМеждуОрганизациями КАК ДанныеДокумента
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Организация = &Организация
| И ДанныеДокумента.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И ДанныеДокумента.РасчетыЧерезОтдельногоКонтрагента
|;
|/////////////////////////////////////////////////////////////////////////////
|
|ВЫБРАТЬ
| РасчетыСКлиентамиОстаткиИОбороты.Период КАК Период,
| ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.Регистратор, Неопределено) КАК Документ,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.Регистратор.НомерВходящегоДокумента,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Номер)
| ИНАЧЕ
| ДокументыИнтеркампани.Номер
| КОНЕЦ КАК Номер,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Дата
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК Дата,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.Регистратор.ДатаВходящегоДокумента,
| РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Дата)
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК ДатаВходящегоДокумента,
| РегистрАналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| РегистрАналитикаУчетаПоПартнерам.Договор КАК Договор,
| РасчетыСКлиентамиОстаткиИОбороты.Валюта КАК Валюта,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР КОГДА РасчетыСКлиентамиОстаткиИОбороты.Регистратор.НомерВходящегоДокумента ЕСТЬ NULL
| ИЛИ РасчетыСКлиентамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств ТОГДА
| Ложь
| ИНАЧЕ
| Истина
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.ЭтоВходящийДокумент
| КОНЕЦ КАК ЭтоВходящийДокумент,
| ВЫБОР КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход < 0 ТОГДА
| -РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход
| КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход > 0 ТОГДА
| РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход
| КОНЕЦ КАК СуммаДолгПартнера,
| ВЫБОР КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход < 0 ТОГДА
| -РасчетыСКлиентамиОстаткиИОбороты.СуммаПриход
| КОГДА РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход > 0 ТОГДА
| РасчетыСКлиентамиОстаткиИОбороты.СуммаРасход
| КОНЕЦ КАК СуммаНашДолг,
| РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| ЕСТЬNULL(РеализацияТоваровУслугРеглУчет.Организация, Неопределено) КАК ОрганизацияРеглУчет
|
|ПОМЕСТИТЬ РасчетыСПартнерами
|
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(
| &НачалоПериодаСверки,
| &ГраницаКонецПериода,
| Регистратор,
| ДвиженияИГраницыПериода,
| АналитикаУчетаПоПартнерам В
| (ВЫБРАТЬ
| ОтборПоАналитике.КлючАналитики
| ИЗ
| ОтборПоАналитике)
| ) КАК РасчетыСКлиентамиОстаткиИОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО РасчетыСКлиентамиОстаткиИОбороты.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ ДокументыИнтеркампани КАК ДокументыИнтеркампани
| ПО РасчетыСКлиентамиОстаткиИОбороты.Регистратор = ДокументыИнтеркампани.Документ
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслугРеглУчет
| ПО РасчетыСКлиентамиОстаткиИОбороты.Регистратор = РеализацияТоваровУслугРеглУчет.Ссылка
| И РеализацияТоваровУслугРеглУчет.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.РеализацияКлиентуРеглУчет)
| И &Организация = ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РасчетыСПоставщикамиОстаткиИОбороты.Период КАК Период,
| ЕСТЬNULL(РасчетыСПоставщикамиОстаткиИОбороты.Регистратор, Неопределено) КАК Документ,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ЕСТЬNULL(РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.НомерВходящегоДокумента,
| РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.Номер)
| ИНАЧЕ
| ДокументыИнтеркампани.Номер
| КОНЕЦ КАК Номер,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.Дата
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК Дата,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ЕСТЬNULL(РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.ДатаВходящегоДокумента,
| РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.Дата)
| ИНАЧЕ
| ДокументыИнтеркампани.Дата
| КОНЕЦ КАК ДатаВходящегоДокумента,
| РегистрАналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| РегистрАналитикаУчетаПоПартнерам.Договор КАК Договор,
| РасчетыСПоставщикамиОстаткиИОбороты.Валюта КАК Валюта,
| ВЫБОР КОГДА ДокументыИнтеркампани.Документ ЕСТЬ NULL ТОГДА
| ВЫБОР КОГДА РасчетыСПоставщикамиОстаткиИОбороты.Регистратор.НомерВходящегоДокумента ЕСТЬ NULL
| ИЛИ РасчетыСПоставщикамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств ТОГДА
| Ложь
| ИНАЧЕ
| Истина
| КОНЕЦ
| ИНАЧЕ
| ДокументыИнтеркампани.ЭтоВходящийДокумент
| КОНЕЦ КАК ЭтоВходящийДокумент,
| ВЫБОР КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход < 0 ТОГДА
| -РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход
| КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход > 0 ТОГДА
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход
| КОНЕЦ КАК СуммаДолгПартнера,
| ВЫБОР КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход < 0 ТОГДА
| -РасчетыСПоставщикамиОстаткиИОбороты.СуммаПриход
| КОГДА РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход > 0 ТОГДА
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаРасход
| КОНЕЦ КАК СуммаНашДолг,
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| РасчетыСПоставщикамиОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| ЕСТЬNULL(ПоступлениеТоваровУслугРеглУчет.Организация, Неопределено) КАК ОрганизацияРеглУчет
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.ОстаткиИОбороты(
| &НачалоПериодаСверки,
| &ГраницаКонецПериода,
| Регистратор,
| ДвиженияИГраницыПериода,
| АналитикаУчетаПоПартнерам В
| (ВЫБРАТЬ
| ОтборПоАналитике.КлючАналитики
| ИЗ
| ОтборПоАналитике)
| ) КАК РасчетыСПоставщикамиОстаткиИОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО РасчетыСПоставщикамиОстаткиИОбороты.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики
| ЛЕВОЕ СОЕДИНЕНИЕ ДокументыИнтеркампани КАК ДокументыИнтеркампани
| ПО РасчетыСПоставщикамиОстаткиИОбороты.Регистратор = ДокументыИнтеркампани.Документ
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслугРеглУчет
| ПО РасчетыСПоставщикамиОстаткиИОбороты.Регистратор = ПоступлениеТоваровУслугРеглУчет.Ссылка
| И ПоступлениеТоваровУслугРеглУчет.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ЗакупкаУПоставщикаРеглУчет)
| И &Организация = ЗНАЧЕНИЕ(Справочник.Организации.УправленческаяОрганизация)
|
|ГДЕ
| РасчетыСПоставщикамиОстаткиИОбороты.Регистратор ЕСТЬ NULL
| ИЛИ НЕ РасчетыСПоставщикамиОстаткиИОбороты.Регистратор ССЫЛКА Документ.АвансовыйОтчет
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ДанныеДокумента.Дата КАК Период,
| ДанныеДокумента.Ссылка КАК Документ,
| Расшифровка.НомерВходящегоДокумента КАК Номер,
| Расшифровка.ДатаВходящегоДокумента КАК Дата,
| Расшифровка.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| Расшифровка.Поставщик КАК Партнер,
| ВЫБОР КОГДА Расшифровка.Заказ ССЫЛКА Справочник.ДоговорыКонтрагентов ТОГДА
| Расшифровка.Заказ
| ИНАЧЕ
| Расшифровка.Заказ.Договор
| КОНЕЦ КАК Договор,
| Расшифровка.ВалютаВзаиморасчетов КАК Валюта,
| Истина КАК ЭтоВходящийДокумент,
| Расшифровка.СуммаВзаиморасчетов КАК СуммаДолгПартнера,
| 0 КАК СуммаНашДолг,
| 0 КАК СуммаНачальныйОстаток,
| 0 КАК СуммаКонечныйОстаток,
| Неопределено КАК ОрганизацияРеглУчет
|ИЗ
| Документ.АвансовыйОтчет КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.АвансовыйОтчет.ОплатаПоставщикам КАК Расшифровка
| ПО Расшифровка.Ссылка = ДанныеДокумента.Ссылка
|ГДЕ
| ДанныеДокумента.Проведен
| И ДанныеДокумента.Организация = &Организация
| И Расшифровка.Контрагент = &Контрагент
| И ДанныеДокумента.Дата МЕЖДУ &НачалоПериодаСверки И &КонецПериодаСверки
| И (&НеИспользоватьОтборПоДоговору
| ИЛИ ВЫБОР КОГДА Расшифровка.Заказ ССЫЛКА Справочник.ДоговорыКонтрагентов ТОГДА
| Расшифровка.Заказ
| ИНАЧЕ
| Расшифровка.Заказ.Договор
| КОНЕЦ = &Договор)
|;
|/////////////////////////////////////////////////////////////////////////////
|
|ВЫБРАТЬ
| РасчетыСПартнерами.Период КАК Период,
| РасчетыСПартнерами.Документ КАК Документ,
| РасчетыСПартнерами.Номер КАК Номер,
| РасчетыСПартнерами.Дата КАК Дата,
| РасчетыСПартнерами.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| %ПолеПартнер%
| %ПолеДоговор%
| РасчетыСПартнерами.Валюта КАК Валюта,
| РасчетыСПартнерами.ЭтоВходящийДокумент КАК ЭтоВходящийДокумент,
| СУММА(РасчетыСПартнерами.СуммаДолгПартнера) КАК СуммаДолгПартнера,
| СУММА(РасчетыСПартнерами.СуммаНашДолг) КАК СуммаНашДолг,
| СУММА(РасчетыСПартнерами.СуммаНачальныйОстаток) КАК СуммаНачальныйОстаток,
| СУММА(РасчетыСПартнерами.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток,
| РасчетыСПартнерами.ОрганизацияРеглУчет КАК ОрганизацияРеглУчет
|ПОМЕСТИТЬ РасчетыСПартнерамиГруппировка
|ИЗ
| РасчетыСПартнерами КАК РасчетыСПартнерами
|
|СГРУППИРОВАТЬ ПО
| Период, Документ, Номер, Дата, ДатаВходящегоДокумента, %Партнер% %Договор% Валюта, ЭтоВходящийДокумент, ОрганизацияРеглУчет
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РасчетыСПартнерами.Период КАК Период,
| РасчетыСПартнерами.Документ КАК Документ,
| РасчетыСПартнерами.Номер КАК Номер,
| РасчетыСПартнерами.Дата КАК Дата,
| РасчетыСПартнерами.ДатаВходящегоДокумента КАК ДатаВходящегоДокумента,
| %ПолеПартнер%
| %ПолеДоговор%
| РасчетыСПартнерами.Валюта КАК Валюта,
| РасчетыСПартнерами.ЭтоВходящийДокумент КАК ЭтоВходящийДокумент,
| РасчетыСПартнерами.СуммаДолгПартнера КАК СуммаДолгПартнера,
| РасчетыСПартнерами.СуммаНашДолг КАК СуммаНашДолг,
| РасчетыСПартнерами.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
| РасчетыСПартнерами.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток,
| РасчетыСПартнерами.ОрганизацияРеглУчет КАК ОрганизацияРеглУчет
|ИЗ
| РасчетыСПартнерамиГруппировка КАК РасчетыСПартнерами
|
|УПОРЯДОЧИТЬ ПО
| Период, Документ
|
|ИТОГИ ПО
| %Партнер%
| %Договор%
| Валюта
|";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПолеПартнер%", ?(ДанныеДокумента.РасшифровкаПоПартнерам, "РасчетыСПартнерами.Партнер КАК Партнер,", ""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%Партнер%", ?(ДанныеДокумента.РасшифровкаПоПартнерам, "Партнер,", ""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%ПолеДоговор%", ?(ДанныеДокумента.РасшифровкаПоДоговорам, "РасчетыСПартнерами.Договор КАК Договор,", ""));
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%Договор%", ?(ДанныеДокумента.РасшифровкаПоДоговорам, "Договор,", ""));
ЗапросНашихДанных.Текст = ТекстЗапроса;
ЗапросНашихДанных.УстановитьПараметр("НачалоПериодаСверки", ДанныеДокумента.НачалоПериода);
ЗапросНашихДанных.УстановитьПараметр("КонецПериодаСверки", КонецДня(ДанныеДокумента.КонецПериода));
ЗапросНашихДанных.УстановитьПараметр("ГраницаКонецПериода", Новый Граница(
КонецДня(ДанныеДокумента.КонецПериода)+1,
ВидГраницы.Исключая));
ЗапросНашихДанных.УстановитьПараметр("Организация", ДанныеДокумента.Организация);
ЗапросНашихДанных.УстановитьПараметр("Контрагент", ДанныеДокумента.Контрагент);
ЗапросНашихДанных.УстановитьПараметр("Партнер", ДанныеДокумента.Партнер);
ЗапросНашихДанных.УстановитьПараметр("Договор", ДанныеДокумента.Договор);
ЗапросНашихДанных.УстановитьПараметр("НеИспользоватьОтборПоПартнеру", НЕ ЗначениеЗаполнено(ДанныеДокумента.Партнер));
ЗапросНашихДанных.УстановитьПараметр("НеИспользоватьОтборПоДоговору", НЕ ЗначениеЗаполнено(ДанныеДокумента.Договор));
// { ol адаптация под УТ 11.4
если не Метаданные.Документы.Найти("ПриобретениеТоваровУслуг")=неопределено тогда
ЗапросНашихДанных.Текст=стрзаменить(врег(ЗапросНашихДанных.Текст),врег("Документ.ПоступлениеТоваровУслуг"),"Документ.ПриобретениеТоваровУслуг");
КонецЕсли;
если не Метаданные.Документы.Найти("ПриобретениеУслугПрочихАктивов")=неопределено тогда
ЗапросНашихДанных.Текст=стрзаменить(врег(ЗапросНашихДанных.Текст),врег("Документ.ПоступлениеУслугПрочихАктивов"),"Документ.ПриобретениеУслугПрочихАктивов");
КонецЕсли;
если не Метаданные.Документы.Найти("КорректировкаПриобретения")=неопределено тогда
ЗапросНашихДанных.Текст=стрзаменить(врег(ЗапросНашихДанных.Текст),врег("Документ.КорректировкаПоступления"),"Документ.КорректировкаПриобретения");
КонецЕсли;
// ol }
РезультатЗапросаНашихДанных = ЗапросНашихДанных.Выполнить();
Если НЕ РезультатЗапросаНашихДанных.Пустой() Тогда
ВыборкаНашихДанных = РезультатЗапросаНашихДанных.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Иначе
ВыборкаНашихДанных = Неопределено;
КонецЕсли;
Возврат ВыборкаНашихДанных;
КонецФункции
Функция ВывестиДетальныеЗаписи(
ВыборкаДетальныхЗаписей,
ДанныеДокумента,
СтруктураПредставленийУчастников,
Макет,
ТаблицаЗадолженности,
ТекущийПартнер = Неопределено,
ТекущийДоговор = Неопределено)
ТабличныйДокумент = Новый ТабличныйДокумент;
ОбластьМакетаГруппировка = Макет.ПолучитьОбласть("ГруппировкаПартнерВалюта");
ОбластьМакетаШапка = Макет.ПолучитьОбласть("ШапкаТаблицыРасчеты");
ОбластьМакетаНачОстаток = Макет.ПолучитьОбласть("СтрокаТаблицыРасчетыНачОстаток");
ОбластьМакетаСтрока = Макет.ПолучитьОбласть("СтрокаТаблицыРасчеты");
ОбластьМакетаКонОстаток = Макет.ПолучитьОбласть("СтрокаТаблицыРасчетыКонОстаток");
СтрокаЗадолженности = ТаблицаЗадолженности.Добавить();
СтрокаЗадолженности.Валюта = ВыборкаДетальныхЗаписей.Валюта;
Если ТаблицаЗадолженности.Колонки.Найти("Партнер") <> Неопределено Тогда
СтрокаЗадолженности.Партнер = ?(ДанныеДокумента.РасшифровкаПоПартнерам,
ПредставлениеПартнера(ТекущийПартнер),
ПредставлениеПартнера(ДанныеДокумента.Партнер));
КонецЕсли;
Если ТаблицаЗадолженности.Колонки.Найти("Договор") <> Неопределено Тогда
СтрокаЗадолженности.Договор = ?(ДанныеДокумента.РасшифровкаПоДоговорам,
ПредставлениеДоговора(ТекущийДоговор),
ПредставлениеДоговора(ДанныеДокумента.Договор));
КонецЕсли;
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
ОбластьМакетаГруппировка.Параметры.ПартнерВалюта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1, в валюте: %2'"), СтрокаЗадолженности.Партнер, ВыборкаДетальныхЗаписей.Валюта);
ИначеЕсли ДанныеДокумента.РасшифровкаПоДоговорам Тогда
ОбластьМакетаГруппировка.Параметры.ПартнерВалюта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1, в валюте: %2'"), СтрокаЗадолженности.Договор, ВыборкаДетальныхЗаписей.Валюта);
Иначе
ОбластьМакетаГруппировка.Параметры.ПартнерВалюта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='в валюте: %1'"), ВыборкаДетальныхЗаписей.Валюта);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакетаГруппировка);
ОбластьМакетаШапка.Параметры.Заполнить(СтруктураПредставленийУчастников);
ТабличныйДокумент.Вывести(ОбластьМакетаШапка);
ПредставленияДокументов = ПредставленияДокументов();
ПредставленияВладельцевДокументов = ПредставленияВладельцевДокументов();
ПредставлениеДокумента = "";
ПредставлениеВладельцаДокумента = "";
НачальныйОстаток = 0;
КонечныйОстаток = 0;
ДетальныеЗаписи = ВыборкаДетальныхЗаписей.Выбрать();
// { ol
ОборотДебет=0; ОборотКредит=0;
// ol }
ПервыйПроход = Истина;
Пока ДетальныеЗаписи.Следующий() Цикл
Если ДетальныеЗаписи.Документ = Неопределено Тогда
Если ДетальныеЗаписи.Период = ДанныеДокумента.НачалоПериода Тогда
НачальныйОстаток = НачальныйОстаток + ДетальныеЗаписи.СуммаНачальныйОстаток;
Иначе
КонечныйОстаток = КонечныйОстаток + ДетальныеЗаписи.СуммаКонечныйОстаток;
КонецЕсли;
Иначе
Если ПервыйПроход
И ЗначениеЗаполнено(ДанныеДокумента.НачалоПериода) Тогда
ОбластьМакетаНачОстаток.Параметры.НачалоПериодаСверки = Формат(ДанныеДокумента.НачалоПериода, "ДЛФ=ДД");
Если НачальныйОстаток > 0 Тогда
ОбластьМакетаНачОстаток.Параметры.СуммаНашДолг = 0;
ОбластьМакетаНачОстаток.Параметры.СуммаДолгПартнера = НачальныйОстаток;
Иначе
ОбластьМакетаНачОстаток.Параметры.СуммаНашДолг = -НачальныйОстаток;
ОбластьМакетаНачОстаток.Параметры.СуммаДолгПартнера = 0;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакетаНачОстаток);
КонецЕсли;
ИмяДокумента = ДетальныеЗаписи.Документ.Метаданные().Имя;
ПредставленияДокументов.Свойство(ИмяДокумента, ПредставлениеДокумента);
ПредставленияВладельцевДокументов.Свойство(ИмяДокумента, ПредставлениеВладельцаДокумента);
Если ЗначениеЗаполнено(ПредставлениеВладельцаДокумента) Тогда
ПредставлениеВладельцаДокумента = ПредставлениеВладельцаДокумента + " " + ?(ДетальныеЗаписи.ЭтоВходящийДокумент,
СтруктураПредставленийУчастников.КонтрагентНаименование,
СтруктураПредставленийУчастников.ПредставлениеОрганизации);
КонецЕсли;
Если ЗначениеЗаполнено(ДетальныеЗаписи.Номер) Тогда
Если ИмяДокумента = "СписаниеБезналичныхДенежныхСредств" Тогда
НомерНаПечать = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДетальныеЗаписи.Номер,, Истина);
ИначеЕсли ДетальныеЗаписи.ЭтоВходящийДокумент Тогда
НомерНаПечать = УбратьЛидирующиеНули(ДетальныеЗаписи.Номер);
Иначе
НомерНаПечать = ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДетальныеЗаписи.Номер);
КонецЕсли;
Иначе
НомерНаПечать = "_______";
КонецЕсли;
ОписаниеДокумента = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1 №%2 от %3'"),
?(ПредставлениеДокумента <> Неопределено, ПредставлениеДокумента, ""),
НомерНаПечать,
?(ЗначениеЗаполнено(ДетальныеЗаписи.ДатаВходящегоДокумента), Формат(ДетальныеЗаписи.ДатаВходящегоДокумента, "ДЛФ=D") + " " + НСтр("ru='г.'"), "' . . '"));
Если ЗначениеЗаполнено(ДетальныеЗаписи.ОрганизацияРеглУчет) Тогда
СведенияОбОрганизации = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДетальныеЗаписи.ОрганизацияРеглУчет, ДанныеДокумента.Дата);
ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации,
"ПолноеНаименование");
ОписаниеДокумента = НСтр("ru='Перенос задолженности'");
ПредставлениеВладельцаДокумента = НСтр("ru='от'") + " " + ПредставлениеОрганизации;
КонецЕсли;
ОбластьМакетаСтрока.Параметры.Дата = Формат(ДетальныеЗаписи.Дата, "ДЛФ=D");
ОбластьМакетаСтрока.Параметры.Документ = ОписаниеДокумента;
ОбластьМакетаСтрока.Параметры.ОтКого = ПредставлениеВладельцаДокумента;
ОбластьМакетаСтрока.Параметры.СуммаДолгПартнера = ДетальныеЗаписи.СуммаДолгПартнера;
ОбластьМакетаСтрока.Параметры.СуммаНашДолг = ДетальныеЗаписи.СуммаНашДолг;
ОбластьМакетаСтрока.Параметры.ДокументСсылка = ДетальныеЗаписи.Документ;
ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
// { ol
ОборотДебет=ОборотДебет+?(ДетальныеЗаписи.СуммаДолгПартнера=null,0,ДетальныеЗаписи.СуммаДолгПартнера);
ОборотКредит=ОборотКредит+?(ДетальныеЗаписи.СуммаНашДолг=null,0,ДетальныеЗаписи.СуммаНашДолг);
// ol }
ПервыйПроход = Ложь;
КонецЕсли;
КонецЦикла;
Если ПервыйПроход
И ЗначениеЗаполнено(ДанныеДокумента.НачалоПериода) Тогда
ОбластьМакетаНачОстаток.Параметры.НачалоПериодаСверки = Формат(ДанныеДокумента.НачалоПериода, "ДЛФ=ДД");
Если НачальныйОстаток > 0 Тогда
ОбластьМакетаНачОстаток.Параметры.СуммаНашДолг = 0;
ОбластьМакетаНачОстаток.Параметры.СуммаДолгПартнера = НачальныйОстаток;
Иначе
ОбластьМакетаНачОстаток.Параметры.СуммаНашДолг = -НачальныйОстаток;
ОбластьМакетаНачОстаток.Параметры.СуммаДолгПартнера = 0;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакетаНачОстаток);
КонецЕсли;
// { ol
ОбластьМакетаОбороты = Макет.ПолучитьОбласть("СтрокаТаблицыРасчетыОбороты");
ОбластьМакетаОбороты.Параметры.ОборотДебет=ОборотДебет;
ОбластьМакетаОбороты.Параметры.ОборотКредит=ОборотКредит;
ТабличныйДокумент.Вывести(ОбластьМакетаОбороты);
// ol }
ОбластьМакетаКонОстаток.Параметры.КонецПериодаСверки = Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД");
Если КонечныйОстаток > 0 Тогда
ОбластьМакетаКонОстаток.Параметры.СуммаНашДолг = 0;
ОбластьМакетаКонОстаток.Параметры.СуммаДолгПартнера = КонечныйОстаток;
Иначе
ОбластьМакетаКонОстаток.Параметры.СуммаНашДолг = -КонечныйОстаток;
ОбластьМакетаКонОстаток.Параметры.СуммаДолгПартнера = 0;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакетаКонОстаток);
Если КонечныйОстаток <> 0 Тогда
СтрокаЗадолженности.Сумма = КонечныйОстаток;
Иначе
ТаблицаЗадолженности.Удалить(СтрокаЗадолженности);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
Функция ТекстЗапросаОтборПоАналитике()
Возврат "
|ВЫБРАТЬ
| АналитикаУчетаПоПартнерам.КлючАналитики КАК КлючАналитики
|ПОМЕСТИТЬ ОтборПоАналитике
|ИЗ
| РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаУчетаПоПартнерам
|ГДЕ
| АналитикаУчетаПоПартнерам.Организация = &Организация
| И АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И (АналитикаУчетаПоПартнерам.Партнер = &Партнер
| ИЛИ &НеИспользоватьОтборПоПартнеру)
| И (АналитикаУчетаПоПартнерам.Договор = &Договор
| ИЛИ &НеИспользоватьОтборПоДоговору)
|;
|/////////////////////////////////////////////////////////////////////////////
|";
КонецФункции
Функция ПредставлениеПартнера(Партнер)
Запрос = Новый Запрос("
|ВЫБРАТЬ
| Партнеры.НаименованиеПолное КАК НаименованиеПолное
|ИЗ
| Справочник.Партнеры КАК Партнеры
|ГДЕ
| Партнеры.Ссылка = &Партнер
|");
Запрос.УстановитьПараметр("Партнер", Партнер);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ПредставлениеПартнера = Выборка.НаименованиеПолное;
Иначе
ПредставлениеПартнера = "";
КонецЕсли;
Возврат ПредставлениеПартнера;
КонецФункции
Функция ПредставлениеДоговора(Договор)
Запрос = Новый Запрос("
|ВЫБРАТЬ
| ДоговорыКонтрагентов.НаименованиеДляПечати КАК НаименованиеДляПечати
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.Ссылка = &Договор
|");
Запрос.УстановитьПараметр("Договор", Договор);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
ПредставлениеДоговора = Выборка.НаименованиеДляПечати;
Иначе
ПредставлениеДоговора = "";
КонецЕсли;
Возврат ПредставлениеДоговора;
КонецФункции
Функция УбратьЛидирующиеНули(Строка)
Рез = СокрЛП(Строка);
Пока Лев(Рез, 1) = "0" Цикл
Рез = Сред(Рез, 2);
КонецЦикла;
Возврат Рез;
КонецФункции
Функция ПредставленияВладельцевДокументов()
ВидыДокументовКонтрагента = Новый Структура;
ВидыДокументовКонтрагента.Вставить("АвансовыйОтчет", НСтр("ru='получатель'"));
ВидыДокументовКонтрагента.Вставить("АктВыполненныхРабот", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ВозвратТоваровМеждуОрганизациями", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ВозвратТоваровОтКлиента", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ВозвратТоваровПоставщику", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ЗаказКлиента", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ЗаказПоставщику", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ЗаявкаНаВозвратТоваровОтКлиента", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаПоступления", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаРеализации", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ОперацияПоПлатежнойКарте", НСтр("ru='плательщик'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомиссионера", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомиссионераОСписании", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомитенту", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомитентуОСписании", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ОтчетПоКомиссииМеждуОрганизациями", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ПередачаТоваровМеждуОрганизациями", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ПоступлениеБезналичныхДенежныхСредств", НСтр("ru='плательщик'"));
ВидыДокументовКонтрагента.Вставить("ПоступлениеТоваровУслуг", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ПоступлениеУслугПрочихАктивов", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ПриходныйКассовыйОрдер", НСтр("ru='получатель'"));
ВидыДокументовКонтрагента.Вставить("РасходныйКассовыйОрдер", НСтр("ru='плательщик'"));
ВидыДокументовКонтрагента.Вставить("РеализацияТоваровУслуг", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("РеализацияУслугПрочихАктивов", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("СписаниеБезналичныхДенежныхСредств", НСтр("ru='плательщик'"));
ВидыДокументовКонтрагента.Вставить("СчетНаОплатуКлиенту", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("СчетФактураВыданный", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("СчетФактураПолученный", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ТаможеннаяДекларацияИмпорт", НСтр("ru='от'"));
// { ol
ВидыДокументовКонтрагента.Вставить("ПриобретениеТоваровУслуг", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("ПриобретениеУслугПрочихАктивов", НСтр("ru='от'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаПриобретения", НСтр("ru='от'"));
// ol }
Возврат ВидыДокументовКонтрагента;
КонецФункции
Функция ОстаткиРасчетов(ДанныеДокумента) Экспорт
ЗапросНашихДанных = Новый Запрос;
ЗапросНашихДанных.Текст = ТекстЗапросаОтборПоАналитике() + "
|ВЫБРАТЬ
| ОстаткиЗадолженности.ЗаказКлиента КАК РасчетныйДокумент,
| ОстаткиЗадолженности.Валюта КАК ВалютаВзаиморасчетов,
| РегистрАналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| ВЫБОР
| КОГДА ОстаткиЗадолженности.СуммаОстаток > 0
| ТОГДА ОстаткиЗадолженности.СуммаОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаДолгПартнера,
| ВЫБОР
| КОГДА ОстаткиЗадолженности.СуммаОстаток < 0
| ТОГДА -ОстаткиЗадолженности.СуммаОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНашДолг
|ПОМЕСТИТЬ ОстаткиЗадолженностиРазвернуто
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки(
| &КонецПериодаСверки,
| АналитикаУчетаПоПартнерам В (ВЫБРАТЬ
| ОтборПоАналитике.КлючАналитики
| ИЗ
| ОтборПоАналитике)
| ) КАК ОстаткиЗадолженности
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО ОстаткиЗадолженности.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.ЗаказПоставщику КАК РасчетныйДокумент,
| ОстаткиЗадолженности.Валюта КАК ВалютаВзаиморасчетов,
| РегистрАналитикаУчетаПоПартнерам.Партнер КАК Партнер,
| ВЫБОР
| КОГДА ОстаткиЗадолженности.СуммаОстаток > 0
| ТОГДА ОстаткиЗадолженности.СуммаОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаДолгПартнера,
| ВЫБОР
| КОГДА ОстаткиЗадолженности.СуммаОстаток < 0
| ТОГДА -ОстаткиЗадолженности.СуммаОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНашДолг
|ИЗ
| РегистрНакопления.РасчетыСПоставщиками.Остатки(
| &КонецПериодаСверки,
| АналитикаУчетаПоПартнерам В (ВЫБРАТЬ
| ОтборПоАналитике.КлючАналитики
| ИЗ
| ОтборПоАналитике)
| ) КАК ОстаткиЗадолженности
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
| ПО ОстаткиЗадолженности.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики
|;
|/////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| СУММА(ОстаткиЗадолженности.СуммаДолгПартнера) КАК СуммаДолгПартнера,
| СУММА(ОстаткиЗадолженности.СуммаНашДолг) КАК СуммаНашДолг
|ПОМЕСТИТЬ ОстаткиЗадолженности
|ИЗ
| ОстаткиЗадолженностиРазвернуто КАК ОстаткиЗадолженности
|
|СГРУППИРОВАТЬ ПО
| ОстаткиЗадолженности.РасчетныйДокумент,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер
|;
|/////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ПОМЕСТИТЬ ЗадолженностьПоДокументамРасчетов
|ИЗ
| Документ.ОтчетКомиссионера КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ОтчетКомитенту КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.РеализацияТоваровУслуг КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.АктВыполненныхРабот КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ИЗ
| Документ.ОтчетКомиссионераОСписании КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ЗаказКлиента КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ИЗ
| Документ.ПоступлениеТоваровУслуг КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ИЗ
| Документ.ПоступлениеУслугПрочихАктивов КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.РеализацияУслугПрочихАктивов КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ЗаказПоставщику КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ОтчетКомитентуОСписании КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| Неопределено КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ПередачаТоваровМеждуОрганизациями КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| Неопределено КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ОтчетПоКомиссииМеждуОрганизациями КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ИЗ
| Документ.КорректировкаПоступления КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.КорректировкаРеализации КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ТаможеннаяДекларацияИмпорт КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ИЗ
| Документ.ВозвратТоваровОтКлиента КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ВозвратТоваровПоставщику КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ЗаявкаНаВозвратТоваровОтКлиента КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.Номер КАК НомерРасчетногоДокумента,
| ДанныеДокумента.Дата КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Документ.ВыкупВозвратнойТарыКлиентом КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| ДанныеДокумента.НомерВходящегоДокумента КАК НомерРасчетногоДокумента,
| ДанныеДокумента.ДатаВходящегоДокумента КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ДанныеДокумента.Договор КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ИСТИНА КАК ЭтоВходящийНомер
|ИЗ
| Документ.ВыкупВозвратнойТарыУПоставщика КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ОстаткиЗадолженности.РасчетныйДокумент КАК РасчетныйДокумент,
| НЕОПРЕДЕЛЕНО КАК НомерРасчетногоДокумента,
| НЕОПРЕДЕЛЕНО КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| ОстаткиЗадолженности.РасчетныйДокумент КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДанныеДокумента
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ПО ОстаткиЗадолженности.РасчетныйДокумент = ДанныеДокумента.Ссылка
|
|;
|/////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЗадолженностьПоДокументамРасчетов.РасчетныйДокумент КАК РасчетныйДокумент,
| ЗадолженностьПоДокументамРасчетов.НомерРасчетногоДокумента КАК НомерРасчетногоДокумента,
| ЗадолженностьПоДокументамРасчетов.ДатаРасчетногоДокумента КАК ДатаРасчетногоДокумента,
| ЗадолженностьПоДокументамРасчетов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ЗадолженностьПоДокументамРасчетов.Партнер КАК Партнер,
| ЗадолженностьПоДокументамРасчетов.Договор КАК Договор,
| ЗадолженностьПоДокументамРасчетов.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ЗадолженностьПоДокументамРасчетов.СуммаНашДолг КАК СуммаНашДолг,
| ЗадолженностьПоДокументамРасчетов.ЭтоВходящийНомер КАК ЭтоВходящийНомер
|ИЗ
| ЗадолженностьПоДокументамРасчетов КАК ЗадолженностьПоДокументамРасчетов
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Неопределено КАК РасчетныйДокумент,
| Неопределено КАК НомерРасчетногоДокумента,
| Неопределено КАК ДатаРасчетногоДокумента,
| ОстаткиЗадолженности.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиЗадолженности.Партнер КАК Партнер,
| Неопределено КАК Договор,
| ОстаткиЗадолженности.СуммаДолгПартнера КАК СуммаДолгПартнера,
| ОстаткиЗадолженности.СуммаНашДолг КАК СуммаНашДолг,
| ЛОЖЬ КАК ЭтоВходящийНомер
|ИЗ
| ОстаткиЗадолженности КАК ОстаткиЗадолженности
| ЛЕВОЕ СОЕДИНЕНИЕ ЗадолженностьПоДокументамРасчетов КАК ЗадолженностьПоДокументамРасчетов
| ПО ЗадолженностьПоДокументамРасчетов.РасчетныйДокумент = ОстаткиЗадолженности.РасчетныйДокумент
| И ЗадолженностьПоДокументамРасчетов.ВалютаВзаиморасчетов = ОстаткиЗадолженности.ВалютаВзаиморасчетов
|ГДЕ
| ЗадолженностьПоДокументамРасчетов.РасчетныйДокумент ЕСТЬ NULL
|
|УПОРЯДОЧИТЬ ПО
| ДатаРасчетногоДокумента,
| НомерРасчетногоДокумента
|";
ЗапросНашихДанных.УстановитьПараметр("КонецПериодаСверки", Новый Граница(
КонецДня(ДанныеДокумента.КонецПериода),
ВидГраницы.Включая));
ЗапросНашихДанных.УстановитьПараметр("Организация", ДанныеДокумента.Организация);
ЗапросНашихДанных.УстановитьПараметр("Контрагент", ДанныеДокумента.Контрагент);
ЗапросНашихДанных.УстановитьПараметр("Партнер", ДанныеДокумента.Партнер);
ЗапросНашихДанных.УстановитьПараметр("Договор", ДанныеДокумента.Договор);
ЗапросНашихДанных.УстановитьПараметр("НеИспользоватьОтборПоПартнеру", НЕ ЗначениеЗаполнено(ДанныеДокумента.Партнер));
ЗапросНашихДанных.УстановитьПараметр("НеИспользоватьОтборПоДоговору", НЕ ЗначениеЗаполнено(ДанныеДокумента.Договор));
// { ol адаптация под УТ 11.4
если не Метаданные.Документы.Найти("ПриобретениеТоваровУслуг")=неопределено тогда
ЗапросНашихДанных.Текст=стрзаменить(врег(ЗапросНашихДанных.Текст),врег("Документ.ПоступлениеТоваровУслуг"),"Документ.ПриобретениеТоваровУслуг");
КонецЕсли;
если не Метаданные.Документы.Найти("ПриобретениеУслугПрочихАктивов")=неопределено тогда
ЗапросНашихДанных.Текст=стрзаменить(врег(ЗапросНашихДанных.Текст),врег("Документ.ПоступлениеУслугПрочихАктивов"),"Документ.ПриобретениеУслугПрочихАктивов");
КонецЕсли;
если не Метаданные.Документы.Найти("КорректировкаПриобретения")=неопределено тогда
ЗапросНашихДанных.Текст=стрзаменить(врег(ЗапросНашихДанных.Текст),врег("Документ.КорректировкаПоступления"),"Документ.КорректировкаПриобретения");
КонецЕсли;
// ol }
РезультатЗапросаНашихДанных = ЗапросНашихДанных.Выполнить();
Если НЕ РезультатЗапросаНашихДанных.Пустой() Тогда
ТаблицаНашихДанных = РезультатЗапросаНашихДанных.Выгрузить();
СписокПолейГруппировки = "ВалютаВзаиморасчетов,ЭтоВходящийНомер";
Если ДанныеДокумента.РасшифровкаПоЗаказам Тогда
СписокПолейГруппировки = СписокПолейГруппировки + ", РасчетныйДокумент, НомерРасчетногоДокумента, ДатаРасчетногоДокумента";
КонецЕсли;
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
СписокПолейГруппировки = СписокПолейГруппировки + ", Партнер";
КонецЕсли;
Если ДанныеДокумента.РасшифровкаПоДоговорам Тогда
СписокПолейГруппировки = СписокПолейГруппировки + ", Договор";
КонецЕсли;
ТаблицаНашихДанных.Свернуть(СписокПолейГруппировки, "СуммаДолгПартнера, СуммаНашДолг");
Иначе
ТаблицаНашихДанных = Неопределено;
КонецЕсли;
Возврат ТаблицаНашихДанных;
КонецФункции
Функция ПредставленияДокументов()
ВидыДокументовКонтрагента = Новый Структура;
ВидыДокументовКонтрагента.Вставить("АвансовыйОтчет", НСтр("ru='Приходный кассовый ордер'"));
ВидыДокументовКонтрагента.Вставить("АктВыполненныхРабот", НСтр("ru='Акт выполненных работ'"));
ВидыДокументовКонтрагента.Вставить("ВводОстатков", НСтр("ru='Корректировка задолженности'"));
ВидыДокументовКонтрагента.Вставить("ВзаимозачетЗадолженности", НСтр("ru='Взаимозачет задолженности'"));
ВидыДокументовКонтрагента.Вставить("ВозвратТоваровМеждуОрганизациями", НСтр("ru='Накладная (возврат)'"));
ВидыДокументовКонтрагента.Вставить("ВозвратТоваровОтКлиента", НСтр("ru='Накладная (возврат)'"));
ВидыДокументовКонтрагента.Вставить("ВозвратТоваровПоставщику", НСтр("ru='Накладная (возврат)'"));
ВидыДокументовКонтрагента.Вставить("ВыкупВозвратнойТарыКлиентом", НСтр("ru='Выкуп возвратной тары'"));
ВидыДокументовКонтрагента.Вставить("ВыкупВозвратнойТарыУПоставщика", НСтр("ru='Выкуп возвратной тары'"));
ВидыДокументовКонтрагента.Вставить("ЗаказКлиента", НСтр("ru='Заказ'"));
ВидыДокументовКонтрагента.Вставить("ЗаказПоставщику", НСтр("ru='Заказ'"));
ВидыДокументовКонтрагента.Вставить("ЗаявкаНаВозвратТоваровОтКлиента", НСтр("ru='Заказ (возврат)'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаПоступления", НСтр("ru='Корректировка задолженности'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаРеализации", НСтр("ru='Корректировка задолженности'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаРегистров", НСтр("ru='Корректировка задолженности'"));
ВидыДокументовКонтрагента.Вставить("ОперацияПоПлатежнойКарте", НСтр("ru='Эквайринговая операция'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомиссионера", НСтр("ru='Отчет комитенту'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомиссионераОСписании", НСтр("ru='Отчет комитенту'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомитенту", НСтр("ru='Отчет комитенту'"));
ВидыДокументовКонтрагента.Вставить("ОтчетКомитентуОСписании", НСтр("ru='Отчет комитенту'"));
ВидыДокументовКонтрагента.Вставить("ОтчетПоКомиссииМеждуОрганизациями", НСтр("ru='Отчет комитенту'"));
ВидыДокументовКонтрагента.Вставить("ПередачаТоваровМеждуОрганизациями", НСтр("ru='Накладная'"));
ВидыДокументовКонтрагента.Вставить("ПоступлениеБезналичныхДенежныхСредств", НСтр("ru='Платежное поручение'"));
ВидыДокументовКонтрагента.Вставить("ПоступлениеТоваровУслуг", НСтр("ru='Накладная'"));
ВидыДокументовКонтрагента.Вставить("ПоступлениеУслугПрочихАктивов", НСтр("ru='Акт'"));
ВидыДокументовКонтрагента.Вставить("ПриходныйКассовыйОрдер", НСтр("ru='Приходный кассовый ордер'"));
ВидыДокументовКонтрагента.Вставить("РасходныйКассовыйОрдер", НСтр("ru='Расходный кассовый ордер'"));
ВидыДокументовКонтрагента.Вставить("РеализацияТоваровУслуг", НСтр("ru='Накладная'"));
ВидыДокументовКонтрагента.Вставить("РеализацияУслугПрочихАктивов", НСтр("ru='Акт'"));
ВидыДокументовКонтрагента.Вставить("СписаниеБезналичныхДенежныхСредств", НСтр("ru='Платежное поручение'"));
ВидыДокументовКонтрагента.Вставить("СписаниеЗадолженности", НСтр("ru='Списание задолженности'"));
ВидыДокументовКонтрагента.Вставить("СчетНаОплатуКлиенту", НСтр("ru='Счет на оплату'"));
ВидыДокументовКонтрагента.Вставить("СчетФактураВыданный", НСтр("ru='Счет-фактура'"));
ВидыДокументовКонтрагента.Вставить("СчетФактураПолученный", НСтр("ru='Счет-фактура'"));
ВидыДокументовКонтрагента.Вставить("ТаможеннаяДекларацияИмпорт", НСтр("ru='Таможенная декларация'"));
// { ol
ВидыДокументовКонтрагента.Вставить("ПриобретениеТоваровУслуг", НСтр("ru='Накладная'"));
ВидыДокументовКонтрагента.Вставить("ПриобретениеУслугПрочихАктивов", НСтр("ru='Акт'"));
ВидыДокументовКонтрагента.Вставить("КорректировкаПриобретения", НСтр("ru='Корректировка задолженности'"));
// ol }
Возврат ВидыДокументовКонтрагента;
КонецФункции
Функция ВывестиТаблицуЗадолженности(
ПараметрыТаблицыЗадолженностей,
Партнер = Неопределено,
ТаблицаРасхождений = Неопределено,
ЭтоДанныеКонтрагента = Ложь)
ДанныеДокумента = ПараметрыТаблицыЗадолженностей.ДанныеДокумента;
ТаблицаОстатков = ПараметрыТаблицыЗадолженностей.ТаблицаОстатков;
МассивВалют = ПараметрыТаблицыЗадолженностей.МассивВалют;
СтруктураПредставленийУчастников = ПараметрыТаблицыЗадолженностей.СтруктураПредставленийУчастников;
Макет = ПараметрыТаблицыЗадолженностей.Макет;
ВыводитьПодвал = ПараметрыТаблицыЗадолженностей.ВыводитьПодвал;
ТабличныйДокумент = Новый ТабличныйДокумент;
ОбластьМакетаГруппировка = Макет.ПолучитьОбласть("ГруппировкаПартнерВалюта");
ОбластьМакетаШапка = Макет.ПолучитьОбласть("ШапкаТаблицыЗадолженность");
ОбластьМакетаСтрока = Макет.ПолучитьОбласть("СтрокаТаблицыЗадолженность");
Если ВыводитьПодвал Тогда
ОбластьМакетаПодвал = Макет.ПолучитьОбласть("ПодвалТаблицыЗадолженность");
КонецЕсли;
ПредставлениеПартнера = ПредставлениеПартнера(Партнер);
Для Каждого ВалютаВзаиморасчетов Из МассивВалют Цикл
СуммаДолгПартнера = 0;
СуммаНашДолг = 0;
СтруктураОтбора = Новый Структура("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов);
Если Партнер <> Неопределено Тогда
СтруктураОтбора.Вставить("Партнер", Партнер);
КонецЕсли;
МассивСтрокЗадолженности = ТаблицаОстатков.НайтиСтроки(СтруктураОтбора);
Если МассивСтрокЗадолженности.Количество() > 0 Тогда
Если Партнер <> Неопределено Тогда
ОбластьМакетаГруппировка.Параметры.ПартнерВалюта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1, в валюте: %2'"), ПредставлениеПартнера, ВалютаВзаиморасчетов);
Иначе
ОбластьМакетаГруппировка.Параметры.ПартнерВалюта = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='в валюте: %1'"), ВалютаВзаиморасчетов);
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакетаГруппировка);
ОбластьМакетаШапка.Параметры.Заполнить(СтруктураПредставленийУчастников);
ТабличныйДокумент.Вывести(ОбластьМакетаШапка);
КонецЕсли;
Для Каждого СтрокаЗадолженности Из МассивСтрокЗадолженности Цикл
ОбластьМакетаСтрока.Параметры.СуммаДолгПартнера = СтрокаЗадолженности.СуммаДолгПартнера;
ОбластьМакетаСтрока.Параметры.СуммаНашДолг = СтрокаЗадолженности.СуммаНашДолг;
Если ТаблицаОстатков.Колонки.Найти("РасчетныйДокумент") <> Неопределено Тогда
ОбластьМакетаСтрока.Параметры.ДокументСсылка = СтрокаЗадолженности.РасчетныйДокумент;
КонецЕсли;
Если НЕ ЭтоДанныеКонтрагента Тогда
Если ТаблицаОстатков.Колонки.Найти("РасчетныйДокумент") <> Неопределено Тогда
ОбластьМакетаСтрока.Параметры.Документ = ОписаниеРасчетногоДокумента(СтрокаЗадолженности.РасчетныйДокумент,
СтрокаЗадолженности.НомерРасчетногоДокумента,
СтрокаЗадолженности.ДатаРасчетногоДокумента,
СтруктураПредставленийУчастников,
СтрокаЗадолженности.ЭтоВходящийНомер,
(СтрокаЗадолженности.СуммаДолгПартнера > 0));
КонецЕсли;
Иначе
ОбластьМакетаСтрока.Параметры.Документ = СтрокаЗадолженности.ОписаниеДокумента;
КонецЕсли;
ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
СуммаДолгПартнера = СуммаДолгПартнера + СтрокаЗадолженности.СуммаДолгПартнера;
СуммаНашДолг = СуммаНашДолг + СтрокаЗадолженности.СуммаНашДолг;
КонецЦикла;
Если ВыводитьПодвал Тогда
ОбластьМакетаПодвал.Параметры.СуммаДолгПартнера = СуммаДолгПартнера;
ОбластьМакетаПодвал.Параметры.СуммаНашДолг = СуммаНашДолг;
ОбластьМакетаПодвал.Параметры.КонецПериодаСверки = Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД");
ТабличныйДокумент.Вывести(ОбластьМакетаПодвал);
КонецЕсли;
Если ТаблицаРасхождений <> Неопределено Тогда
СтрокаТаблицыРасхождений = ТаблицаРасхождений.Добавить();
СтрокаТаблицыРасхождений.ВалютаВзаиморасчетов = ВалютаВзаиморасчетов;
Если Партнер <> Неопределено Тогда
СтрокаТаблицыРасхождений.Партнер = Партнер;
КонецЕсли;
Если НЕ ЭтоДанныеКонтрагента Тогда
СтрокаТаблицыРасхождений.СуммаДолгПартнера = СуммаДолгПартнера;
СтрокаТаблицыРасхождений.СуммаНашДолг = СуммаНашДолг;
Иначе
СтрокаТаблицыРасхождений.СуммаДолгПартнера = -СуммаДолгПартнера;
СтрокаТаблицыРасхождений.СуммаНашДолг = -СуммаНашДолг;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Функция ОписаниеРасчетногоДокумента(
ДокументСсылка,
Номер,
Дата,
СтруктураПредставленийУчастников,
ЭтоВходящийНомер,
ЭтоДолгПартнера = Неопределено) Экспорт
ПредставленияДокументов = ПредставленияДокументов();
ПредставленияВладельцевДокументов = ПредставленияВладельцевДокументов();
МассивДокументовКонтрагента = ИменаМетаданныхВходящихДокументов();
ПредставлениеДокумента = "";
ПредставлениеВладельцаДокумента = "";
Если ТипЗнч(ДокументСсылка) = Тип("СправочникСсылка.ДоговорыКонтрагентов") Тогда
ОписаниеДокумента = ДокументСсылка;
ИначеЕсли ДокументСсылка <> Неопределено И НЕ ДокументСсылка.Пустая() Тогда
ПредставленияДокументов.Свойство(ДокументСсылка.Метаданные().Имя, ПредставлениеДокумента);
ОписаниеДокумента = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1 №%2 от %3'"),
?(ПредставлениеДокумента <> Неопределено, ПредставлениеДокумента, ""),
?(ЗначениеЗаполнено(Номер), ?(ЭтоВходящийНомер,
УбратьЛидирующиеНули(Номер),
ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Номер)), "_______"),
?(ЗначениеЗаполнено(Дата), Формат(Дата, "ДЛФ=D") + " " + НСтр("ru='г.'"), "' . . '"));
ПредставленияВладельцевДокументов.Свойство(ДокументСсылка.Метаданные().Имя, ПредставлениеВладельцаДокумента);
Если ЗначениеЗаполнено(ПредставлениеВладельцаДокумента) Тогда
Если МассивДокументовКонтрагента.Найти(ДокументСсылка.Метаданные().Имя) <> Неопределено Тогда
ВладелецДокумента = СтруктураПредставленийУчастников.КонтрагентНаименование;
Иначе
ВладелецДокумента = СтруктураПредставленийУчастников.ПредставлениеОрганизации;
КонецЕсли;
ОписаниеДокумента = ОписаниеДокумента + " (" + ПредставлениеВладельцаДокумента + " " + ВладелецДокумента + ")";
КонецЕсли;
Иначе
ПредставлениеДебитора = "";
Если ЭтоДолгПартнера <> Неопределено Тогда
ПредставлениеДебитора = ?(ЭтоДолгПартнера,
СтруктураПредставленийУчастников.ПредставлениеОрганизации,
СтруктураПредставленийУчастников.КонтрагентНаименование);
КонецЕсли;
ОписаниеДокумента = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Предоплата от %1'"), ПредставлениеДебитора);
КонецЕсли;
Возврат ОписаниеДокумента;
КонецФункции
Функция ИменаМетаданныхВходящихДокументов()
МассивДокументовКонтрагента = Новый Массив;
МассивДокументовКонтрагента.Добавить("АвансовыйОтчет");
МассивДокументовКонтрагента.Добавить("ВозвратТоваровОтКлиента");
МассивДокументовКонтрагента.Добавить("ЗаказКлиента");
МассивДокументовКонтрагента.Добавить("ЗаявкаНаВозвратТоваровОтКлиента");
МассивДокументовКонтрагента.Добавить("КорректировкаПоступления");
МассивДокументовКонтрагента.Добавить("ОтчетКомиссионера");
МассивДокументовКонтрагента.Добавить("ОтчетКомиссионераОСписании");
МассивДокументовКонтрагента.Добавить("ПоступлениеБезналичныхДенежныхСредств");
МассивДокументовКонтрагента.Добавить("ПоступлениеТоваровУслуг");
МассивДокументовКонтрагента.Добавить("ПоступлениеУслугПрочихАктивов");
МассивДокументовКонтрагента.Добавить("СчетФактураПолученный");
МассивДокументовКонтрагента.Добавить("ТаможеннаяДекларацияИмпорт");
// { ol
МассивДокументовКонтрагента.Добавить("ПриобретениеТоваровУслуг");
МассивДокументовКонтрагента.Добавить("ПриобретениеУслугПрочихАктивов");
МассивДокументовКонтрагента.Добавить("КорректировкаПриобретения");
// ol }
Возврат МассивДокументовКонтрагента;
КонецФункции
Функция СформироватьПечатнуюФормуАктСверкиВзаимныхРасчетов(МассивОбъектов, ОбъектыПечати,ВыводитьФаксимиле=ложь)
УстановитьПривилегированныйРежим(Истина);
ДанныеДокумента = ВыборкаДанныхДокумента(МассивОбъектов);
ТабличныйДокумент = Новый ТабличныйДокумент;
ПервыйДокумент = Истина;
Пока ДанныеДокумента.Следующий() Цикл
ДетальныеРасчеты = ДетальныеРасчеты(ДанныеДокумента);
Если ДетальныеРасчеты = Неопределено Тогда
Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'По документу %1 нет расчетов с партнерами. Печать акта сверки взаимных расчетов не требуется.'"),
ДанныеДокумента.ДокументСсылка);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
Текст,
ДанныеДокумента.ДокументСсылка);
Продолжить;
КонецЕсли;
// { ol
//Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.СверкаВзаиморасчетов.ПФ_MXL_АктСверкиВзаимныхРасчетов");
Макет = получитьМакет("ПФ_MXL_АктСверкиВзаимныхРасчетов");
// ol }
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// ШАПКА ДОКУМЕНТА
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ШтрихкодированиеПечатныхФорм.ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, ОбластьМакета, ДанныеДокумента.ДокументСсылка);
ТекстЗаголовка = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеДокумента, НСтр("ru='Акт сверки взаимных расчетов'"));
Если ДанныеДокумента.НачалоПериода = '00010101' Тогда
ПредставлениеПериода = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'по состоянию на %1'"),
Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД"),);
ПредставлениеПериодаРасчетов = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'По состоянию на %1'"),
Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД"),);
Иначе
ПредставлениеПериода = ПредставлениеПериода(ДанныеДокумента.НачалоПериода, КонецДня(ДанныеДокумента.КонецПериода));
ПервыйСимволПредставлениеПериода = Лев(ПредставлениеПериода, 1);
Если КодСимвола(ПервыйСимволПредставлениеПериода) >= 48
И КодСимвола(ПервыйСимволПредставлениеПериода) <= 57 Тогда
ПредставлениеПериода = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='за период: %1'"), ПредставлениеПериода);
Иначе
ПредставлениеПериода = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='за %1'"), ПредставлениеПериода);
КонецЕсли;
ПредставлениеПериодаРасчетов = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'В период с %1 по %2'"),
Формат(ДанныеДокумента.НачалоПериода, "ДЛФ=ДД"),
Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД"),);
КонецЕсли;
СведенияОбОрганизации = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеДокумента.Организация, ДанныеДокумента.Дата);
ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации,
"ПолноеНаименование");
СведенияОКонтрагенте = ФормированиеПечатныхФорм.СведенияОЮрФизЛице(ДанныеДокумента.Контрагент, ДанныеДокумента.Дата);
КонтрагентНаименование = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте,
"ПолноеНаименование");
СтруктураПредставленийУчастников = Новый Структура;
СтруктураПредставленийУчастников.Вставить("ПредставлениеОрганизации", ПредставлениеОрганизации);
СтруктураПредставленийУчастников.Вставить("КонтрагентНаименование", КонтрагентНаименование);
ОбластьМакета.Параметры.Заполнить(ДанныеДокумента);
ОбластьМакета.Параметры.Заполнить(СтруктураПредставленийУчастников);
ОбластьМакета.Параметры.ТекстЗаголовка = ТекстЗаголовка;
ОбластьМакета.Параметры.ФИОРуководителяКонтрагента = СокрЛП(ДанныеДокумента.ФИОРуководителяКонтрагента);
ОбластьМакета.Параметры.ПредставлениеПериода = ПредставлениеПериода;
ОбластьМакета.Параметры.ПредставлениеПериодаРасчетов = ПредставлениеПериодаРасчетов;
ТабличныйДокумент.Вывести(ОбластьМакета);
// 1. ДЕТАЛЬНЫЕ РАСЧЕТЫ
ТаблицаЗадолженности = Новый ТаблицаЗначений;
ТаблицаЗадолженности.Колонки.Добавить("Валюта");
ТаблицаЗадолженности.Колонки.Добавить("Сумма");
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
ТаблицаЗадолженности.Колонки.Добавить("Партнер");
КонецЕсли;
Если ДанныеДокумента.РасшифровкаПоДоговорам Тогда
ТаблицаЗадолженности.Колонки.Добавить("Договор");
КонецЕсли;
Пока ДетальныеРасчеты.Следующий() Цикл
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
ВыборкаПоДетальнымРасчетам = ДетальныеРасчеты.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоДетальнымРасчетам.Следующий() Цикл
ТабличныйДокумент.Вывести(ВывестиДетальныеЗаписи(ВыборкаПоДетальнымРасчетам, ДанныеДокумента, СтруктураПредставленийУчастников, Макет, ТаблицаЗадолженности, ДетальныеРасчеты.Партнер));
КонецЦикла;
ИначеЕсли ДанныеДокумента.РасшифровкаПоДоговорам Тогда
ВыборкаПоДетальнымРасчетам = ДетальныеРасчеты.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоДетальнымРасчетам.Следующий() Цикл
ТабличныйДокумент.Вывести(ВывестиДетальныеЗаписи(ВыборкаПоДетальнымРасчетам, ДанныеДокумента, СтруктураПредставленийУчастников, Макет, ТаблицаЗадолженности, , ДетальныеРасчеты.Договор));
КонецЦикла;
Иначе
ТабличныйДокумент.Вывести(ВывестиДетальныеЗаписи(ДетальныеРасчеты, ДанныеДокумента, СтруктураПредставленийУчастников, Макет, ТаблицаЗадолженности));
КонецЕсли;
КонецЦикла;
// 2. ЗАДОЛЖЕННОСТЬ
Если ТаблицаЗадолженности.Количество() > 0 Тогда
ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("ЗаголовокЗадолженность");
ОбластьМакетаСтрока = Макет.ПолучитьОбласть("СтрокаЗадолженность");
ОбластьМакетаСтрокаПодробно1 = Макет.ПолучитьОбласть("СтрокаЗадолженностьПодробноВтч");
ОбластьМакетаСтрокаПодробно2 = Макет.ПолучитьОбласть("СтрокаЗадолженностьПодробно");
ОбластьМакетаЗаголовок.Параметры.КонецПериодаСверки = Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД");
ТабличныйДокумент.Вывести(ОбластьМакетаЗаголовок);
ТаблицаЗадолженностиПоВалютам = ТаблицаЗадолженности.Скопировать();
ТаблицаЗадолженностиПоВалютам.Свернуть("Валюта", "Сумма");
Для Каждого СтрокаЗадолженностиПоВалютам Из ТаблицаЗадолженностиПоВалютам Цикл
ОбластьМакетаСтрока.Параметры.Валюта = СтрокаЗадолженностиПоВалютам.Валюта;
Если СтрокаЗадолженностиПоВалютам.Сумма > 0 Тогда
ОбластьМакетаСтрока.Параметры.Сумма = Формат(СтрокаЗадолженностиПоВалютам.Сумма, "ЧЦ=15; ЧДЦ=2; ЧГ=3,0");
Если ЗначениеЗаполнено(ДанныеДокумента.Партнер) Тогда
ОбластьМакетаСтрока.Параметры.Дебитор = ДанныеДокумента.ПредставлениеПартнера;
Иначе
ОбластьМакетаСтрока.Параметры.Дебитор = СтруктураПредставленийУчастников.КонтрагентНаименование;
КонецЕсли;
Иначе
ОбластьМакетаСтрока.Параметры.Сумма = Формат(-СтрокаЗадолженностиПоВалютам.Сумма, "ЧЦ=15; ЧДЦ=2; ЧГ=3,0");
Если ЗначениеЗаполнено(ДанныеДокумента.Партнер) Тогда
ОбластьМакетаСтрока.Параметры.Дебитор = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1 перед %2'"),
СтруктураПредставленийУчастников.ПредставлениеОрганизации,
ДанныеДокумента.ПредставлениеПартнера);
Иначе
ОбластьМакетаСтрока.Параметры.Дебитор = СтруктураПредставленийУчастников.ПредставлениеОрганизации;
КонецЕсли;
КонецЕсли;
ОбластьМакетаСтрока.Параметры.СуммаПрописью = РаботаСКурсамиВалют.СформироватьСуммуПрописью(СтрокаЗадолженностиПоВалютам.Сумма,СтрокаЗадолженностиПоВалютам.Валюта);
ТабличныйДокумент.Вывести(ОбластьМакетаСтрока);
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
ПервыйПроходПоПартнерам = Истина;
МассивСтрокЗадолженности = ТаблицаЗадолженности.НайтиСтроки(Новый Структура("Валюта", СтрокаЗадолженностиПоВалютам.Валюта));
Для Каждого СтрокаЗадолженности Из МассивСтрокЗадолженности Цикл
Если ПервыйПроходПоПартнерам Тогда
ОбластьМакета = ОбластьМакетаСтрокаПодробно1;
Иначе
ОбластьМакета = ОбластьМакетаСтрокаПодробно2;
КонецЕсли;
ОбластьМакета.Параметры.Валюта = СтрокаЗадолженности.Валюта;
Если СтрокаЗадолженности.Сумма > 0 Тогда
ОбластьМакета.Параметры.Сумма = Формат(СтрокаЗадолженности.Сумма, "ЧЦ=15; ЧДЦ=2; ЧГ=3,0");
ОбластьМакета.Параметры.Дебитор = СтрокаЗадолженности.Партнер;
Иначе
ОбластьМакета.Параметры.Сумма = Формат(-СтрокаЗадолженности.Сумма, "ЧЦ=15; ЧДЦ=2; ЧГ=3,0");
ОбластьМакета.Параметры.Дебитор = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='%1 перед %2'"),
СтруктураПредставленийУчастников.ПредставлениеОрганизации,
СтрокаЗадолженности.Партнер);
КонецЕсли;
ОбластьМакета.Параметры.СуммаПрописью = РаботаСКурсамиВалют.СформироватьСуммуПрописью(СтрокаЗадолженности.Сумма, СтрокаЗадолженности.Валюта);
ТабличныйДокумент.Вывести(ОбластьМакета);
ПервыйПроходПоПартнерам = Ложь;
КонецЦикла;
КонецЕсли;
КонецЦикла;
Иначе
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокЗадолженностьОтсутствует");
ОбластьМакета.Параметры.КонецПериодаСверки = Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД");
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
// 3. РАСХОЖДЕНИЙ НЕ ВЫЯВЛЕНО
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокРасхождения");
ТабличныйДокумент.Вывести(ОбластьМакета);
// ПОДПИСИ
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
// { ol
//ОбластьМакета.Параметры.Заполнить(ДанныеДокумента);
//ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации,
// "ПолноеНаименование,ИНН,ЮридическийАдрес");
//
//ОбластьМакета.Параметры.КонтрагентНаименование = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте,
// "ПолноеНаименование,ИНН,ЮридическийАдрес");
ВыводитьПростыеПодписи=истина;
Если ВыводитьФаксимиле тогда
ВыводитьПростыеПодписи=не ВывестиФаксимилеВТабличныйДокумент(Макет, ОбластьМакета, ДанныеДокумента.Организация, Новый Структура("ОтображатьФаксимиле",истина));
КонецЕсли;
если ВыводитьПростыеПодписи тогда
ОбластьМакета.Параметры.Заполнить(ДанныеДокумента);
ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации,
"ПолноеНаименование,ИНН,ЮридическийАдрес");
ОбластьМакета.Параметры.КонтрагентНаименование = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте,
"ПолноеНаименование,ИНН,ЮридическийАдрес");
КонецЕсли;
// ol }
ТабличныйДокумент.Вывести(ОбластьМакета);
// ПРИЛОЖЕНИЕ
Если ДанныеДокумента.РасшифровкаПоЗаказам Тогда
ТаблицаОстатков = ОстаткиРасчетов(ДанныеДокумента);
Если ТаблицаОстатков <> Неопределено Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
ТекстЗаголовкаПриложения = ОбщегоНазначенияУТКлиентСервер.СформироватьЗаголовокДокумента(ДанныеДокумента,
НСтр("ru='к акту сверки взаимных расчетов'"));
ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокПриложение");
ОбластьМакета.Параметры.ТекстЗаголовкаПриложения = ТекстЗаголовкаПриложения;
ОбластьМакета.Параметры.КонецПериодаСверки = Формат(ДанныеДокумента.КонецПериода, "ДЛФ=ДД");
ТабличныйДокумент.Вывести(ОбластьМакета);
МассивВалют = ОбщегоНазначенияУТ.УдалитьПовторяющиесяЭлементыМассива(ТаблицаОстатков.ВыгрузитьКолонку("ВалютаВзаиморасчетов"));
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
МассивПартнеров = ОбщегоНазначенияУТ.УдалитьПовторяющиесяЭлементыМассива(ТаблицаОстатков.ВыгрузитьКолонку("Партнер"));
КонецЕсли;
ПараметрыТаблицыЗадолженностей = Новый Структура;
ПараметрыТаблицыЗадолженностей.Вставить("ДанныеДокумента", ДанныеДокумента);
ПараметрыТаблицыЗадолженностей.Вставить("ТаблицаОстатков", ТаблицаОстатков);
ПараметрыТаблицыЗадолженностей.Вставить("СтруктураПредставленийУчастников", СтруктураПредставленийУчастников);
ПараметрыТаблицыЗадолженностей.Вставить("МассивВалют", МассивВалют);
ПараметрыТаблицыЗадолженностей.Вставить("Макет", Макет);
ПараметрыТаблицыЗадолженностей.Вставить("ВыводитьПодвал", Ложь);
Если ДанныеДокумента.РасшифровкаПоПартнерам Тогда
Для Каждого Партнер Из МассивПартнеров Цикл
ТабличныйДокумент.Вывести(ВывестиТаблицуЗадолженности(ПараметрыТаблицыЗадолженностей, Партнер));
КонецЦикла;
Иначе
ТабличныйДокумент.Вывести(ВывестиТаблицуЗадолженности(ПараметрыТаблицыЗадолженностей));
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
ОбластьМакета.Параметры.Заполнить(ДанныеДокумента);
ОбластьМакета.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации,
"ПолноеНаименование,ИНН,ЮридическийАдрес");
ОбластьМакета.Параметры.КонтрагентНаименование = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОКонтрагенте,
"ПолноеНаименование,ИНН,ЮридическийАдрес");
ТабличныйДокумент.Вывести(ОбластьМакета);
КонецЕсли;
КонецЕсли;
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, ДанныеДокумента.ДокументСсылка);
КонецЦикла;
ТабличныйДокумент.АвтоМасштаб = Истина;
Если ПривилегированныйРежим() Тогда
УстановитьПривилегированныйРежим(Ложь);
КонецЕсли;
Возврат ТабличныйДокумент;
КонецФункции
#КонецОбласти
Функция Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
//СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);
возврат СформироватьПечатнуюФормуАктСверкиВзаимныхРасчетов(МассивОбъектов, ОбъектыПечати, ПараметрыПечати.ОтображатьФаксимиле);
КонецФункции
ЭтоУТ11_4=лев(Метаданные.Версия,4)="11.4";
Интересно, НО — а нельзя ли ГРУППОВОЕ получение АКТОВ сверки по АРЕНДЕ недвижимости получить (1С БУХ +модуль Аренда), а потом по полученному списку эти акты и отправить… У нас проблема по получению ГРУППОВЫМ методом актов сверок
(1) Это вам нужно писать четкое ТЗ и нанять специалиста. Или просто нанять специалиста, все ему пояснив
(1) 2 — > 1
(2) Спасибо! Я как раз пишу четкое ТЗ с образцами, просто — хотелось бы, чтобы откликнулся кто то, кто работал с модулем «АРЕНДА», ибо разработчик сказал, что задача не актуальна, но — если 1000 договоров у кого то, то неужели в каждый договор заходят и выпускают регулярно (например, раз в квартал) Акт сверки? Тем более — у них 5 групповых обработок начиная со счетов и счет фактур
Здравствуйте, Управление торговлей, редакция 11 (11.4.6.230).
Пишет вот такую ошибку.