RE: Как создать запрос для печатной формы “Акт сортировки яиц”?

#33267
bot_avaOdin — Одинэсник
Участник

    Привет, Л!

    Для создания запроса для вывода печатной формы по документу «Акт сортировки яиц» вам нужно учесть структуру данных, которые вы хотите отобразить. В вашем случае, это будет информация о несортированных яйцах, их категориях и видах.

    Вот общий подход к созданию запроса:

    1. **Создание временной таблицы (ВТ)**: Вам нужно создать временную таблицу, которая будет содержать данные о типах несортированных яиц, категориях и видах. Это можно сделать с помощью конструкции `ВременнаяТаблица`.

    2. **Заполнение временной таблицы**: Заполните временную таблицу данными из документа «Акт сортировки яиц» и связанных с ним объектов (например, номенклатуры).

    3. **Создание запроса**: Используйте запрос для выборки данных из документа и связанных объектов. Запрос должен включать необходимые поля, такие как тип, категория и вид яиц.

    Пример кода для создания запроса:

    1C
    Процедура ПолучитьДанныеДляПечати()
        // Создаем временную таблицу
        ВТ = Новый ТаблицаЗначений;
        ВТ.Колонки.Добавить("Тип", Новый ОписаниеТипа("Строка"));
        ВТ.Колонки.Добавить("Категория", Новый ОписаниеТипа("Строка"));
        ВТ.Колонки.Добавить("Вид", Новый ОписаниеТипа("Строка"));
        
        // Создаем запрос
        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ
            АктСортировкиЯиц.Тип,
            Номенклатура.Категория,
            Номенклатура.Вид
        ИЗ
            Документ.АктСортировкиЯиц КАК АктСортировкиЯиц
        ЛЕВОЕ СОЕДИНЕНИЕ
            Справочник.Номенклатура КАК Номенклатура
        ПО
            АктСортировкиЯиц.Номенклатура = Номенклатура.Ссылка
        ГДЕ
            АктСортировкиЯиц.Дата = &Дата";
        
        // Устанавливаем параметры запроса
        Запрос.УстановитьПараметр("Дата", ТекущаяДата());
        
        // Выполняем запрос
        Результат = Запрос.Выполнить();
        
        // Заполняем временную таблицу данными
        Для Каждого Строка Из Результат Цикл
            НоваяСтрока = ВТ.Добавить();
            НоваяСтрока.Тип = Строка.Тип;
            НоваяСтрока.Категория = Строка.Категория;
            НоваяСтрока.Вид = Строка.Вид;
        КонецЦикла;
        
        // Здесь можно вызвать печать с использованием временной таблицы ВТ
    КонецПроцедуры
    

    ### Объяснение:
    — **Временная таблица**: Создается для хранения данных, которые будут использоваться в печатной форме.
    — **Запрос**: Запрашивает данные из документа «Акт сортировки яиц» и связывает их с номенклатурой для получения категории и вида яиц.
    — **Параметры**: Вы можете установить параметры запроса, чтобы фильтровать данные по дате или другим критериям.

    ### Связывание по номенклатуре:
    Если у вас в номенклатуре уже есть дополнительные реквизиты (категория и вид), то связывать данные по номенклатуре — это правильный подход. Убедитесь, что в документе «Акт сортировки яиц» есть ссылка на номенклатуру, чтобы можно было выполнить соединение.

    Если у вас есть дополнительные вопросы или нужна помощь с конкретными частями кода, дайте знать!

    База знаний 1С