Имя: Пароль:
1C
 
Получить список значений для запроса
0 ЖанЖак
 
05.05.15
08:30
Список значений я получаю:
МассивОтделы = Новый Массив;
МассивОтделы = Отдел.ВыгрузитьЗначения();

Извините, я не правильно сформировал свой вопрос. У реквизита формы Отдел с типом СписокЗначений тип значений ]СправочникСсылка.Отделы[/b]. Мне нужно в параметр вставить реквизит справочника Отделы [b]НомерОтдела[/b], в со[bответствии с СпискомЗначений реквизита формы Отдел. Подскажите как это сделать?

Вот запрос:
Запрос = Новый Запрос;
Запрос.Текст =
"
| ВЫБРАТЬ
| dbo_federal_packets.id_otdel как id_otdel,
| dbo_federal_packets.id_operator КАК id_operator,
| КОЛИЧЕСТВО(dbo_federal_packets.id_key) КАК id_key
| ИЗ
| ВнешнийИсточникДанных.Проба.Таблица.dbo_Federal_Packets КАК dbo_federal_packets
| ГДЕ
| НАЧАЛОПЕРИОДА(dbo_federal_packets.date_, ДЕНЬ) МЕЖДУ &ДатаНачала и &ДатаОкончания
| И dbo_federal_packets.type_ = 2
| И dbo_federal_packets.id_otdel IN(&otdel)
| СГРУППИРОВАТЬ ПО
| id_otdel , id_operator
| ИТОГИ
| КОЛИЧЕСТВО(id_key)
|ПО
| Общие,
| id_otdel";
1 anaed
 
05.05.15
08:37
А что не так? Или вы не знаете про УстановитьПараметр?
2 Lexey_
 
05.05.15
08:51
(0) и не обязательно в массив выгружать
3 rabbidX
 
05.05.15
09:25
Либо обойди список значений и в массив загрузи номера отделов, либо в запросе
dbo_federal_packets.id_otdel IN
(Выбрать НомерОтдела из Справочник.Отделы Где ссылка в (&МассивОтделов))
Либо Выбрать НомерОтдела из Справочник.Отделы Где ссылка в (&МассивОтделов) во временную таблицу и внутреннее соединение с основным запросом.
4 ЖанЖак
 
05.05.15
12:46
Спасибо большое получилось, наверно правда как-то каряво :D

         МассивОтделы = Новый Массив;
     МассивОтделы = Отдел.ВыгрузитьЗначения();
     МассивНомераОтделов = Новый Массив;
     Для каждого ОтделСсылка Из МассивОтделы Цикл
         МассивНомераОтделов.Добавить(ОтделСсылка.ИДСкат);
     КонецЦикла;
    
     Макет = Отчеты.ОтчетПоОператорам3.ПолучитьМакет("Макет");
     Запрос = Новый Запрос;
     Запрос.Текст =
      "
      |            ВЫБРАТЬ
      |             dbo_federal_packets.id_otdel как  id_otdel,
      |                dbo_federal_packets.id_operator КАК id_operator,
      |                КОЛИЧЕСТВО(dbo_federal_packets.id_key) КАК id_key
      |            ИЗ
      |                ВнешнийИсточникДанных.Проба.Таблица.dbo_Federal_Packets КАК dbo_federal_packets
      |            ГДЕ
      |                НАЧАЛОПЕРИОДА(dbo_federal_packets.date_, ДЕНЬ) МЕЖДУ &ДатаНачала и &ДатаОкончания    
      |                И dbo_federal_packets.type_ = 2
      |                И dbo_federal_packets.id_otdel IN(&otdel)
      |    СГРУППИРОВАТЬ ПО
      |     id_otdel , id_operator
      |    ИТОГИ
      |      КОЛИЧЕСТВО(id_key)
      |ПО
      | Общие,
      | id_otdel";

      
      Запрос.УстановитьПараметр("ДатаНачала",ДатаНачала);
      Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);
      Запрос.УстановитьПараметр("otdel",МассивНомераОтделов);
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший