Рассылка актов сверки

26.12.19

Учетные задачи - Взаиморасчеты

Пакетная отправка актов сверки взаиморасчетов на электронную почту партнеров.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Рассылка актов сверки
.epf 38,44Kb ver:26.12.19
23 2 150 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Разработка пригодится для компаний с достаточно большим количеством партнеров, осуществляющим регламентную сверку с партнерами с некоторой периодичностью. Принцип работы: в журнале документов актов сверок помечается произвольное количество документов и по кнопке "Отправить" производится отправка на адреса электронной почты партнеров, указанных в карточке, файлов сверки расчетов в формате 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";

 

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

55778 50200 руб.

24.04.2015    201220    166    247    

291

Взаиморасчеты Email рассылки Акт сверки Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

4800 руб.

25.11.2020    27022    293    9    

251

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь Оперативный учет Управляемые формы 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Задайте для каждой организации свою печать и для каждого физического лица свою подпись. Выберите в документе печатную форму "... с печатью и подписью" - и автоматически сформируется табличный документ с печатью и подписями той организации и ответственных лиц, которые указаны в документе.

14400 руб.

13.03.2018    64712    231    79    

121

Взаиморасчеты Бухгалтер Пользователь 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Знаем о взаиморасчетах в Управлении нашей фирмой все, что только можно знать. Самая большая проблема взаиморасчетов в УНФ в том, что зависают непонятные долги и предоплаты, в Пульсе бизнеса показываются неадекватные цифры, отчеты по долгам показывают не пойми что. Автоматический зачет авансов в 1С:УНФ 3.0 поможет решить эту проблему.

18000 руб.

22.07.2021    28398    44    34    

49

Взаиморасчеты Бухгалтер Пользователь 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)

Один из лучших вариантов отчета по дебиторской задолженности в 1С. Отображает сроки возникновения задолженности, просроченной задолженности с точностью до регистратора, а также многое другое, вне зависимости от объекта расчетов (УТ 11.3, 11.4, 11.5, КА 2.4, 2.5, ERP 2.4, 2.5), состояния флажка По документам расчета ( УТ 10, КА 1.1, УПП 1.3) в договоре. Группирует задолженность по интервалам. Имеет большое количество настроек. Доступен API для использования рассчитанной задолженности в других отчетах, обработках, рабочих местах и т.п. Не требует доработок конфигурации. Не требует перепроведения документов.

16680 руб.

28.09.2012    101311    593    297    

150

Взаиморасчеты Бухгалтер Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение позволяет гибко настроить расчет и начисление пени в 1С в организации. Представлена в двух вариантах исполнения: как расширение и как обработка.

9600 руб.

18.10.2017    41037    86    47    

87

Учет доходов и расходов Взаиморасчеты БДР, БДДС Бухгалтер Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Доработали типовой платежный календарь, добавив в него планируемые постоянные расходы. Теперь можно видеть картину денежных средств в совокупности с текущей динамикой ожидаемых поступлений и расходов. Отчет позволяет увидеть остатки денежных средств в кассе и банке, их движение в разрезе статей ДДС с возможностью выбрать любой период (день, неделя, месяц).

3000 руб.

16.03.2021    23649    20    15    

35
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user604957_bap-omsk 30.11.19 12:36 Сейчас в теме
Интересно, НО - а нельзя ли ГРУППОВОЕ получение АКТОВ сверки по АРЕНДЕ недвижимости получить (1С БУХ +модуль Аренда), а потом по полученному списку эти акты и отправить... У нас проблема по получению ГРУППОВЫМ методом актов сверок
3. waol 320 30.11.19 17:53 Сейчас в теме
2. waol 320 30.11.19 17:51 Сейчас в теме
(1) Это вам нужно писать четкое ТЗ и нанять специалиста. Или просто нанять специалиста, все ему пояснив
4. user604957_bap-omsk 01.12.19 05:32 Сейчас в теме
(2) Спасибо! Я как раз пишу четкое ТЗ с образцами, просто - хотелось бы, чтобы откликнулся кто то, кто работал с модулем "АРЕНДА", ибо разработчик сказал, что задача не актуальна, но - если 1000 договоров у кого то, то неужели в каждый договор заходят и выпускают регулярно (например, раз в квартал) Акт сверки? Тем более - у них 5 групповых обработок начиная со счетов и счет фактур
5. yavezde 16.12.19 15:59 Сейчас в теме
Здравствуйте, Управление торговлей, редакция 11 (11.4.6.230).
Пишет вот такую ошибку.
Прикрепленные файлы:
6. waol 320 26.12.19 20:32 Сейчас в теме
(5) поправил ошибку - версия 26.12.19
7. yavezde 31.01.20 13:27 Сейчас в теме
(6) могли бы на почту прислать пожалуйста, а то не дает скачать обновленную версию. Спасибо
olesushka2005@mail.ru
8. waol 320 01.02.20 13:58 Сейчас в теме
(7) отправил. Пишите адреса, кому нужно
9. yavezde 02.02.20 13:07 Сейчас в теме
10. PortalC 20.02.20 08:27 Сейчас в теме
Почему печатная форма отличается от типовой? Такое чувство что она сделана из устаревшего макета "ПФ_MXL_УстаревшийАктСверкиВзаиморасчетов"
Прикрепленные файлы:
12. waol 320 20.02.20 11:42 Сейчас в теме
(10) макет брался из УТ 11.3.4.124.
13. PortalC 20.02.20 12:54 Сейчас в теме
(12) Планируете обновить публикацию под свежий релиз УТ?
14. waol 320 21.02.20 00:14 Сейчас в теме
(13) да нет, если честно - не планировал.
11. PortalC 20.02.20 08:28 Сейчас в теме
Акт сверки в актуальной УТ 11.4.11.67 выглядит так
Прикрепленные файлы:
Оставьте свое сообщение