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

26.12.19

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

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

Скачать исходный код

Наименование Файл Версия Размер
Рассылка актов сверки
.epf 38,44Kb
23
.epf 26.12.19 38,44Kb 23 Скачать

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

Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки

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

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

50722 45650 руб.

24.04.2015    190673    270    239    

269

"Акты сверки +" Групповая подготовка и рассылка актов сверки для Бухгалтерии 3.0.

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

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

3000 руб.

25.11.2020    22380    180    4    

160

УТ 11, КА 2, ERP 2: Настраиваемые под каждую организацию печать и подпись ответственных лиц в печатных формах (ТОРГ-12, Счёт-фактура, УПД, УКД, Заказ клиента, Акт сверки, М-15 и др.)

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

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

12000 руб.

13.03.2018    56743    184    76    

116

Автоматический зачет авансов в 1С:УНФ по ФИФО

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

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

12000 руб.

22.07.2021    23716    25    34    

32

Дебиторская задолженность по срокам долга

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

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

15120 руб.

28.09.2012    94719    589    281    

140

Автоматическая рассылка отчетов из 1С: Управление торговлей 10.3 и 1С:УПП по электронной почте

Email рассылки Оптовая торговля Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Управленческий учет Платные (руб)

Многим сотрудникам предприятия требуется актуальная и достоверная информация для принятия верных управленческих решений. Получить данную информацию можно при помощи отчетов, существующих в конфигурации «1С: Управление торговлей 10.3» или «1С:УПП». Но не всегда у пользователей есть время, возможность и/или желание формировать отчеты непосредственно в системе. Намного привычней и удобней получать готовые отчеты на электронную почту, не открывая 1С.

12000 руб.

16.04.2014    84354    100    91    

94

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83800    43    191    

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