Тестировалось на версии 3.0.105.45
Процедура СоздатьАктСверки(Парам)
ВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
Док = Документы.АктСверкиВзаиморасчетов.СоздатьДокумент();
Док.ВалютаДокумента = Справочники.Валюты.НайтиПоКоду("643");
Док.Контрагент = Парам.Контрагент;
Док.Организация = Справочники.Организации.ОрганизацияПоУмолчанию();
Док.Дата = ТекущаяДата();
Док.ДатаНачала = Дата(Парам.Дата1);
Док.ДатаОкончания = Дата(Парам.Дата2);
ЗаполнитьСчетамиПоУмолчаниюНаСервере(Док);
ОтветственныеЛицаБП.УстановитьОтветственныхЛиц(Док);
СтруктураПараметров = Новый Структура;
СтруктураПараметров.Вставить("ДатаНачала", Док.ДатаНачала);
СтруктураПараметров.Вставить("ДатаОкончания", Новый Граница(КонецДня(Док.ДатаОкончания), ВидГраницы.Включая));
СтруктураПараметров.Вставить("Организация", Док.Организация);
СтруктураПараметров.Вставить("Контрагент", Док.Контрагент);
СтруктураПараметров.Вставить("СОбособленнымиПодразделениями", Ложь);
СтруктураПараметров.Вставить("ВыводитьСчетаФактуры", Док.ВыводитьСчетаФактуры);
СтруктураПараметров.Вставить("ЗаполнятьДанныеКонтрагента", Истина);
СтруктураПараметров.Вставить("Валюта", Неопределено);
ФильтрСписокСчетов = Новый Массив();
Для Каждого СтрокаСчета Из Док.СписокСчетов Цикл
Если ЗначениеЗаполнено(СтрокаСчета.Счет) И СтрокаСчета.УчаствуетВРасчетах Тогда
ФильтрСписокСчетов.Добавить(СтрокаСчета.Счет);
КонецЕсли;
КонецЦикла;
СтруктураПараметров.Вставить("ФильтрСписокСчетов", ФильтрСписокСчетов);
АналитикаРасчетов = Новый Массив();
АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты);
АналитикаРасчетов.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры);
СтруктураПараметров.Вставить("АналитикаРасчетов", АналитикаРасчетов);
СтруктураПараметров.Вставить("ДоговорКонтрагента",
?(НЕ ЗначениеЗаполнено(Док.ДоговорКонтрагента), Неопределено, Док.ДоговорКонтрагента));
СтруктураПараметров.Вставить("ВыводитьПолныеНазванияДокументов", Док.ВыводитьПолныеНазванияДокументов);
СтруктураПараметров.Вставить("ВалютаДокумента", Док.ВалютаДокумента);
СтруктураПараметров.Вставить("РазбитьПоДоговорам", Док.РазбитьПоДоговорам);
СтруктураПараметров.Вставить("ВалютаРегламентированногоУчета", ВалютаРегламентированногоУчета);
Адрес = ПоместитьВоВременноеХранилище(Неопределено);
Документы.АктСверкиВзаиморасчетов.ПодготовитьДанныеДляЗаполнения(СтруктураПараметров, Адрес);
Данные = ПолучитьИзВременногоХранилища(Адрес);
ЗагрузитьПодготовленныеДанные(Данные, Док);
Док.Записать();
КонецПроцедуры
Процедура ЗаполнитьСчетамиПоУмолчаниюНаСервере(Объект)
ТаблицаСчетов = УчетВзаиморасчетов.ПолучитьТаблицуСчетовУчетаВзаиморасчетов(Истина, Ложь);
ТаблицаСчетов.Колонки.СчетРасчетов.Имя = "Счет";
ТаблицаСчетов.Колонки.Добавить("УчаствуетВРасчетах");
ТаблицаСчетов.ЗаполнитьЗначения(Истина, "УчаствуетВРасчетах");
Объект.СписокСчетов.Загрузить(ТаблицаСчетов);
КонецПроцедуры
Функция ЗагрузитьПодготовленныеДанные(СтруктураДанных, Объект)
РезультатВыполнения = Новый Структура();
РезультатВыполнения.Вставить("ЗаданиеВыполнено", Истина);
РезультатВыполнения.Вставить("Успешно", Ложь);
Если ТипЗнч(СтруктураДанных) <> Тип("Структура") Тогда
Возврат РезультатВыполнения;
КонецЕсли;
РезультатВыполнения.Успешно = СтруктураДанных.Успешно;
Если СтруктураДанных.Успешно Тогда
Объект.ОстатокНаНачало = СтруктураДанных.ОстатокНаНачало;
Объект.ПоДаннымОрганизации.Загрузить(СтруктураДанных.ПоДаннымОрганизации);
Если СтруктураДанных.Свойство("ПоДаннымКонтрагента") Тогда
Объект.ПоДаннымКонтрагента.Загрузить(СтруктураДанных.ПоДаннымКонтрагента);
КонецЕсли;
КонецЕсли;
Возврат РезультатВыполнения;
КонецФункции