[РЕШЕНО] Как в СКД написать условие "В"

Тема в разделе "Система компоновки данных (СКД)", создана пользователем Vitaly, 23 мар 2015.

  1. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    А как в самом запросе установить жесткий отбор?
    Такой фокус не работает:
    upload_2015-3-24_10-52-52.png
    --- Объединение сообщений, 24 мар 2015 ---
    Это не предопределенные значения.
  2. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.767
    Симпатии:
    509
    Баллы:
    204
    Программно запрос создавайте и пихайте компоновщику.
    Vitaly нравится это.
  3. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Для меня пока что это очень сложно.
    --- Объединение сообщений, 24 мар 2015 ---
    Я не понимаю почему я из модуля объекта не могу получить значения.
  4. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.767
    Симпатии:
    509
    Баллы:
    204
    В книге Хрусталевой по СКД хорошо информация изложена.
    Vitaly нравится это.
  5. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Я при открытии
    Код:
    перем МассивВидРеализации экспорт;
    Процедура ПриОткрытии()
        МассивВидРеализации=Новый Массив;
        МассивВидРеализации.Добавить(Справочники.дсВидыРеализации.НайтиПоНаименованию("Розничная торговля"));
        МассивВидРеализации.Добавить(Справочники.дсВидыРеализации.НайтиПоНаименованию("Оптовая торговля"));
    КонецПроцедуры
    
    но я это значение не могу в параметры передать.
  6. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.767
    Симпатии:
    509
    Баллы:
    204
    Вы запрос можете программно написать ?
    Vitaly нравится это.
  7. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Что вы имеете ввиду под словом программно в данном случае?
    Я насколько понимаю тут должно быть решение более правильное- просто передать необходимое значение.
  8. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.767
    Симпатии:
    509
    Баллы:
    204
    Ну тогда передавайте.
    Vitaly нравится это.
  9. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Код:
    // Формируется отчет, на основе схемы компоновки данных.
    // ................................................................................
    Процедура СформироватьОтчет()
      
        // Получение готовой схемы компоновки данных
        СхемаКомпоновкиДанных = ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
        // Установка настроек схемы компоновки данных
        Настройки = КомпоновщикНастроек.Настройки;
    
        Параметр_СпособПродаж                   = Настройки.ПараметрыДанных.Элементы[4];
        Параметр_СпособПродаж.Использование     = Истина;
        СпособПродаж = Новый СписокЗначений;
        СпособПродаж.Добавить(Справочники.дсВидыРеализации.НайтиПоНаименованию("Розничная торговля"));
        СпособПродаж.Добавить(Справочники.дсВидыРеализации.НайтиПоНаименованию("Оптовая торговля"));
        Параметр_СпособПродаж.Значение          = СпособПродаж;
    
        // В этот объект помещается информация о расщифровке данных
        ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
        // Формирование макета компоновки данных с помощью компоновщика макета
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        // В макет компоновки передаются СхемаКомпоновкиДанных, ее Настройки и ДанныеРасшифровки для заполнения информации о расшифровке
        МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
        // Выполнение компоновки данных с помощью процессора компоновки
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
        // Очистка поля табличного документа - Результат
        ЭлементыФормы.Результат.Очистить();
        ДокументРезультат = ЭлементыФормы.Результат;
        // Вывод результат компоновки в табличный документ
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
      
    КонецПроцедуры
    
    Прикрутите эту процедуру к кнопке сформировать, должно все получиться.
    Vitaly нравится это.
  10. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    После обеда и совещания гляну
    --- Объединение сообщений, 24 мар 2015 ---
    Алек предлагает Вам набор данных получить программно в отчете, а в СКД передать набор, (ТЗ) например, а СКД будет только вывод осуществлять
    Vitaly нравится это.
  11. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Не вижу обработчика кнопки сформировать:
    upload_2015-3-24_12-51-46.png
  12. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    удалите, создайте свою - сейчас я Вам сделаю
    --- Объединение сообщений, 24 мар 2015 ---
    Вот так что нить пишет?
    Просто плохо что конфа не типовая - не могу у себя проверить

    Вложения:

    Последнее редактирование: 24 мар 2015
    Vitaly нравится это.
  13. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Не помогло. Ничего не пишет. Просто не работает соединение таблиц.
  14. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    А галочку установите Ограничение доступности.
    Странно у меня так работает. и в отладчике видно что заполен параметр и результа выдает то что надо
    У Вас в отладчике заполняет?

    Вложения:

    • 1111.jpg
      1111.jpg
      Размер файла:
      286,9 КБ
      Просмотров:
      3
  15. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Я немного код подправил, в отладчике нашел что это не номенклатура и вид реализации. МассивВидРеализации формируется корректно. Но видимо в запрос не передается.
  16. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Ну вот я в отладчике указал, где видно установлен параметр или нет. У Вас установлен? после того как прошли
  17. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    ВСЕ ЗАРАБОТАЛО!!!
    Заменил массив на СписокЗначений.
    Всем большое большое спасибо!!!!!
  18. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Да не за что, так и думал что не в коде дело :)
    Vitaly нравится это.
  19. TopicStarter Overlay
    Vitaly
    Offline

    Vitaly Опытный в 1С

    Регистрация:
    21 фев 2014
    Сообщения:
    366
    Симпатии:
    0
    Баллы:
    26
    Я в коде исправил строчку
    Код:
    МассивВидРеализации=Новый Массив;
    на
    Код:
    МассивВидРеализации=Новый СписокЗначений;

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