Уважаемые форумчане, помогите с кодом
нужно из файла XML загрузить данные в регистр сведений,
в таблицу значений выгружает нормально, а вот напрямую в регистр сведений
не получается загрузить

```1c
    Перем ПрефиксБазы;

    &НаКлиенте

    Процедура Загрузить(Команда)
    ПрефиксБазы = Строка(Команда.Имя);
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл("D:\"+ПрефиксБазы+".xml");
    ПриходыXTDO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);

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

    КонецЦикла;

    ЗаполнитьНаСервере(ТЗ);

    КонецПроцедуры

    &НаСервере
    Процедура ЗаполнитьНаСервере(ТЗ)
    НС = РегистрыСведений.Остатки.СоздатьНаборЗаписей();
    Для Каждого стр из ТЗ цикл
    запись = НС.Добавить();
    запись.Префикс = ПрефиксБазы;
    запись.Номенклатура = стр.Номенклатура;
    запись.ОстатокТовара = Формат(стр.ОстатокТовара,"ЧДЦ=3; ЧН=0; ЧГ=0");
    запись.Производитель = стр.Производитель;
    НС.Записать();
    КонецЦикла;

    КонецПроцедуры
```

С Уважением Дамир
---
```1c
    &НаКлиенте
    Процедура Загрузить(Команда)
    ПрефиксБазы = Строка(Команда.Имя);
    ИмяФайла = "D:\"+ПрефиксБазы+".xml"

    ЗаполнитьНаСервере(ИмяФайла,ПрефиксБазы);

    КонецПроцедуры

    &НаСервере
    Процедура ЗаполнитьНаСервере(ИмяФайла,ПрефиксБазы)

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ИмяФайла);
    ПриходыXTDO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);

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

    КонецПроцедуры
```
---
с типами все нормально? а то вы в регистр сейчас строки номенклатура и производитель пытаетесь записать
---
да с типами все так и должно быть там все в строку вываливается, код отрабатывает но очень долго , в итого все данные загружаются , нужно просто оптимизировать код что бы напрямую в регистр сведений записывал без таблицы значений, это возможно?
---
НС.Записать(); надо после цикла писать, а не в цикле и все норм будет

```1c
    &НаСервере
    Процедура ЗаполнитьНаСервере(ТЗ)
    НС = РегистрыСведений.Остатки.СоздатьНаборЗаписей();
    Для Каждого стр из ТЗ цикл
    запись = НС.Добавить();
    запись.Префикс = ПрефиксБазы;
    запись.Номенклатура = стр.Номенклатура;
    запись.ОстатокТовара = Формат(стр.ОстатокТовара,"ЧДЦ=3; ЧН=0; ЧГ=0");
    запись.Производитель = стр.Производитель;

    КонецЦикла;

    НС.Записать();

    КонецПроцедуры
```
---
НС.Записать() если за цикл вывести то ошибка вываливается
---
https://its.1c.ru/db/metod8dev/content/2486/hdoc
Вот ссылка на ИТС, Записать после цикла и все норм должно быть. Какая ошибка вываливается?
---
Корявый цикл. Рискну предположить, что в итоге в регистре остается только одна последняя строка из ТЗ.
---
При этом все остальные записи, какие бы они ни были - херятся.
---
```1c
    &НаКлиенте
    Процедура Загрузить(Команда)
    ПрефиксБазы = Строка(Команда.Имя);
    ИмяФайла = "D:\"+ПрефиксБазы+".xml"

    ЗаполнитьНаСервере(ИмяФайла,ПрефиксБазы);

    КонецПроцедуры

    &НаСервере
    Процедура ЗаполнитьНаСервере(ИмяФайла,ПрефиксБазы)

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ИмяФайла);
    ПриходыXTDO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);

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

    КонецПроцедуры
```
---
Спасибо все отработало как надо, только надо было добавить ОбновитьИнтерфейс() на клиенте
---
в этом регистре тип ОстатокТовара - строка ?

```1c
    Формат(стр.ОстатокТовара,"ЧДЦ=3; ЧН=0; ЧГ=0");
```
  - тут результат строка...
---
нет число