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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать запрос для печатной формы «Акт сортировки яиц»?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33266
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        вопрос по созданию запроса от новичка. Есть документ Акт сортировки яиц. Приходят несортированные яйца 2-х типов, их сортируют по категориям и видам. В номенклатуре добавлены доп реквизиты: категория и вид яиц. Как правильно создать запрос для вывода печатной формы по документу?
        Создать ВТ: типы несортированных, категории и виды яиц, затем связать по номенклатуре или как то по другому?

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

          Привет, Л!

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С