8.х Выборка по дате

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

  1. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Как осуществит вывод отчета по нужной дате.?
  2. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Отчет как реализован ?
    На СКД или Построителе отчета или что то самописное ?
  3. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    С
    Самописан
  4. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Чтозначит выводить отчет по нужной дате?

    У важ ед отчет на основании каких то данных строится. на форму отчета размещаете рквизит с датой, а в запросе или там где получаете данные делаете условие с отбором по этой дате
  5. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    данные получаю
    Код:
    РегистрНакопления.ПартииТоваровНаСкладах
    поставил на форму элемент календаря. Задача при выборе даты вывесите отчет по ней
  6. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Вы данные в запросе получаете , наверняка используете витруальную таблицу ПартииТоваровНаСкладахОстатки или Обороты, там же у нее есть параметры, внесите туда дату и укажите это в параметре запроса
  7. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    Код:
    ТабДок = новый ТабличныйДокумент();
    СчетчикСтрок=0;
    
    Макет = Отчеты.Товар.ПолучитьМакет("Товар1");
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ПартииТоваровНаСкладах.Период,
    | ПартииТоваровНаСкладах.Регистратор,
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПартииТоваровНаСкладах.Склад,
    | ПартииТоваровНаСкладах.Количество,
    | ПартииТоваровНаСкладах.Стоимость
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |    ПартииТоваровНаСкладах.Период(&ДатаНач, &ДатаКон) КАК Период ";
    Результат = Запрос.Выполнить();
    
    Запрос.ЗаполнитьНастройки(); 
    Запрос.УстановитьПараметр("ДатаНач",ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон",ДатаКон);
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    СчетчикСтрок=СчетчикСтрок+1;
    ОбластьДетальныхЗаписей.Параметры.Порядковый_номер=СчетчикСтрок;
    Разность=ВыборкаДетальныеЗаписи.Стоимость/(ВыборкаДетальныеЗаписи.Количество*1.18);
    ОбластьДетальныхЗаписей.Параметры.Разность = Разность;
    ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
    КонецЦикла;
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    ТабДок.Показать("Вывод");
    
    вот весь мой код

    а вот на что он ругается {Отчет.Товар.Форма.ФормаОтчета.Форма(26,41)}: Переменная не определена (ДатаНач)
    Запрос.УстановитьПараметр("ДатаНач",<<?>>ДатаНач);
    {Отчет.Товар.Форма.ФормаОтчета.Форма(27,41)}: Переменная не определена (ДатаКон)
    Запрос.УстановитьПараметр("ДатаКон",<<?>>ДатаКон);

    ее как определить подскажите плиз
  8. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Код:
    ВЫБРАТЬ
    ПартииТоваровНаСкладах.Период,
    ПартииТоваровНаСкладах.Регистратор,
    ПартииТоваровНаСкладах.Номенклатура,
    ПартииТоваровНаСкладах.Склад,
    ПартииТоваровНаСкладах.Количество,
    ПартииТоваровНаСкладах.Стоимость
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    ГДЕ
    ПартииТоваровНаСкладах.Период МЕЖДУ &ДатаНач И &ДатаКон
  9. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    с ошибкой разобрал))) теперь ошибка в запросе
  10. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    ДатаНач и ДатаКон это у Вас что ?

    Ошибку в запросе я Вам исправил
  11. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    выкинул {Отчет.Товар.Форма.ФормаОтчета.Форма(26)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
    по причине:
    {(11, 37)}: Не задано значение параметра "ДатаНач"
    ПартииТоваровНаСкладах.Период МЕЖДУ <<?>>&ДатаНач И &ДатаКон

    ДатаНач и ДатаКон это элементы формы календаря на главной форме. чем выберется дата
  12. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    НУ так у Вас Это прописано?

    Запрос.УстановитьПараметр("ДатаНач",ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон",ДатаКон);

    и поля на форме имеют имена ДатаНач и ДатаКон
  13. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    да имена так
  14. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    тогда прикрепляйте отчет - посмотрю

    или опять код выкладывайте
  15. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    даже при блокировке этого куска кода этаже ошибка

    ловите

    Вложения:

    • Товар.erf
      Размер файла:
      10,6 КБ
      Просмотров:
      6
  16. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    У вас же это не реквизиты, а просто на форме поля тогда

    Запрос.УстановитьПараметр("ДатаНач",ЭлементыФормы.ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон",ЭлементыФормы.ДатаКон);
  17. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    понял косяк но ошибка осталась((( {Отчет.Товар.Форма.ФормаОтчета.Форма(26)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
    по причине:
    {(11, 40)}: Не задано значение параметра "ДатаНач"
    ПартииТоваровНаСкладах.Период МЕЖДУ <<?>>&ДатаНач И &ДатаКон
  18. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Просто параметры надо устанавливать перед тем как запрос выполнять т.е


    Запрос.УстановитьПараметр("ДатаНач",ЭлементыФормы.ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон",ЭлементыФормы.ДатаКон);
    Результат = Запрос.Выполнить();

    а не

    Результат = Запрос.Выполнить();

    Запрос.УстановитьПараметр("ДатаНач",ЭлементыФормы.ДатаНач);
    Запрос.УстановитьПараметр("ДатаКон",ЭлементыФормы.ДатаКон);
  19. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    вока :blush:
  20. TopicStarter Overlay
    SpiritAT
    Offline

    SpiritAT Опытный в 1С

    Регистрация:
    8 авг 2013
    Сообщения:
    157
    Симпатии:
    0
    Баллы:
    26
    {Отчет.Товар.Форма.ФормаОтчета.Форма(30)}: Ошибка при вызове метода контекста (Выполнить)
    Результат = Запрос.Выполнить();
    по причине:
    {(11, 34)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
    неограниченной длины и поля несовместимых типов.
    ПартииТоваровНаСкладах.Период <<?>>МЕЖДУ &ДатаНач И &ДатаКон

    это значит надо ограничение поставит вывода из поля и ли что

    24.07.2013 17:16:21 в запросе выходит так

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