Как программно добавить в печатную форму номер телефона исполнителя, возможно ли это?

1. ULU 21.12.20 15:43 Сейчас в теме
Здравствуйте, в Бухгалтерии, в печатную форму документа "акт сверки с контрагентом" хочу добавить телефон исполнителя (физ лица).
Если пытаюсь вывести так:
ОбластьПодвал.Параметры.ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),
"", ДанныеИсполнителя.НомерТелефона);
пишет что поле обьекта НомерТелефона нет, хотя в физ лице есть табличная часть "Контактная информация" с таким реквизитом.
Как исправить или как по другому можно это реализовать?
По теме из базы знаний
Найденные решения
25. Ганс 21.12.20 17:06 Сейчас в теме
(18) Должно быть примерно так
ОбластьПодвал.Параметры.ТелефонИсполнителя = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(Шапка.Исполнитель, Справочники.ВидыКонтактнойИнформации.ТелефонРабочийФизическиеЛица)
user918949; ULU; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
12. Ганс 21.12.20 16:24 Сейчас в теме
(1) какая конфигурация?
скиньте ВПФ
18. ULU 21.12.20 16:44 Сейчас в теме
(12) Бухгалтерия для Беларуси, редакция 2.1
Прикрепленные файлы:
АктСверкииСКонтрагентами — копия (2).epf
20. KonecEsli 1 21.12.20 16:50 Сейчас в теме
(18) А где в Вашем запросе хоть слово о контактной информации физ.лица ?
22. ULU 21.12.20 16:56 Сейчас в теме
(20) Поэтому и обратилась сюда ибо не могу разобраться чего не хватает и как это нужно написать.
25. Ганс 21.12.20 17:06 Сейчас в теме
(18) Должно быть примерно так
ОбластьПодвал.Параметры.ТелефонИсполнителя = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(Шапка.Исполнитель, Справочники.ВидыКонтактнойИнформации.ТелефонРабочийФизическиеЛица)
user918949; ULU; +2 Ответить
27. ULU 22.12.20 09:26 Сейчас в теме
(25) Спасибо огромное, это работает.
2. KonecEsli 1 21.12.20 15:54 Сейчас в теме
Вы что собираетесь сделать... ВПФ или пилить конфу ?
3. ULU 21.12.20 16:02 Сейчас в теме
(2) Забыла указать, это ВПФ, в ней провожу все эти манипуляции.
4. Поручик 4674 21.12.20 16:03 Сейчас в теме
Значит, в структуру ДанныеИсполнителя надо добавить поле НомерТелефона и заполнить его по данным табличной части "Контактная информация"
5. ULU 21.12.20 16:06 Сейчас в теме
(4) Есть:
ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);
Или не то?
6. Torin 749 21.12.20 16:09 Сейчас в теме
(5)
ДанныеИсполнителя
- Отладчиком см.. что в нем есть!
8. ULU 21.12.20 16:16 Сейчас в теме
(6) Отладчик стопорится на:

ВнешняяОбработкаОбъект.Печать(
ПараметрыИсточника.ОбъектыНазначения,
КоллекцияПечатныхФорм,
ОбъектыПечати,
ПараметрыВывода);
9. Torin 749 21.12.20 16:20 Сейчас в теме
(8)
нешняяОбработкаОбъект.Печать(
ПараметрыИсточника.ОбъектыНазначения,
КоллекцияПечатны

Еще и ВПФ без отладки.. супер
10. ULU 21.12.20 16:21 Сейчас в теме
(9) Это моя первая ВПФ, если не сложно обьясните что не так.
13. Torin 749 21.12.20 16:24 Сейчас в теме
(10) Запрос формирования данных для печати! Выложите ( Вам же уже выше (7)) написали.. мы же не телепаты, что у вас там в самом теле запроса
16. ULU 21.12.20 16:38 Сейчас в теме
(13)
Функция ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверкиСКонтрагентом()
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	Акт.Ссылка КАК АктСверкиСКонтрагентом,
	|	ВЫБОР
	|		КОГДА Акт.РазбитьПоДоговорам
	|			ТОГДА ТЧПоДаннымОрганизации.Договор
	|		ИНАЧЕ NULL
	|	КОНЕЦ КАК Договор,
	|	ТЧПоДаннымОрганизации.НомерСтроки КАК НомерСтроки,
	|	ТЧПоДаннымОрганизации.Дата КАК Дата,
	|	NULL КАК ДатаК,
	|	ТЧПоДаннымОрганизации.Документ КАК Документ,
	|	ТЧПоДаннымОрганизации.Представление КАК Представление,
	|	NULL КАК ПредставлениеК,
	|	ТЧПоДаннымОрганизации.Дебет КАК Дебет,
	|	ТЧПоДаннымОрганизации.Кредит КАК Кредит,
	|	0 КАК ДебетК,
	|	0 КАК КредитК,
	|	0 КАК НомерТабЧасти
	|ПОМЕСТИТЬ ДанныеДокумента
	|ИЗ
	|	Документ.АктСверкиВзаиморасчетов КАК Акт
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктСверкиВзаиморасчетов.ПоДаннымОрганизации КАК ТЧПоДаннымОрганизации
	|		ПО Акт.Ссылка = ТЧПоДаннымОрганизации.Ссылка
	|ГДЕ
	|	Акт.Ссылка В(&МассивДокументов)
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Акт.Ссылка,
	|	ВЫБОР
	|		КОГДА Акт.РазбитьПоДоговорам
	|			ТОГДА ТЧПоДаннымКонтрагента.Договор
	|		ИНАЧЕ NULL
	|	КОНЕЦ,
	|	ТЧПоДаннымКонтрагента.НомерСтроки,
	|	NULL,
	|	ТЧПоДаннымКонтрагента.Дата,
	|	NULL,
	|	NULL,
	|	ТЧПоДаннымКонтрагента.Представление,
	|	0,
	|	0,
	|	ТЧПоДаннымКонтрагента.Дебет,
	|	ТЧПоДаннымКонтрагента.Кредит,
	|	1
	|ИЗ
	|	Документ.АктСверкиВзаиморасчетов КАК Акт
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктСверкиВзаиморасчетов.ПоДаннымКонтрагента КАК ТЧПоДаннымКонтрагента
	|		ПО Акт.Ссылка = ТЧПоДаннымКонтрагента.Ссылка
	|ГДЕ
	|	Акт.Ссылка В(&МассивДокументов)
	|
	|ИНДЕКСИРОВАТЬ ПО
	|	АктСверкиСКонтрагентом
	|;
	|
	|////////////////////////////////////////////////////////////­////////////////////
	|ВЫБРАТЬ
	|	ДанныеДокумента.АктСверкиСКонтрагентом КАК АктСверкиСКонтрагентом,
	|	ДанныеДокумента.Договор КАК Договор,
	|	ДанныеДокумента.НомерСтроки КАК НомерСтроки,
	|	ДанныеДокумента.Дата КАК Дата,
	|	ДанныеДокумента.Дата КАК МинДата,
	|	ДанныеДокумента.Документ,
	|	ДанныеДокумента.Представление,
	|	ДанныеДокумента.ДатаК,
	|	ДанныеДокумента.ПредставлениеК,
	|	ДанныеДокумента.Дебет КАК СуммаДогДт,
	|	ДанныеДокумента.Кредит КАК СуммаДогКт,
	|	ДанныеДокумента.ДебетК КАК СуммаДогДтКонтр,
	|	ДанныеДокумента.КредитК КАК СуммаДогКтКонтр,
	|	АктСверкиВзаиморасчетов.Организация КАК Организация,
	|	АктСверкиВзаиморасчетов.Контрагент КАК Контрагент,
	|	АктСверкиВзаиморасчетов.Дата КАК ДатаАктаСверки,
	|	АктСверкиВзаиморасчетов.ПредставительОрганизации КАК ПредставительОрганизации,
	//  (
	|   АктСверкиВзаиморасчетов.ПредставительОрганизации1 КАК ПредставительОрганизации1,
	|   АктСверкиВзаиморасчетов.Ответственный КАК Ответственный,
	|   АктСверкиВзаиморасчетов.Исполнитель КАК Исполнитель,
	//   )
	|	АктСверкиВзаиморасчетов.ПредставительКонтрагента КАК ПредставительКонтрагента,
	|	АктСверкиВзаиморасчетов.ДатаНачала КАК ДатаНачала,
	|	АктСверкиВзаиморасчетов.ДатаОкончания КАК ДатаОкончания,
	|	АктСверкиВзаиморасчетов.ОстатокНаНачало КАК ОстатокНаНачало,
	|	АктСверкиВзаиморасчетов.Расхождение КАК Расхождение,
	|	АктСверкиВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагентаВШапке,
	|	АктСверкиВзаиморасчетов.ВалютаДокумента КАК ВалютаДокумента,
	|	АктСверкиВзаиморасчетов.РазбитьПоДоговорам КАК РазбитьПоДоговорам,
	|	АктСверкиВзаиморасчетов.СверкаСогласована КАК СверкаСогласована,
	//1С-Минск
	|	АктСверкиВзаиморасчетов.МестоСоставленияАкта КАК МестоСоставленияАкта,
	//1С-Минск
	|	ДанныеДокумента.НомерТабЧасти КАК НомерТабЧасти
	|ИЗ
	|	ДанныеДокумента КАК ДанныеДокумента
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктСверкиВзаиморасчетов КАК АктСверкиВзаиморасчетов
	|		ПО ДанныеДокумента.АктСверкиСКонтрагентом = АктСверкиВзаиморасчетов.Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|	НомерТабЧасти,
	|	ДанныеДокумента.НомерСтроки
	|ИТОГИ
	|	МИНИМУМ(МинДата),
	|	СУММА(СуммаДогДт),
	|	СУММА(СуммаДогКт),
	|	СУММА(СуммаДогДтКонтр),
	|	СУММА(СуммаДогКтКонтр),
	|	МАКСИМУМ(Организация),
	|	МАКСИМУМ(Контрагент),
	|	МАКСИМУМ(ДатаАктаСверки),
	|	МАКСИМУМ(ПредставительОрганизации),
	//  (
	|	МАКСИМУМ(ПредставительОрганизации1),
	|   МАКСИМУМ(Ответственный),
	|   МАКСИМУМ(Исполнитель),
	//   )
	|	МАКСИМУМ(ПредставительКонтрагента),
	|	МАКСИМУМ(ДатаНачала),
	|	МАКСИМУМ(ДатаОкончания),
	|	МАКСИМУМ(ОстатокНаНачало),
	|	МАКСИМУМ(Расхождение),
	|	МАКСИМУМ(ДоговорКонтрагентаВШапке),
	|	МАКСИМУМ(ВалютаДокумента),
	|	МАКСИМУМ(РазбитьПоДоговорам),
	|	МАКСИМУМ(СверкаСогласована),
	//1С-Минск
	|	МАКСИМУМ(МестоСоставленияАкта)
	//1С-Минск
	|ПО
	|	АктСверкиСКонтрагентом,
	|	Договор";
	
	Возврат ТекстЗапроса;
	
КонецФункции


// Функция формирует табличный документ с печатной формой накладной,
//
// Возвращаемое значение:
//  Табличный документ - печатная форма накладной
//
Функция ПечатьАктаСверкиСКонтрагентом(МассивОбъектов, ОбъектыПечати)

	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб				= Истина;
	ТабличныйДокумент.РазмерКолонтитулаСверху	= 0;
	ТабличныйДокумент.РазмерКолонтитулаСнизу	= 0;
	ТабличныйДокумент.ОриентацияСтраницы		= ОриентацияСтраницы.Ландшафт;
	ТабличныйДокумент.ИмяПараметровПечати		= "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов";
	
	Макет = ПолучитьМакет("ПФ_MXL_АктСверки_Локализация");
	                     
	Запрос = Новый Запрос();
	Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
	Запрос.Текст = ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверкиСКо­нтрагентом();
	
	Шапка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "АктСверки");
	
	ПервыйДокумент = Истина;
	
	Пока Шапка.Следующий() Цикл
		Если Не ПервыйДокумент Тогда                                                                                                          		

			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		// Запомним номер строки, с которой начали выводить текущий документ.
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		// Получаем области:
		ОбластьЗаголовок    = Макет.ПолучитьОбласть("Заголовок");
		ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
		ОбластьНачОстатки   = Макет.ПолучитьОбласть("НачОстатки");
		ОбластьДоговор      = Макет.ПолучитьОбласть("Договор");
		ОбластьДоговорИтоги = Макет.ПолучитьОбласть("ДоговорИтоги");
		ОбластьОбороты      = Макет.ПолучитьОбласть("Обороты");
		ОбластьОборотыИтог  = Макет.ПолучитьОбласть("ОборотыИтог");
		ОбластьКонОстатки   = Макет.ПолучитьОбласть("КонОстатки");
		ОбластьПодвал       = Макет.ПолучитьОбласть("Подвал");
		
		// Заполняем шапку:
		СведенияОбОрганизации    = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаАктаСверки);
		ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
		
		СведенияОКонтрагенте     = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаАктаСверки);
		ПредставлениеКонтрагента = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
		//(
		//СведенияОИсполнителе     = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Исполнитель, Шапка.ДатаАктаСверки);
		//ПредставлениеИсполнителя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОИсполнителе, "НаименованиеДляПечатныхФорм,");
		//(

		
		ОбластьЗаголовок.Параметры.НазваниеОрганизации     = ПредставлениеОрганизации;
		ОбластьЗаголовок.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
		ДатаНачалаОтчета = ?(ЗначениеЗаполнено(Шапка.ДатаНачала), Шапка.ДатаНачала, Шапка.МинДата);

		ОписаниеПериода = ?(ЗначениеЗаполнено(ДатаНачалаОтчета),"за период: " + ПредставлениеПериода(НачалоДня( ДатаНачалаОтчета), КонецДня( Шапка.ДатаОкончания), "ФП = Истина"),"");
		
		ТекстЗаголовка = "взаимных расчетов " + ОписаниеПериода  + Символы.ПС
						+ "между " + ПредставлениеОрганизации + Символы.ПС + "и " + ПредставлениеКонтрагента;
		ДоговорКонтрагента = Шапка.ДоговорКонтрагентаВШапке;
		Если ЗначениеЗаполнено(ДоговорКонтрагента) И НЕ ДоговорКонтрагента.ЭтоГруппа Тогда
			ТекстЗаголовка = ТекстЗаголовка + Символы.ПС + "по договору " + ДоговорКонтрагента;
		КонецЕсли;
		
		ОбластьЗаголовок.Параметры.ТекстЗаголовка = ТекстЗаголовка;
		
		ДанныеПредставителяОрганизации = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации, Шапка.ДатаАктаСверки);
		//    (
		ДанныеПредставителяОрганизации1 = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации1, Шапка.ДатаАктаСверки);
		ФИОПредставителя1 = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Фамилия), "",ДанныеПредставителяОрганизации1.Фамилия
						+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Имя), "", " "+ ДанныеПредставителяОрганизации1.Имя)
						+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Отчество), "", " "+ ДанныеПредставителяОрганизации1.Отчество));
		ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
		ФИОИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Фамилия), "",ДанныеИсполнителя.Фамилия
						+ ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Имя), "", " "+ ДанныеИсполнителя.Имя)
						+ ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Отчество), "", " "+ ДанныеИсполнителя.Отчество));
		ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);

		//     )
		ДанныеПредставителяКонтрагента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Шапка.ПредставительКонтрагента, "Должность, Фамилия, Имя, Отчество");
		ФИОПредставителя = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Фамилия), "",ДанныеПредставителяОрганизации.Фамилия
						+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Имя), "", " "+ ДанныеПредставителяОрганизации.Имя)
						+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Отчество), "", " "+ ДанныеПредставителяОрганизации.Отчество));
		
		СтрЗаголовокТаблица = "Мы, нижеподписавшиеся, " + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
					"________________", ДанныеПредставителяОрганизации.Должность) + " " + ПредставлениеОрганизации
					+ " " + ?(ФИОПредставителя <> "", ФИОПредставителя, "_______________________") + ", с одной стороны, "
					+ "и " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента) ИЛИ НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
					"________________", ДанныеПредставителяКонтрагента.Должность)
					+ " " + ПредставлениеКонтрагента + " " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
					"_______________________", Шапка.ПредставительКонтрагента) + ", с другой стороны, "
					+ "составили настоящий акт сверки в том, что состояние взаимных расчетов по данным учета следующее:";
		
		ОбластьЗаголовок.Параметры.СтрЗаголовокТаблица = СтрЗаголовокТаблица;
		ОбластьЗаголовок.Параметры.ВалютаДокумента = Шапка.ВалютаДокумента;
		
		ТабличныйДокумент.Вывести(ОбластьЗаголовок);
		ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
		
		ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокДт = ?(Шапка.ОстатокНаНачало > 0, Шапка.ОстатокНаНачало, 0);
		ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокКт = ?(Шапка.ОстатокНаНачало < 0, -Шапка.ОстатокНаНачало, 0);
		ТабличныйДокумент.Вывести(ОбластьНачОстатки);
		
		ОборотыДт = Шапка.СуммаДогДт;
		ОборотыКт = Шапка.СуммаДогКт;
		ОборотыДтКонтр = Шапка.СуммаДогДтКонтр;
		ОборотыКтКонтр = Шапка.СуммаДогКтКонтр;

		
		ОбходПоДоговорам = Шапка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Договор");
		Пока ОбходПоДоговорам.Следующий() Цикл
			
			Если Шапка.РазбитьПоДоговорам Тогда
				//Выводим заголовок с договором
				ОбластьДоговор.Параметры.Договор = ОбходПоДоговорам.Договор;
				ОбластьДоговор.Параметры.Регистратор = ОбходПоДоговорам.Договор;
				ТабличныйДокумент.Вывести(ОбластьДоговор);
				ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
			Иначе
				ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
			КонецЕсли;
			
			//Создадим список документов по организации и контрагенту
			СписокДокументов = новый массив;
			СписокДокументовК = новый массив;
			Пока ОбходПоДокументам.Следующий() Цикл
				Если ОбходПоДокументам.Дата<>NULL Тогда
					СписокДокументов.Добавить(новый структура("ДатаДокумента, РегистраторПредставление, Регистратор, СуммаОборотДт, СуммаОборотКт",
					ОбходПоДокументам.Дата,ОбходПоДокументам.Представление,ОбходПоДокументам.Документ,ОбходПоДокументам.СуммаДогДт,ОбходПоДокументам.СуммаДогКт));
				КонецЕсли;
				
				Если ОбходПоДокументам.ДатаК<>NULL Тогда
					СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр",
					ОбходПоДокументам.ДатаК,ОбходПоДокументам.ПредставлениеК,ОбходПоДокументам.СуммаДогДтКонтр,ОбходПоДокументам.СуммаДогКтКонтр));
				КонецЕсли;
			КонецЦикла;
			
			//Для упрощения вывода, сравним списки по количеству элементов, добавив пустые
			МаксИндекс = Макс(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
			МинИндекс = Мин(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
			Если СписокДокументов.Количество() < СписокДокументовК.Количество() Тогда
				Для инд = МинИндекс По МаксИндекс-1 Цикл
					СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт","","","","",""));
				КонецЦикла;
			ИначеЕсли СписокДокументов.Количество() > СписокДокументовК.Количество() Тогда 
				Для инд = МинИндекс По МаксИндекс-1 Цикл
					СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр","","","",""));
				КонецЦикла;
			КонецЕсли;
			
			Для Инд = 0 По МаксИндекс Цикл
				ОбластьОбороты.Параметры.Заполнить(СписокДокументов[Инд]);
				ОбластьОбороты.Параметры.Заполнить(СписокДокументовК[Инд]);
				ТабличныйДокумент.Вывести(ОбластьОбороты);
			КонецЦикла;
			
			Если Шапка.РазбитьПоДоговорам Тогда
				//Выводим итоги по каждому договору
				ОбластьДоговорИтоги.Параметры.Заполнить(ОбходПоДоговорам);
				ТабличныйДокумент.Вывести(ОбластьДоговорИтоги);
			Иначе
				Прервать;
			КонецЕсли;
			
		КонецЦикла;
		
		ОбластьОборотыИтог.Параметры.СуммаОборотДт      = ОборотыДт;
		ОбластьОборотыИтог.Параметры.СуммаОборотКт      = ОборотыКт;
		Если Шапка.СверкаСогласована тогда
			ОбластьОборотыИтог.Параметры.СуммаОборотДтКонтр = ОборотыДтКонтр;
			ОбластьОборотыИтог.Параметры.СуммаОборотКтКонтр = ОборотыКтКонтр;
		КонецЕсли;
		ТабличныйДокумент.Вывести(ОбластьОборотыИтог);
		
		
		ОстатокНаКонец = Шапка.ОстатокНаНачало + ОборотыДт -  ОборотыКт;
		ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДт = ?(ОстатокНаКонец > 0, ОстатокНаКонец, 0);
		ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКт = ?(ОстатокНаКонец < 0, -ОстатокНаКонец, 0);
		
		Если Шапка.СверкаСогласована тогда
			ОстатокНаКонецК = Шапка.ОстатокНаНачало - ОборотыДтКонтр +  ОборотыКтКонтр;
			ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКтКонтр = ?(ОстатокНаКонецК > 0, ОстатокНаКонецК, 0);
			ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДтКонтр = ?(ОстатокНаКонецК < 0, -ОстатокНаКонецК, 0);
		КонецЕсли;
		
		ТабличныйДокумент.Вывести(ОбластьКонОстатки);
		
		// Результаты сверки
		Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
			РезультатыСверки = "<не указана дата сверки>";
		ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
			РезультатыСверки = "<не указан контрагент>";
		Иначе
			РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
				
			Если ОстатокНаКонец > 0 Тогда
				РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " " 
									+ Формат(ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " " 
									+ строка(Шапка.ВалютаДокумента)
									+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
		
			ИначеЕсли ОстатокНаКонец < 0 Тогда
				РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " " 
									+ Формат(-ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " " 
									+ строка(Шапка.ВалютаДокумента)
									+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
		
			Иначе
				РезультатыСверки = РезультатыСверки + "отсутствует.";
			КонецЕсли;
		КонецЕсли;
		ОбластьПодвал.Параметры.РезультатыСверки = РезультатыСверки;
		
		Если Шапка.СверкаСогласована тогда
			ОбластьПодвал.Параметры.ПоДаннымКонтрагента = "По данным " + ПредставлениеКонтрагента;
			
			Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
				РезультатыСверки = "<не указана дата сверки>";
			ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
				РезультатыСверки = "<не указан контрагент>";
			Иначе
				РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
					
				Если ОстатокНаКонецК > 0 Тогда
					РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " " 
										+ Формат(ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " " 
										+ строка(Шапка.ВалютаДокумента)
										+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;

				ИначеЕсли ОстатокНаКонецК < 0 Тогда
					РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " " 
										+ Формат(-ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " " 
										+ строка(Шапка.ВалютаДокумента)
										+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;

			
				Иначе
					РезультатыСверки = РезультатыСверки + "отсутствует.";
				КонецЕсли;
			КонецЕсли;
			
			ОбластьПодвал.Параметры.РезультатыСверкиК = РезультатыСверки;
			
			Если Шапка.Расхождение <> 0 Тогда
				ИтогСверки = "В результате сверки выявлено расхождение информации о состоянии расчетов в размере "
							+ Формат(?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, "ЧЦ=21; ЧДЦ=2") 
							+ " "+ Строка(Шапка.ВалютаДокумента)
							+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(
							?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, Шапка.ВалютаДокумента, Ложь)+")" ;
				ОбластьПодвал.Параметры.ИтогСверки = Символы.ПС + ИтогСверки+Символы.ПС+" ";
			КонецЕсли;
		КонецЕсли;
		
		ОбластьПодвал.Параметры.НазваниеОрганизации     = ПредставлениеОрганизации;
		ОбластьПодвал.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
		
		
		ОбластьПодвал.Параметры.Должность  = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
			"________________", ДанныеПредставителяОрганизации.Должность);
		     //  (
		ОбластьПодвал.Параметры.Должность1  = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Должность),
			"________________", ДанныеПредставителяОрганизации1.Должность);
		ОбластьПодвал.Параметры.ДолжностьИ  = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Должность),
			"________________", ДанныеИсполнителя.Должность);
		ОбластьПодвал.Параметры.ТелефонИсполнителя  = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),"", ДанныеИсполнителя.НомерТелефона);
		     //   )
		ОбластьПодвал.Параметры.ДолжностьК = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
			"________________", ДанныеПредставителяКонтрагента.Должность);
		
		
		
		ОбластьПодвал.Параметры.ФИОПредставителя  = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации),
			"_______________________",ДанныеПредставителяОрганизации.Представление)+")";
		//   (
		 ОбластьПодвал.Параметры.ФИОПредставителя1  = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1),
			"_______________________",ДанныеПредставителяОрганизации1.Представление)+")";
		  ОбластьПодвал.Параметры.ФИОИсполнителя  = "("+?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя),
		    "_______________________",ДанныеИсполнителя.Представление)+")";
		//    )
		ОбластьПодвал.Параметры.ФИОПредставителяК = "("+?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
			"_______________________",ОбщегоНазначенияБПВызовСервера.ФамилияИнициалыФизЛица(
			ДанныеПредставителяКонтрагента.Фамилия + " " + ДанныеПредставителяКонтрагента.Имя + " " + ДанныеПредставителяКонтрагента.Отчество))+")";
		
		ТабличныйДокумент.Вывести(ОбластьПодвал);
		
		
		// В табличном документе зададим имя области, в которую был 
		// выведен объект. Нужно для возможности печати покомплектно.
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 
			НомерСтрокиНачало, ОбъектыПечати, Шапка.АктСверкиСКонтрагентом);

	КонецЦикла; // Пока Шапка.Следующий()

	Возврат ТабличныйДокумент;

КонецФункции



Функция ПечатьАктаСверкиСКонтрагентом_Локализация(МассивОбъектов, ОбъектыПечати)
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	ТабличныйДокумент.АвтоМасштаб				= Истина;
	ТабличныйДокумент.РазмерКолонтитулаСверху	= 0;
	ТабличныйДокумент.РазмерКолонтитулаСнизу	= 0;
	ТабличныйДокумент.ОриентацияСтраницы		= ОриентацияСтраницы.Ландшафт;
	ТабличныйДокумент.ИмяПараметровПечати		= "ПАРАМЕТРЫ_ПЕЧАТИ_АктСверкиВзаиморасчетов";
	
	Макет = ПолучитьМакет("ПФ_MXL_АктСверки_Локализация");
	
	Запрос = Новый Запрос();
	Запрос.УстановитьПараметр("МассивДокументов", МассивОбъектов);
	Запрос.Текст = ПолучитьТекстЗапросаДляФормированияПечатнойФормыАктСверкиСКо­нтрагентом();
	
	Шапка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "АктСверкиСКонтрагентом");
	
	ПервыйДокумент = Истина;
	
	Пока Шапка.Следующий() Цикл
		
		Если Не ПервыйДокумент Тогда
			ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		КонецЕсли;
		
		ПервыйДокумент = Ложь;
		// Запомним номер строки, с которой начали выводить текущий документ.
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		// Получаем области:
		ОбластьЗаголовок    = Макет.ПолучитьОбласть("Заголовок");
		ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
		ОбластьНачОстатки   = Макет.ПолучитьОбласть("НачОстатки");
		ОбластьДоговор      = Макет.ПолучитьОбласть("Договор");
		ОбластьДоговорИтоги = Макет.ПолучитьОбласть("ДоговорИтоги");
		ОбластьОбороты      = Макет.ПолучитьОбласть("Обороты");
		ОбластьОборотыИтог  = Макет.ПолучитьОбласть("ОборотыИтог");
		ОбластьКонОстатки   = Макет.ПолучитьОбласть("КонОстатки");
		ОбластьПодвал       = Макет.ПолучитьОбласть("Подвал");
		
		// Заполняем шапку:
		СведенияОбОрганизации    = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаАктаСверки);
		ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,");
		
		СведенияОКонтрагенте     = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаАктаСверки);
		ПредставлениеКонтрагента = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм,");
		
		//(
		//СведенияОИсполнителе     = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Исполнитель, Шапка.ДатаАктаСверки);
		//ПредставлениеИсполнителя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОИсполнителе, "НаименованиеДляПечатныхФорм,");
		//(
		
		ОбластьЗаголовок.Параметры.НазваниеОрганизации     = ПредставлениеОрганизации;
		ОбластьЗаголовок.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
		ОбластьЗаголовок.Параметры.ДатаДокумента = Формат(Шапка.ДатаАктаСверки, "ДФ=""дд ММММ гггг 'г.'""");
    	ОбластьЗаголовок.Параметры.МестоСоставленияАкта = Шапка.МестоСоставленияАкта;
		ДатаНачалаОтчета = ?(ЗначениеЗаполнено(Шапка.ДатаНачала), Шапка.ДатаНачала, Шапка.МинДата);

		ОписаниеПериода = "за период: " + ПредставлениеПериода(НачалоДня( ДатаНачалаОтчета), КонецДня( Шапка.ДатаОкончания), "ФП = Истина");
		
		ТекстЗаголовка = "взаимных расчетов " + ОписаниеПериода  + Символы.ПС
						+ "между " + ПредставлениеОрганизации + Символы.ПС + "и " + ПредставлениеКонтрагента;
		ДоговорКонтрагента = Шапка.ДоговорКонтрагентаВШапке;
		Если ЗначениеЗаполнено(ДоговорКонтрагента) И НЕ ДоговорКонтрагента.ЭтоГруппа Тогда
			ТекстЗаголовка = ТекстЗаголовка + Символы.ПС + "по договору " + ДоговорКонтрагента;
		КонецЕсли;
		
		ОбластьЗаголовок.Параметры.ТекстЗаголовка = ТекстЗаголовка;
		
		ДанныеПредставителяОрганизации = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации, Шапка.ДатаАктаСверки);
		//   (
		ДанныеПредставителяОрганизации1 = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.ПредставительОрганизации1, Шапка.ДатаАктаСверки);
		ФИОПредставителя1 = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Фамилия), "",ДанныеПредставителяОрганизации1.Фамилия
		                + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Имя), "", " "+ ДанныеПредставителяОрганизации1.Имя)
		                + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Отчество), "", " "+ ДанныеПредставителяОрганизации1.Отчество));
		ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
		ФИОИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Фамилия), "",ДанныеИсполнителя.Фамилия
		                + ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Имя), "", " "+ ДанныеИсполнителя.Имя)
		                + ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Отчество), "", " "+ ДанныеИсполнителя.Отчество));		
		ДанныеИсполнителя = ОбщегоНазначенияБПВызовСервера.ДанныеФизЛица(Шапка.Организация, Шапка.Исполнитель, Шапка.ДатаАктаСверки);
		ТелефонИсполнителя = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона), "",ДанныеИсполнителя.НомерТелефона);
		//    )
		ДанныеПредставителяКонтрагента = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Шапка.ПредставительКонтрагента, "Должность, Фамилия, Имя, Отчество");  // 1С-Минск. 
		ФИОПредставителя = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Фамилия), "",ДанныеПредставителяОрганизации.Фамилия
						+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Имя), "", " "+ ДанныеПредставителяОрганизации.Имя)
						+ ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Отчество), "", " "+ ДанныеПредставителяОрганизации.Отчество));
						
		
		СтрЗаголовокТаблица = "Мы, нижеподписавшиеся, " + ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
					"________________", ДанныеПредставителяОрганизации.Должность) + " " + ПредставлениеОрганизации
					+ " " + ?(ФИОПредставителя <> "", ФИОПредставителя, "_______________________") + ", с одной стороны, "
					+ "и " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента) ИЛИ НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
					"________________", ДанныеПредставителяКонтрагента.Должность)
					+ " " + ПредставлениеКонтрагента + " " + ?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
					"_______________________", Шапка.ПредставительКонтрагента) + ", с другой стороны, "
					+ "составили настоящий акт сверки в том, что состояние взаимных расчетов по данным учета следующее:";
		
		ОбластьЗаголовок.Параметры.СтрЗаголовокТаблица = СтрЗаголовокТаблица;
		ОбластьЗаголовок.Параметры.ВалютаДокумента = Шапка.ВалютаДокумента;
		
		ТабличныйДокумент.Вывести(ОбластьЗаголовок);
		ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
		
		ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокДт = ?(Шапка.ОстатокНаНачало > 0, Шапка.ОстатокНаНачало, 0);
		ОбластьНачОстатки.Параметры.СуммаНачальныйОстатокКт = ?(Шапка.ОстатокНаНачало < 0, -Шапка.ОстатокНаНачало, 0);
		ТабличныйДокумент.Вывести(ОбластьНачОстатки);
		
		ОборотыДт = Шапка.СуммаДогДт;
		ОборотыКт = Шапка.СуммаДогКт;
		ОборотыДтКонтр = Шапка.СуммаДогДтКонтр;
		ОборотыКтКонтр = Шапка.СуммаДогКтКонтр;

		
		ОбходПоДоговорам = Шапка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Договор");
		Пока ОбходПоДоговорам.Следующий() Цикл
			
			Если Шапка.РазбитьПоДоговорам Тогда
				//Выводим заголовок с договором
				ОбластьДоговор.Параметры.Договор = ОбходПоДоговорам.Договор;
				ОбластьДоговор.Параметры.Регистратор = ОбходПоДоговорам.Договор;
				ТабличныйДокумент.Вывести(ОбластьДоговор);
				ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
			Иначе
				ОбходПоДокументам=ОбходПоДоговорам.Выбрать();
			КонецЕсли;
			
			//Создадим список документов по организации и контрагенту
			СписокДокументов = новый массив;
			СписокДокументовК = новый массив;
			Пока ОбходПоДокументам.Следующий() Цикл
				Если ОбходПоДокументам.Дата<>NULL Тогда
					СписокДокументов.Добавить(новый структура("ДатаДокумента, РегистраторПредставление, Регистратор, СуммаОборотДт, СуммаОборотКт",
					ОбходПоДокументам.Дата,ОбходПоДокументам.Представление,ОбходПоДокументам.Документ,ОбходПоДокументам.СуммаДогДт,ОбходПоДокументам.СуммаДогКт));
				КонецЕсли;
				
				Если ОбходПоДокументам.ДатаК<>NULL Тогда
					СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр",
					ОбходПоДокументам.ДатаК,ОбходПоДокументам.ПредставлениеК,ОбходПоДокументам.СуммаДогДтКонтр,ОбходПоДокументам.СуммаДогКтКонтр));
				КонецЕсли;
			КонецЦикла;
			
			//Для упрощения вывода, сравним списки по количеству элементов, добавив пустые
			МаксИндекс = Макс(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
			МинИндекс = Мин(СписокДокументов.Количество(), СписокДокументовК.Количество())-1;
			Если СписокДокументов.Количество() < СписокДокументовК.Количество() Тогда
				Для инд = МинИндекс По МаксИндекс-1 Цикл
					СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт","","","","",""));
				КонецЦикла;
			ИначеЕсли СписокДокументов.Количество() > СписокДокументовК.Количество() Тогда 
				Для инд = МинИндекс По МаксИндекс-1 Цикл
					СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр","","","",""));
				КонецЦикла;
			КонецЕсли;
			
			Для Инд = 0 По МаксИндекс Цикл
				ОбластьОбороты.Параметры.Заполнить(СписокДокументов[Инд]);
				ОбластьОбороты.Параметры.Заполнить(СписокДокументовК[Инд]);
				ТабличныйДокумент.Вывести(ОбластьОбороты);
			КонецЦикла;
			
			Если Шапка.РазбитьПоДоговорам Тогда
				//Выводим итоги по каждому договору
				ОбластьДоговорИтоги.Параметры.Заполнить(ОбходПоДоговорам);
				ТабличныйДокумент.Вывести(ОбластьДоговорИтоги);
			Иначе
				Прервать;
			КонецЕсли;
			
		КонецЦикла;
		
		ОбластьОборотыИтог.Параметры.СуммаОборотДт      = ОборотыДт;
		ОбластьОборотыИтог.Параметры.СуммаОборотКт      = ОборотыКт;
		Если Шапка.СверкаСогласована тогда
			ОбластьОборотыИтог.Параметры.СуммаОборотДтКонтр = ОборотыДтКонтр;
			ОбластьОборотыИтог.Параметры.СуммаОборотКтКонтр = ОборотыКтКонтр;
		КонецЕсли;
		ТабличныйДокумент.Вывести(ОбластьОборотыИтог);
		
		
		ОстатокНаКонец = Шапка.ОстатокНаНачало + ОборотыДт -  ОборотыКт;
		ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДт = ?(ОстатокНаКонец > 0, ОстатокНаКонец, 0);
		ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКт = ?(ОстатокНаКонец < 0, -ОстатокНаКонец, 0);
		
		Если Шапка.СверкаСогласована тогда
			ОстатокНаКонецК = Шапка.ОстатокНаНачало - ОборотыДтКонтр +  ОборотыКтКонтр;
			ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокКтКонтр = ?(ОстатокНаКонецК > 0, ОстатокНаКонецК, 0);
			ОбластьКонОстатки.Параметры.СуммаКонечныйОстатокДтКонтр = ?(ОстатокНаКонецК < 0, -ОстатокНаКонецК, 0);
		КонецЕсли;
		
		ТабличныйДокумент.Вывести(ОбластьКонОстатки);
		
		// Результаты сверки
		Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
			РезультатыСверки = "<не указана дата сверки>";
		ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
			РезультатыСверки = "<не указан контрагент>";
		Иначе
			РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
				
			Если ОстатокНаКонец > 0 Тогда
				РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " " 
									+ Формат(ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " " 
									+ строка(Шапка.ВалютаДокумента)
									+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
		
			ИначеЕсли ОстатокНаКонец < 0 Тогда
				РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " " 
									+ Формат(-ОстатокНаКонец, "ЧЦ=21; ЧДЦ=2") + " " 
									+ строка(Шапка.ВалютаДокумента)
									+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонец, Шапка.ВалютаДокумента,Ложь)+")" ;
		
			Иначе
				РезультатыСверки = РезультатыСверки + "отсутствует.";
			КонецЕсли;
		КонецЕсли;
		ОбластьПодвал.Параметры.РезультатыСверки = РезультатыСверки;
		
		Если Шапка.СверкаСогласована тогда
			ОбластьПодвал.Параметры.ПоДаннымКонтрагента = "По данным " + ПредставлениеКонтрагента;
			
			Если НЕ ЗначениеЗаполнено(Шапка.ДатаОкончания) Тогда
				РезультатыСверки = "<не указана дата сверки>";
			ИначеЕсли НЕ ЗначениеЗаполнено(Шапка.Контрагент) Тогда
				РезультатыСверки = "<не указан контрагент>";
			Иначе
				РезультатыСверки = "на " + Формат(Шапка.ДатаОкончания, "ДФ=dd.MM.yyyy") + " задолженность ";
					
				Если ОстатокНаКонецК > 0 Тогда
					РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеОрганизации + " " 
										+ Формат(ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " " 
										+ строка(Шапка.ВалютаДокумента)
										+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;

				ИначеЕсли ОстатокНаКонецК < 0 Тогда
					РезультатыСверки = РезультатыСверки + "в пользу " + ПредставлениеКонтрагента + " " 
										+ Формат(-ОстатокНаКонецК, "ЧЦ=21; ЧДЦ=2") + " " 
										+ строка(Шапка.ВалютаДокумента)
										+" ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(-ОстатокНаКонецК, Шапка.ВалютаДокумента,Ложь)+")" ;

			
				Иначе
					РезультатыСверки = РезультатыСверки + "отсутствует.";
				КонецЕсли;
			КонецЕсли;
			
			ОбластьПодвал.Параметры.РезультатыСверкиК = РезультатыСверки;
			
			Если Шапка.Расхождение <> 0 Тогда
				ИтогСверки = "В результате сверки выявлено расхождение информации о состоянии расчетов в размере "
							+ Формат(?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, "ЧЦ=21; ЧДЦ=2") 
							+ " "+ Строка(Шапка.ВалютаДокумента)
							+ " ("+УчетДенежныхСредствБП.ФорматироватьСуммуПрописьюПлатежногоДокумента(
							?(Шапка.Расхождение > 0, 1, -1) * Шапка.Расхождение, Шапка.ВалютаДокумента, Ложь)+")" ;
				ОбластьПодвал.Параметры.ИтогСверки = Символы.ПС + ИтогСверки+Символы.ПС+" ";
			КонецЕсли;
		КонецЕсли;
		
		ОбластьПодвал.Параметры.НазваниеОрганизации     = ПредставлениеОрганизации;
		ОбластьПодвал.Параметры.НаименованиеКонтрагента = ПредставлениеКонтрагента;
		
		
		//выводит юридические адреса и телефоны
		ОбластьПодвал.Параметры.ЮрАдресОрганизации		= СведенияОбОрганизации.ЮридическийАдрес;
		ОбластьПодвал.Параметры.ТелефонОрганизации		= СведенияОбОрганизации.Телефоны;
		//ОбластьПодвал.Параметры.ТелефонИсполнителя		= СведенияОИсполнителе.НомерТелефона;
			
		ОбластьПодвал.Параметры.ЮрАдресКонтрагента		= СведенияОКонтрагенте.ЮридическийАдрес;
		ОбластьПодвал.Параметры.ТелефонКонтрагента		= СведенияОКонтрагенте.Телефоны;
		ОбластьПодвал.Параметры.ИНН		= СведенияОКонтрагенте.ИНН;
		
		ОбластьПодвал.Параметры.Должность  = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации.Должность),
			"________________", ДанныеПредставителяОрганизации.Должность);
		// (
		ОбластьПодвал.Параметры.Должность1  = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1.Должность),
			"________________", ДанныеПредставителяОрганизации1.Должность);
		ОбластьПодвал.Параметры.ДолжностьИ  = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.Должность),
			"________________", ДанныеИсполнителя.Должность);
		ОбластьПодвал.Параметры.ТелефонИсполнителя  = ?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя.НомерТелефона),
			"", ДанныеИсполнителя.НомерТелефона);
		//  )
		ОбластьПодвал.Параметры.ДолжностьК = ?(НЕ ЗначениеЗаполнено(ДанныеПредставителяКонтрагента.Должность),
			"________________", ДанныеПредставителяКонтрагента.Должность);
		
		ОбластьПодвал.Параметры.ФИОПредставителя  = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации),
			"_______________________",ДанныеПредставителяОрганизации.Представление)+")";
		//   (
		ОбластьПодвал.Параметры.ФИОПредставителя1  = "("+?(НЕ ЗначениеЗаполнено(ДанныеПредставителяОрганизации1),
			"_______________________",ДанныеПредставителяОрганизации1.Представление)+")";
		ОбластьПодвал.Параметры.ФИОИсполнителя  = "("+?(НЕ ЗначениеЗаполнено(ДанныеИсполнителя),
			"_______________________",ДанныеИсполнителя.Представление)+")";
		//    )
		ОбластьПодвал.Параметры.ФИОПредставителяК = "("+?(НЕ ЗначениеЗаполнено(Шапка.ПредставительКонтрагента),
			"_______________________",ОбщегоНазначенияБПВызовСервера.ФамилияИнициалыФизЛица(
			ДанныеПредставителяКонтрагента.Фамилия + " " + ДанныеПредставителяКонтрагента.Имя + " " + ДанныеПредставителяКонтрагента.Отчество))+")";
		
		ТабличныйДокумент.Вывести(ОбластьПодвал);
		
		
		// В табличном документе зададим имя области, в которую был 
		// выведен объект. Нужно для возможности печати покомплектно.
		УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, 
			НомерСтрокиНачало, ОбъектыПечати, Шапка.АктСверкиСКонтрагентом);

	КонецЦикла; // Пока Шапка.Следующий()

	Возврат ТабличныйДокумент;
	
КонецФункции
Показать
7. KonecEsli 1 21.12.20 16:15 Сейчас в теме
Запрос скиньте. Мы же не экстрасенсы )
11. ULU 21.12.20 16:24 Сейчас в теме
(7) Если говорить о моем вопросе я все скинула вроде, могу сбросить ВПФ целиком, если вы хотите помочь.
14. oleg-x 26 21.12.20 16:26 Сейчас в теме
(10) Не так, то что обращаетесь к табличной части. Нужно указать конкретно строку в табличной части, через точку не получится.
Надо так скорее всего так
СтрокаСТелефоном = ДанныеИсполнителя.Найти(ВидКонтакнойИнформации,"НазваниеКолонки");
Если СтрокаСТелефоном <> Неопределено Тогда
    Телефон = СтрокаСТелефоном.ИмяКолонкиСоЗначением;
КонецЕсли;
15. oleg-x 26 21.12.20 16:33 Сейчас в теме
А вообще лучше сделайте отладку и поставьте точку остановки. И там все станет ясно, не только в данном случае, но и в будущем и не придется по каждой проблеме создавать тему "Почему не работает и как сделать правильно".
17. oleg-x 26 21.12.20 16:41 Сейчас в теме
(16) Либо выложили бы сам файл ВПФ, либо пользуйтесь тегами
//Вот так комфортно читать код:
Если ВижуКрасивыйКод = Истина Тогда
   //Здесь пытаюсь разобраться
Иначе
    //Что за фигню я вижу
КонецЕсли;
19. ULU 21.12.20 16:49 Сейчас в теме
(17) Конечно спасибо за ответы ваши, но новичку самому не очень легко разобраться, поэтому пишут сюда, если вас сильно задевают такие вопросы, что я могу сказать, игнорируйте.
Ры.Сы. ВПФ выложила. Если говорить о тегах, еще не научилась пользоваться ими.
21. KonecEsli 1 21.12.20 16:55 Сейчас в теме
(19) Умеете работать с конструктором запросов ?
23. ULU 21.12.20 16:58 Сейчас в теме
(21) Учусь, что-то уже освоила.
24. Torin 749 21.12.20 16:59 Сейчас в теме
Телефон = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ДанныеИсполнителя, Справочники.ВидыКонтактнойИнформации.ТелефонПользователя);
28. ULU 22.12.20 09:27 Сейчас в теме
26. Поручик 4674 21.12.20 23:08 Сейчас в теме
ТелефонИсполнителя = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Шапка.Исполнитель, Справочники.ВидыКонтактнойИнформации.ТелефонПользователя); ;
29. ULU 22.12.20 09:27 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот