Имя: Пароль:
1C
1С v8
разные результаты запроса в консоли и в коде
0 hatsher
 
07.06.12
16:15
код:

запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
              |    ДоговорыКонтрагентов.Ссылка
              |ИЗ
              |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
              |ГДЕ
ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
              |    И НЕ ДоговорыКонтрагентов.Владелец.Родитель В ИЕРАРХИИ (&ГруппаРодителей)

ГруппаРодителей = Новый СписокЗначений;

ГруппаРодителей.Добавить(Справочники.Контрагенты.НайтиПоНаименованию("Физические лица"));
ГруппаРодителей.Добавить(Справочники.Контрагенты.НайтиПоНаименованию("К удалению"));
Запрос.УстановитьПараметр("ГруппаРодителей",ГруппаРодителей);


выполняемый этим кодом запрос возвращает все договора.
Если в консоли запросов выбираю параметр ГруппаРодителей как список значений и значениями выбираю эти группы - то договоры контрагентов этих групп не попадают. Почему так?

пс. параметры запроса заполняются верно, проверял в отладчике.
псс. знаю, что криво искать по наименованию, но пока так вот.
1 EasyRider
 
07.06.12
16:17
а если в консоли убрать слово РАЗРЕШЕННЫЕ?
2 DrShad
 
07.06.12
16:17
врядли с этим связано
3 hatsher
 
07.06.12
16:18
(1) это ничего не меняет, у меня все равно полные админские права
4 EasyRider
 
07.06.12
16:18
"Если в консоли запросов выбираю параметр ГруппаРодителей как список значений и значениями выбираю эти группы - то договоры контрагентов этих групп не попадают"
и условие стоит: И НЕ ДоговорыКонтрагентов.Владелец.Родитель В ИЕРАРХИИ (&ГруппаРодителей)
5 hatsher
 
07.06.12
16:19
(4) а что тебя смущает?
6 EasyRider
 
07.06.12
16:20
то что условие стоит такое,чтоб в результат не попадали договора из выбранных групп.Они туда и не попадают,так?
7 andrewks
 
07.06.12
16:20
почти пятницо?
8 hatsher
 
07.06.12
16:20
(6) да. в консоли отрабатывает правильно, в коде - показывает все договоры
9 EasyRider
 
07.06.12
16:21
(8)блин,меня переклинило,что в консоли неверно...
10 shuhard
 
07.06.12
16:21
(8) значит список (ГруппаРодителей) пуст
11 Buster007
 
07.06.12
16:22
Потому что надо не
ГруппаРодителей = Новый СписокЗначений;
а
ГруппаРодителей = Новый Массив;

Запрос не умеет работать со списком значений
12 Maxus43
 
07.06.12
16:22
(11) умеет
13 hatsher
 
07.06.12
16:23
(10) не пуст, смотрю отладчиком перед выполнением запроса - список значений, заполненный значениями
(11) что-то новенькое)
14 Buster007
 
07.06.12
16:23
(12) без метода ВыгрузитьЗначения() не умеет.
15 andrewks
 
07.06.12
16:23
платформа какая?
16 hatsher
 
07.06.12
16:23
(15) 15
17 Buster007
 
07.06.12
16:23
(13) ну можешь дальше тыкаться ;)
18 hatsher
 
07.06.12
16:25
ну так что. почему разные результаты?
19 Maxus43
 
07.06.12
16:27
(14) я конечно сам юзаю всегда массив, но! всегда думал что и СЗ работает норм. проверять лень
20 hatsher
 
07.06.12
16:28
с проблемой разобралсо, сорри.
21 Maxus43
 
07.06.12
16:28
шо было?
22 EasyRider
 
07.06.12
16:29
(19)работает
23 Maxus43
 
07.06.12
16:29
я же говорил (с)
24 Buster007
 
07.06.12
16:30
(22) не работает. По крайней мере не работал ;)
25 hatsher
 
07.06.12
16:30
(21) оказывается, наименования такие не у одной папки, которую я выбираю..

вопрос - как выбрать группу контрагентов, если наименование и код у неё не уникальны?
26 Maxus43
 
07.06.12
16:31
(25) уникальность кодов должна быть, по умолчанию это так
27 Maxus43
 
07.06.12
16:31
(24) проверяй. ты в меньшинстве, тебе и по кнопкам лупить
28 andrewks
 
07.06.12
16:31
(14) это уже массив будет, а не СЗ. т.е. ты прямо вот так вот берёшь, и утверждаешь, что параметром в запрос СЗ передавать нельзя?
29 Buster007
 
07.06.12
16:32
+(24) значит в демоническом списке не работает )
30 andrewks
 
07.06.12
16:32
(27) +1 :)
31 EasyRider
 
07.06.12
16:32
(24)а вот и работает! xD
32 andrewks
 
07.06.12
16:32
(29) начинается. ты ещё табличное поле приплети
33 shuhard
 
07.06.12
16:32
(24) проверено мной на 8.2.12 и работает:
Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    Контрагенты.Ссылка,
       |    Контрагенты.Родитель
       |ИЗ
       |    Справочник.Контрагенты КАК Контрагенты
       |ГДЕ
       |    (НЕ Контрагенты.Родитель В ИЕРАРХИИ (&СписокПлохишей))
       |    И Контрагенты.ЭтоГруппа = ЛОЖЬ";

       СписокПлохишей=Новый СписокЗначений;
       Боссы=Справочники.Контрагенты.НайтиПоНаименованию("Учредители и собственные контрагенты");
       СписокПлохишей.Добавить(Боссы);
       Банки=Справочники.Контрагенты.НайтиПоНаименованию("Банки");
       СписокПлохишей.Добавить(Банки);
       Запрос.УстановитьПараметр("СписокПлохишей", СписокПлохишей);

   Результат = Запрос.Выполнить().Выгрузить();
   Результат.ВыбратьСтроку("Пипец");
34 Maxus43
 
07.06.12
16:33
да в 8.0 ещё работало, нас тролят
35 shuhard
 
07.06.12
16:34
(25)[вопрос - как выбрать группу контрагентов, если наименование и код у неё не уникальны?]
ясен пень - либо сделать предопределённой
либо сделать реквизит
либо сделать категорию
либо сделать константу
либо сделать Рг сведений
...
36 hatsher
 
07.06.12
16:36
Справочники.Контрагенты.выбрать(,,новый Структура("Наименование","Физические лица"))

я правильно написал? почему-то не отбирает
37 Maxus43
 
07.06.12
16:37
(35) + либо навести порядок, ибо в спраочниках контрагенты уникальность кодов включена
38 hhhh
 
07.06.12
16:39
(36) лучше запросом делай.
39 hatsher
 
07.06.12
16:44
да ёёё.. почему не работает
СтруктураОтбора.код =   "000000037";
 СтруктураОтбора.Наименование =   "Физические лица";

 Справочники.Контрагенты.выбрать(,,СтруктураОтбора);

??
40 hatsher
 
07.06.12
16:45
"Важно! Структура может содержать только один элемент.
Если параметр не указан, то отбор не используется. "

пля((
41 Maxus43
 
07.06.12
16:46
(40) да, СП говорит правду почти всегда
42 Buster007
 
07.06.12
16:49
ну да! как я и говорил в демоническом списке не работает )
Просто думал раз там не работает, то и в общем-то в коде не работает.

Пример:
http://s1.ipicture.ru/uploads/20120607/ICs7Ug8A.jpg
текст запроса демонического списка
Установил параметр списком значений и видим результат только по одному из элементов
http://s1.ipicture.ru/uploads/20120607/cQTKmRH2.jpg
Установил параметр с помощью ВыгрузитьЗначения() что возвращает массив
http://s1.ipicture.ru/uploads/20120607/K1WwMTKK.jpg

Так что моя правда тоже есть ))
43 Buster007
 
07.06.12
16:51
(42) ыыы))) эпик фэйл по затирке фамилии )))
44 shuhard
 
07.06.12
16:57
(42) в СКД нужен массив, ты об этом ?
45 HEKPOH
 
07.06.12
16:58
(39) выборка = Справочники.Контрагенты.выбрать(,,СтруктураОтбора); не работает?
46 HEKPOH
 
07.06.12
17:01
+(45) в справочнике Контрагенты есть реквизит "Физические лица"? :)
47 Buster007
 
07.06.12
17:11
(44) не знаю, может демонический список есть СКД )