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