Если ТипЗнч(ПриходыXTDO.ТЧ) <> Тип("СписокXDTO") Тогда
СписокXTDOтч = Новый Массив;
СписокXTDOтч.Добавить(ПриходыXTDO.ТЧ);
Иначе
СписокXTDOтч = ПриходыXTDO.ТЧ;
КонецЕсли;
Для Каждого СтрокаXDTO ИЗ СписокXTDOтч Цикл
НС = ТЗ.Добавить();
НС.Префикс = ПрефиксБазы;
НС.Номенклатура = СтрокаXDTO.Номенклатура;
НС.Производитель = СтрокаXDTO.Производитель;
НС.ОстатокТовара = Формат(СтрокаXDTO.ОстатокТовара,"ЧДЦ=3; ЧН=0; ЧГ=0");
КонецЦикла;
ЗаполнитьНаСервере(ТЗ);
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере(ТЗ)
НС = РегистрыСведений.Остатки.СоздатьНаборЗаписей();
Для Каждого стр из ТЗ цикл
запись = нс.Добавить();
запись.Префикс = ПрефиксБазы;
запись.Номенклатура = стр.Номенклатура;
запись.ОстатокТовара = Формат(стр.ОстатокТовара,"ЧДЦ=3; ЧН=0; ЧГ=0");
запись.Производитель = стр.Производитель;
НС.Записать();
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьПоток(ДД.ОткрытьПотокДляЧтения());
ПриходыXTDO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
Если ТипЗнч(ПриходыXTDO.ТЧ) <> Тип("СписокXDTO") Тогда
СписокXTDOтч = Новый Массив;
СписокXTDOтч.Добавить(ПриходыXTDO.ТЧ);
Иначе
СписокXTDOтч = ПриходыXTDO.ТЧ;
КонецЕсли;
Для Каждого СтрокаXDTO ИЗ СписокXTDOтч Цикл
НовС = НС.Добавить();
НовС.Префикс = ПрефиксБазы;
НовС.Номенклатура = СтрокаXDTO.Номенклатура;
НовС.Производитель = СтрокаXDTO.Производитель;
НовС.ОстатокТовара = Формат(СтрокаXDTO.ОстатокТовара,"ЧДЦ=3; ЧН=0; ЧГ=0");
КонецЦикла;
НС.Записать();
КонецПроцедуры
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший