8.х Печать справочника номенклатура через запрос

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем antantait, 13 дек 2010.

  1. TopicStarter Overlay
    antantait
    Offline

    antantait

    Регистрация:
    13 дек 2010
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Справочник номенклатура иерархический.Как вывести элементы справочника в макет используя метод выбрать().

    Процедура ДействияФормыПечатьЧерезЗапрос(Кнопка)
    ТабДок=Новый ТабличныйДокумент();
    Макет=Справочники.Номенклатура.ПолучитьМакет("Печать");
    Область=Макет.ПолучитьОбласть("Заголовок");
    ТабДок.Вывести(Область);
    Область=Макет.ПолучитьОбласть("Шапка");
    ТабДок.Вывести(Область);

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

    Пока Выборка.Следующий() Цикл

    Если Выборка.ЭтоГруппа Тогда
    Группа.Параметры.Заполнить(Выборка);

    ТабДок.Вывести(Группа);
    Иначе
    Элемент.Параметры.Заполнить(Выборка);

    ТабДок.Вывести(Элемент);
    КонецЕсли

    КонецЦикла;


    ТабДок.Показать();

    КонецПроцедуры
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Справку читали?
    Выбрать(<Тип обхода>, <Группировки>, <Группировки для значений группировок>)
    Параметры:
    <Тип обхода> (необязательный)
    Тип: ОбходРезультатаЗапроса. Задает тип обхода записей в получаемой выборке.
    Значение по умолчанию: Прямой
    <Группировки> (необязательный)
    Тип: Строка. Список группировок по которым будет вестись обход, разделенных запятыми.
    Для детальных записей указывается пустая строка. В случае, если группировки не указаны - будет использоваться следующая группировка, указанная в предложении запроса "ИТОГИ".
    <Группировки для значений группировок> (необязательный)
    Тип: Строка. Список группировок, из которых будут выбираться значения группировок для обхода, разделенных запятыми. Если указано "Все", то будут выбираться все значения группировок. Если указана пустая строка, то значения для группировок будут выбираться из предыдущей группировки.
    Возвращаемое значение:
    Тип: ВыборкаИзРезультатаЗапроса.
    Описание:
    Формирует выборку записей из результата запроса.

    Быстрее было бы без запроса, а через простую выборку.
  3. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Попробуйте так:
    Код:
    Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    
    
    Или вам нужно запрос подправить.
  4. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204

    Вложения:

  5. TopicStarter Overlay
    antantait
    Offline

    antantait

    Регистрация:
    13 дек 2010
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1

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