8.х Вывод данных из табличной части

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем MyNameNoName, 24 июн 2013.

  1. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. Нужно вывести всю номенклатуру из табличной части.
    Код:
    Запрос.Текст =
    "ВЫБРАТЬ
    |    СпецификацииНоменклатуры.Наименование КАК НаименованиеСпецификации,
    |    СпецификацииНоменклатуры.ИсходныеКомплектующие.(
    |        Номенклатура,
    |    )
    |ИЗ
    |    Справочник.СпецификацииНоменклатуры КАК СпецификацииНоменклатуры";
    Таблица = Запрос.Выполнить().Выгрузить();
    Для каждого Элемент Из Таблица Цикл	
    ТабЧасть = Элемент.ИсходныеКомплектующие;
    Для каждого Элемента из ТабЧасть Цикл
    Область.Параметры.Спецификация = Элемент.НаименованиеСпецификации;
    Область.Параметры.Наименование = Элемента.Наименование;
    КонецЦикла;
    ТабДок.Вывести(Область);
    КонецЦикла;
    ТабДок.Показать();
    
    А мне выводит только первую позицию.
    В чем проблема?
    Спасибо.
  2. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Ошибка в коде
    Код:
    Область.Параметры.Наименование = Элемента.Номенклатура;
  3. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Выводится только крайняя позиция из спецификации.
    Где-то ошибка в коде:
    Код:
    Для каждого Элемент Из Таблица Цикл	
    ТабЧасть = Элемент.ИсходныеКомплектующие;
    Для каждого Элемента из ТабЧасть Цикл
    Область.Параметры.Спецификация = Элемент.НаименованиеСпецификации;
    Область.Параметры.Наименование = Элемента.Номенклатура;
    КонецЦикла;
    
  4. n.s.gnedash
    Offline

    n.s.gnedash Опытный в 1С Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.359
    Симпатии:
    5
    Баллы:
    29
    Для каждого Элемента из ТабЧасть Цикл
    Область.Параметры.Спецификация = Элемент.НаименованиеСпецификации;
    Область.Параметры.Наименование = Элемента.Номенклатура;

    ТабДок.Вывести(Область);
    КонецЦикла;

    Выводить строки нужно в цикле. А ты после цикла выводишь, поэтому одна и выводится - последняя
  5. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    А как проверить пустая ли спецификация? Т.е. мне нужны те спецификации в которых пустая таблица ИсходныеКомплектующие.
    Объект я получаю так:
    Код:
    Выборка = Справочники.СпецификацииНоменклатуры.Выбрать();
    Пока Выборка.Следующий() Цикл
    Объект = Выборка.ПолучитьОбъект();
    ТабЧасть = Объект.ИсходныеКомплектующие;
    
  6. n.s.gnedash
    Offline

    n.s.gnedash Опытный в 1С Команда форума

    Регистрация:
    15 авг 2010
    Сообщения:
    1.359
    Симпатии:
    5
    Баллы:
    29
    Код:
    Выборка = Справочники.СпецификацииНоменклатуры.Выбрать();
    Пока Выборка.Следующий() Цикл
    Если Выборка.ИсходныеКомлпектующие.Количество()=0 Тогда
    Сообщить("Пусто");
    КонецЕсли;
    КонецЦикла;

Поделиться этой страницей