[РЕШЕНО] Вывод параметров на панель в отчете через СКД

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

  1. TopicStarter Overlay
    User
    Offline

    User Опытный в 1С

    Регистрация:
    4 фев 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте! Помогите, пожалуйста, разобраться. В отчете, сформированном в СКД, необходимо разместить сверху на панели отбор по периоду. Создаю 2 реквизита: ДатаНач и ДатаКон, создаю форму отчета, где размещаю эти реквизиты. В запросе прописываю параметры регистра ДатаНач и ДатаКон, при формировании выборка не реагирует на период. Может что-то надо прописать в параметрах СКД - как связать, подскажите, пожалуйста!!!
  2. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Платформа какая?
    Просто в запросе можно параметры прописать а затем эти парамтеры в быстрый доступ поставитью если это 8.3
    На 8.2 вам там придется тогда кодом устнавливать эти параметры
    Обсуждалось ни раз - поищите параметры СКД
  3. TopicStarter Overlay
    User
    Offline

    User Опытный в 1С

    Регистрация:
    4 фев 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    8.2
    Спасибо, поищу.
  4. IceBeerG
    Offline

    IceBeerG Опытный в 1С

    Регистрация:
    15 дек 2012
    Сообщения:
    193
    Симпатии:
    11
    Баллы:
    29
    Используйте стандартный период в СКД, а на форме элемент управления "выбор периода".
    Весь код сам подставится в модуле формы.
  5. TopicStarter Overlay
    User
    Offline

    User Опытный в 1С

    Регистрация:
    4 фев 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Вставила стандартный период, но он не связался с моим регистром в СКД, отбор по периоду не работает.
    Последнее редактирование: 2 сен 2015
  6. IceBeerG
    Offline

    IceBeerG Опытный в 1С

    Регистрация:
    15 дек 2012
    Сообщения:
    193
    Симпатии:
    11
    Баллы:
    29
    Нужно на форме создавать не датаНачала и ДатаКонца, а вставить элемент управления - выбор периода см. скриншот.

    Вот код с моего отчета, подставьте свои переменные:
    Код:
    Процедура НачПериодаПриИзменении(Элемент)
        ПараметрСКДНачалоПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачала");
        ПараметрСКДНачалоПериода.Использование = Истина;
       
        ДатаНачала = НачалоДня(НачПериода);
       
        Если ДатаНачала = Дата(1,1,1) Тогда
            ПараметрСКДНачалоПериода.Использование = Ложь;
            ПараметрСКДНачалоПериода.Значение = Дата(2000, 01, 01);;
        Иначе   
            ПараметрСКДНачалоПериода.Значение = ДатаНачала;
        КонецЕсли;
    КонецПроцедуры
    
    Процедура КонПериодаПриИзменении(Элемент)
        ПараметрСКДКонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ДатаКонца");
        ПараметрСКДКонецПериода.Использование = Истина;
       
        ДатаКонца = КонецДня(КонПериода);
       
        Если ДатаКонца = Дата(1,1,1) Тогда
            ПараметрСКДКонецПериода.Использование = Ложь;
            ПараметрСКДКонецПериода.Значение = КонецДня(ТекущаяДата());
        Иначе   
            ПараметрСКДКонецПериода.Значение = ДатаКонца;
        КонецЕсли;
       
    КонецПроцедуры
    
    Процедура ВыбПериодНажатие1(Элемент)
        НастройкаПериода = Новый НастройкаПериода;
        НастройкаПериода.РедактироватьКакИнтервал = Истина;
        НастройкаПериода.РедактироватьКакПериод = Истина;
        НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
        НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
        Если НастройкаПериода.Редактировать() Тогда
            НачПериода = НастройкаПериода.ПолучитьДатуНачала();
            КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
        КонецЕсли;
        НачПериодаПриИзменении(Элемент);
        КонПериодаПриИзменении(Элемент);
    КонецПроцедуры
    

    Вложения:

    User нравится это.
  7. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    НУ разница какие он элементы разместит. Когда параметры все равно задавать программно, только с толку человека сбили.
    Он понял что уберет параметры из запроса разместит элементы и оно все само будет
  8. IceBeerG
    Offline

    IceBeerG Опытный в 1С

    Регистрация:
    15 дек 2012
    Сообщения:
    193
    Симпатии:
    11
    Баллы:
    29
    Согласен, может быть нужно было больше конкретизировать, но имелось ввиду, что параметры в запросе никто не отменяет и программно их описывать нужно, а при размещении стандартного периода на форме автоматом заполняется Процедура ВыбПериодНажатие1(Элемент). В общем и целом сейчас представлен полностью рабочий код, можно применять:)
    User нравится это.
  9. TopicStarter Overlay
    User
    Offline

    User Опытный в 1С

    Регистрация:
    4 фев 2013
    Сообщения:
    146
    Симпатии:
    0
    Баллы:
    26
    Спасибо большое!!! С периодом разобралась, все получилось. IceBeerG, извините, что скорректировала, процитированное вами сообщение, сделала это до получения ответа.

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