Помогите пожалуйста. Данный код позволяет данные из XML загружать в справочник 1с.

при добавлении XML пишет ошибку "{Справочник.Поставщики.Форма.Поставщики.Форма(49)}: Поле объекта не обнаружено (Количество)
 Если СЗ.Количество > 0 Тогда"

КОД:

```1c
    &НаСервере
    Процедура ПрочитатьXMLФайлНаСервере(Файлик)

    ПутьКФайлу = Файлик[0];

    //XML

    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ПутьКФайлу);

    СЗ = Новый СписокЗначений;

    Пока ЧтениеXML.Прочитать() Цикл

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
    ЧтениеXML.ПрочитатьАтрибут();
    Атрибут = ЧтениеXML.Значение;
    КонецЕсли;

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
    Если Атрибут = "USNAME" Тогда
    СЗ.Добавить(ЧтениеXML.Значение);
    КонецЕсли;
    Если Атрибут = "INN" Тогда
    СЗ.Добавить(ЧтениеXML.Значение);
    КонецЕсли;

    КонецЕсли;

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента and Атрибут="INN" Then
    СоздатьЭлементСправочника(СЗ);

    СЗ.Очистить();
    КонецЕсли;

    КонецЦикла;

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

    Процедура СоздатьЭлементСправочника(СЗ)
    Если СЗ.Количество > 0 Тогда
    НовыйЭлемент = Справочники.Поставщики.СоздатьЭлемент();
    НовыйЭлемент.Наименование = СЗ[0].Значение;
    НовыйЭлемент.ИНН = СЗ[1].Значение;
    НовыйЭлемент.Записать();
    КонецЕсли
    КонецПроцедуры

    &НаКлиенте
    Процедура ПрочитатьИзФайлаXML(Команда)
    Режим = режимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияфайла = Новый ДиалогВыборафайла(Режим);
    Фильтр = "xml|*.xml";
    ДиалогОткрытияфайла.фильтр = фильтр;
    Если ДиалогОткрытияфайла.Выбрать() Тогда
    файлик = ДиалогОткрытияфайла.Выбранныефайлы;
    ПрочитатьXMLФайлНаСервере (Файлик);
    КонецЕсли;

    ОбновитьИнтерфейс();
    КонецПроцедуры
```
---
Синтаксис метода
```1c
    Количество()
```

Т.е. вам надо вместо

```1c
    Если СЗ.Количество > 0 Тогда
```

написать

```1c
    Если СЗ.Количество() > 0 Тогда
```
---
Синтаксис метода
```1c
    Количество()
```

Т.е. вам надо вместо

```1c
    Если СЗ.Количество > 0 Тогда
```

написать

```1c
    Если СЗ.Количество() > 0 Тогда
```
---
Спасибо, но теперь выдает это "{Справочник.Поставщики.Форма.Поставщики.Форма(52)}: Индекс находится за границами массива
  НовыйЭлемент.ИНН =СЗ[1].Значение;"
---
Значит у вас нет этого элемента, т.е. в массиве всего 1 элемент, а вы пытаетесь обратиться ко второму. Сделайте например так:
```1c
    Попытка НовыйЭлемент.ИНН = СЗ[1].Значение; Исключение Сообщить("ИНН в файле отсутствует"); КонецПопытки;
```
---
Нужно понимать, что у вас в списке значений не всегда будут элементы или не всегда их будет 2 и более, например.
Т.е. обращение по индексу
```1c
    СЗ[1]
```
 в данному случае не очень хорошая идея.
Или уж если обращаетесь по индексу, добавьте проверку.
А я бы в данном случае использовала структуру или соответствие, например

```1c
    ДанныеЗагрузки = Новый Структура("USNAME, INN", Неопределено, Неопределено);

    Пока ЧтениеXML.Прочитать() Цикл

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
    ЧтениеXML.ПрочитатьАтрибут();
    Атрибут = ЧтениеXML.Значение;
    КонецЕсли;

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
    Если Атрибут = "USNAME" Тогда
    ДанныеЗагрузки.Вставить("USNAME", ЧтениеXML.Значение);
    КонецЕсли;
    Если Атрибут = "INN" Тогда
    ДанныеЗагрузки.Вставить("INN", ЧтениеXML.Значение);
    КонецЕсли;

    КонецЕсли;

    Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента and Атрибут="INN" Then
    СоздатьЭлементСправочника(ДанныеЗагрузки);
    ДанныеЗагрузки = Новый Структура("USNAME, INN", Неопределено, Неопределено);
    КонецЕсли;

    КонецЦикла;

    //а в процедуре создания обращаемся по ключам, а не по индексам
    Процедура СоздатьЭлементСправочника(ДанныеЗагрузки)

    //возможно, здесь нужны другие проверки, не знаю, как вам надо
    Если ЗначениеЗаполнено(ДанныеЗагрузки.USNAME) И ЗначениеЗаполнено(ДанныеЗагрузки.INN) Тогда
    НовыйЭлемент = Справочники.Поставщики.СоздатьЭлемент();
    НовыйЭлемент.Наименование = ДанныеЗагрузки.USNAME;
    НовыйЭлемент.ИНН = ДанныеЗагрузки.INN;
    НовыйЭлемент.Записать();
    КонецЕсли;

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