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