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

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

  1. TopicStarter Overlay
    Gulnaz
    Offline

    Gulnaz Опытный в 1С

    Регистрация:
    20 сен 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Доброго времени суток. Есть отчет "Потребность инструмента согласно заявок цехов", созданный на основе Универсального отчета, который формируется из данных документа "Заявки ИНО". В этом документе есть 2 реквизита типа Дата: дата документа и дата поставки инструментов. В отчете нужно отобрать данные по двум периодам. Когда в запросе один период данные выходят нормально, с двумя отборами по периодам пусто.
    Вот порядок действий:

    В конструктуре запросов добавляю условие:
    Посмотреть вложение 5576

    Используйте формат PNG для скриншотов! Формат BMP - моветон!
    Сравните:
    1.bmp (1.07 мегабайт)
    1.png (9.66 килобайт)

    Вложения:

    • 1.png
      1.png
      Размер файла:
      9,7 КБ
      Просмотров:
      174
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Вам необходимо создать группу ИЛИ условий
  3. TopicStarter Overlay
    Gulnaz
    Offline

    Gulnaz Опытный в 1С

    Регистрация:
    20 сен 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Как используется здесь условие с ИЛИ и нужно ли здесь оно, если мне необходимо чтобы отбор производился по двум периодам одновременно. Реквизит документа Период поставки - это месяц, на который делается заявка. На рисунке первый период является основным. Второй период- это дата документа. Т.к. заявку на ноябрь пользователь может ввести в августе, сентябре и т.д., то прослеживание по дате ввода заявки тоже нужно.
    Посмотреть вложение 5578

    Запрос выглядит так:
    Код:
    ВЫБРАТЬ
    Ссылка.*,
    Номер,
    Дата,
    ЦехОтправитель,
    ПериодДействия,
    СуммаДокумента,
    Ответственный,
    Инженер,
    Товары.(
    НоменклатураКод,
    Номенклатура.*,
    ЕдиницаИзмерения,
    Количество,
    Софт_ЦенаПлановоУчетная,
    СуммаПлановоУчетная
    ) }
    ИЗ
    Документ.ОИТ_ЗаявкаИнО КАК ОИТ_ЗаявкаИнО
    ГДЕ
    ОИТ_ЗаявкаИнО.УтверждениеЗаявки
    И ОИТ_ЗаявкаИнО.ПериодДействия МЕЖДУ &НачалоПериода И &КонецПериода
    И (НЕ ОИТ_ЗаявкаИнО.ПометкаУдаления)
    И ОИТ_ЗаявкаИнО.Дата МЕЖДУ &НачалоПериода1 И &КонецПериода1
    
  4. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    В чем именно проблема то? Результат запроса пустой чтоли выдает?
  5. TopicStarter Overlay
    Gulnaz
    Offline

    Gulnaz Опытный в 1С

    Регистрация:
    20 сен 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    да
  6. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    А если так?
    Код:
    ВЫБРАТЬ
    ОИТ_ЗаявкаИнО.Ссылка,
    ОИТ_ЗаявкаИнО.Ссылка.Номер,
    ОИТ_ЗаявкаИнО.Ссылка.Дата,
    ОИТ_ЗаявкаИнО.Ссылка.ЦехОтправитель,
    ОИТ_ЗаявкаИнО.Ссылка.ПериодДействия,
    ОИТ_ЗаявкаИнО.Ссылка.СуммаДокумента,
    ОИТ_ЗаявкаИнО.Ссылка.Ответственный,
    ОИТ_ЗаявкаИнО.Ссылка.Инженер,
    ОИТ_ЗаявкаИнО.Номенклатура.Код,
    ОИТ_ЗаявкаИнО.Номенклатура,
    ОИТ_ЗаявкаИнО.ЕдиницаИзмерения,
    ОИТ_ЗаявкаИнО.Количество,
    ОИТ_ЗаявкаИнО.Софт_ЦенаПлановоУчетная,
    ОИТ_ЗаявкаИнО.СуммаПлановоУчетная
    ИЗ
    Документ.ОИТ_ЗаявкаИнО.Товары КАК ОИТ_ЗаявкаИнО
    ГДЕ
    ОИТ_ЗаявкаИнО.УтверждениеЗаявки
    И ОИТ_ЗаявкаИнО.ПериодДействия МЕЖДУ &;НачалоПериода И &;КонецПериода
    И (НЕ ОИТ_ЗаявкаИнО.ПометкаУдаления)
    И ОИТ_ЗаявкаИнО.Дата МЕЖДУ &;НачалоПериода1 И &;КонецПериода1
    
    
    
  7. TopicStarter Overlay
    Gulnaz
    Offline

    Gulnaz Опытный в 1С

    Регистрация:
    20 сен 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Has, оказывается проблема не в запросе. Т.к. я отбор делаю по двум периодам, то нужно добавить этот второй период во все реквизиты:
    в реквизит самого отчета я добавила НастройкаПериода1,
    в реквизиты Формы отчета помимо НачалоПериода1, КонецПериода1 надо Период1,
    в модуле формы надо написать дополнительные процедуры аналогичные настройке уже имеющегося периода
    и в модуле объекта добавить: НастройкаПериода1 = Новый НастройкаПериода;

    Теперь вроде все работает :angry: Но нужно заполнять все поля даты, иначе отчет выходит пустым. Хотелось бы чтобы все выходила и без заполнения второго периода.
  8. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    Зачем реквизиты добавлять? Если я правильно понял, то у вас будет 4 параметра в СКД. Начало и конец периода, в котором находится дата документ и начало и конец периода, в котором находится период поставки?
  9. TopicStarter Overlay
    Gulnaz
    Offline

    Gulnaz Опытный в 1С

    Регистрация:
    20 сен 2010
    Сообщения:
    81
    Симпатии:
    0
    Баллы:
    26
    Да, 4 параметра, но параметры по дате документа образуют свой отдельный период. Для этого периода Период1 я создаю реквизит НастройкаПериода1 и процедуры обработки.

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