Добрый день! Не могу вывести все строки номенклатура из счета. В данный момент у меня выводиться лишь 1 строка номенклатура со счета по индексу а вывести все строки не могу додумать как.....

```1c
    &НаСервере
    Функция НоменклатураТабличнойЧасти(СчетСсылка)
    МассивНоменклатура=Новый Массив;

    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ
    | СчетНаОплатуПоставщикаТовары.Номенклатура КАК Номенклатура,
    | СчетНаОплатуПоставщикаТовары.Номенклатура.Артикул КАК НоменклатураАртикул,
    | СчетНаОплатуПоставщикаТовары.Номенклатура.Код КАК НоменклатураКод
    |ИЗ
    | Документ.СчетНаОплатуПоставщика.Товары КАК СчетНаОплатуПоставщикаТовары
    |ГДЕ
    | СчетНаОплатуПоставщикаТовары.Ссылка = &Ссылка";
    Запрос.УстановитьПараметр("Ссылка",СчетСсылка);
    РезультатЗапроса=Запрос.Выполнить();

    Если РезультатЗапроса.Пустой() Тогда
    Возврат МассивНоменклатура;
    Иначе
    Выборка=РезультатЗапроса.Выбрать();
    КонецЕсли;

    Пока Выборка.Следующий() Цикл
    Если МассивНоменклатура.Найти(Выборка.Номенклатура)=неопределено Тогда
    МассивНоменклатура.Добавить(Выборка.Номенклатура);
    КонецЕсли;
    КонецЦикла;
    Возврат МассивНоменклатура;
    КонецФункции
```

----------------------------------------------------------------------------------------------------------------------------

```1c
    МассивНоменклатура=НоменклатураТабличнойЧасти(СчетСсылка);

    Если МассивНоменклатура.Количество()=1 Тогда
    МенеджерЗаписи.Номенклатура=СчетСсылка.Товары[0].Номенклатура;

    ИначеЕсли МассивНоменклатура.Количество()>1 Тогда
    МенеджерЗаписи.Номенклатура= (Вывести все строки номенклатура из счета)????????????

    ИначеЕсли МассивНоменклатура.Количество()=0 Тогда
    МенеджерЗаписи.Номенклатура=Справочники.Номенклатура.ПустаяСсылка();
    Иначе
    МенеджерЗаписи.Номенклатура=Справочники.Номенклатура.ПустаяСсылка();
    МенеджерЗаписи.Номенклатура=Истина;
    КонецЕсли;
```
---
(3)В счете могут быть до 5 или больше строк номенклатуры и да они разные, у меня работает вывод из счета 1 строки по индексу а остальные как вывести, не могу додумать..

Проблема скорее всего тут. Но написано всё коряво конечно.

```1c
    ИначеЕсли МассивНоменклатура.Количество()>1 Тогда
    Для каждого строка из МассивНоменклатура цикл
    //добавляйте куда хотите из массива
    конеццикла;
```
---
возьмите мою обработку и там через набор записей пишите себе в регистр. Я Вам дал шаблон,как получить все строки из документа. А Вы далее уже используйте их как Вам заблагорассудится
---
Посмотрите обработку набросал свой вариант
---
Это хороший код, но мне нужно вывод не в макет а в Регистр сведений
---
Что-то у вас тут нагорожено. В счете сколько строк? Там разные номенклатуры?
---
В счете могут быть до 5 или больше строк номенклатуры и да они разные, у меня работает вывод из счета 1 строки по индексу а остальные как вывести, не могу додумать..
---
(3)В счете могут быть до 5 или больше строк номенклатуры и да они разные, у меня работает вывод из счета 1 строки по индексу а остальные как вывести, не могу додумать..

Проблема скорее всего тут. Но написано всё коряво конечно.

```1c
    ИначеЕсли МассивНоменклатура.Количество()>1 Тогда
    Для каждого строка из МассивНоменклатура цикл
    //добавляйте куда хотите из массива
    конеццикла;
```
---
Для добавления отдельной записи в регистр сведений, не подчиненный регистратору, можно использовать объект РегистрСведенийМенеджерЗаписи.<имя>.

Если требуется добавить несколько записей в регистр сведений, можно использовать объект РегистрСведенийНаборЗаписей.<имя>.

```1c
    НаборЗаписей = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();

    НаборЗаписей.Отбор.Объект.Установить(ПолеВводаНоменклатура);

    Для Каждого СтрокаТаблицы Из ТаблицаСвойств Цикл

    НоваяЗапись = НаборЗаписей.Добавить();

    НоваяЗапись.Объект = ПолеВводаНоменклатура;
    НоваяЗапись.Свойство = СтрокаТаблицы.Свойство;
    НоваяЗапись.Значение = СтрокаТаблицы.ЗначениеСвойства;
    КонецЦикла;

    НаборЗаписей.Записать();
```

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

Взято с ИТС
https://its.1c.ru/db/metod8dev/content/2486/hdoc
---
Возьмите мою обработку уберите вывод в макет на запись в регистр.Через набор записей пишите себе в регистр. Я Вам дал шаблон,как получить все строки из документа. А Вы далее уже используйте их как Вам заблагорассудится