Имя: Пароль:
1C
1С v8
Условие в запросе динамического списка В(&МойПараметр) не работает
0 ASimonova
 
15.09.16
10:29
Вот такой кусок в запросе динамического списка:

ГДЕ СпрНоменклатура.ВидНоменклатуры В(&ДоступныеВидыНоменклатуры)

Ведет себя РОВНО ТАКЖЕ как

ГДЕ СпрНоменклатура.ВидНоменклатуры = &ДоступныеВидыНоменклатуры[0].Значение

То есть берет просто первое значение и по нему отбирает записи. Я никак не понимаю в чем дело.
1 xafavute
 
15.09.16
10:31
как параметр устанавливаешь?
2 ASimonova
 
15.09.16
10:32
(1)  СписокНоменклатура.Параметры.УстановитьЗначениеПараметра("ДоступныеВидыНоменклатуры",ДоступныеВидыНоменклатуры);
3 ASimonova
 
15.09.16
10:32
ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(
СписокНоменклатура,
"ДоступныеВидыНоменклатуры",
ДоступныеВидыНоменклатуры,
ЗначениеЗаполнено(ДоступныеВидыНоменклатуры));

Так тоже пробовала
4 xafavute
 
15.09.16
10:32
на сервере, клиенте?
5 ASimonova
 
15.09.16
10:33
(4) На сервере в ПриСозданииНаСервере в самом начале
6 _stay true_
 
15.09.16
10:36
1. Произвольный запрос установлен/нет?
2. Без фотокарточки не взлетит.
3. Пробегись отладчиком что у тебя в ДоступныеВидыНоменклатуры. Может, там реально одна запись?
4. попробуй выполнить код на клиенте в процедуру ПртОткрытии. 5. Отдохни от проделанной работы.
7 ASimonova
 
15.09.16
10:42
1) произвольный запрос установлен
2) [url=http://radikal.ru][img]http://s16.radikal.ru/i190/1609/8f/b3dbf406ce6f.jpg[/img][/url]
3) нет конеш, даже если сделать &ДоступныеВидыНоменклатуры[20].Значение - все норм, там куча записей, все они передаются, только по одному
4) пробую, но боюсь при открытии весь динамический список уже сформирован
8 ASimonova
 
15.09.16
10:43
9 xafavute
 
15.09.16
10:44
покажи в отладчике параметры списка
10 aleks_default
 
15.09.16
10:44
"ГДЕ СпрНоменклатура.ВидНоменклатуры = &ДоступныеВидыНоменклатуры[0].Значение" - это работает в тексте запроса? И не ругается на синтаксис?
11 ASimonova
 
15.09.16
10:50
12 aleks_default
 
15.09.16
10:51
На другой ресурс выложи. Этот всегда в черном списке.
13 ASimonova
 
15.09.16
10:51
(10) ой, нет, точнее работает так:
ГДЕ СпрНоменклатура.ВидНоменклатуры = &ДоступныеВидыНоменклатуры

......УстановитьЗначениеПараметра("ДоступныеВидыНоменклатуры",ДоступныеВидыНоменклатуры[0].Значение);

как вы написали не проверяла, могу проверить
14 aleks_default
 
15.09.16
10:52
(13)Вот все и выяснилось
15 ASimonova
 
15.09.16
10:52
16 ASimonova
 
15.09.16
10:55
(14) что выяснилось? да, ругается, сильно, неподумавши сказала
17 ASimonova
 
15.09.16
11:00
Ну как, есть у кого предположения?
В ПриОткрытии тоже попробовала - все то же
18 aleks_default
 
15.09.16
11:01
(16)Т.е. если ты пишешь УстановитьЗначениеПараметра("ДоступныеВидыНоменклатуры",ДоступныеВидыНоменклатуры[0].Значение);
Или
УстановитьЗначениеПараметра("ДоступныеВидыНоменклатуры",ДоступныеВидыНоменклатуры);
то результат одинаков?
19 ASimonova
 
15.09.16
11:03
(18) да, только в первом случае надо в запросе написать = &ДоступныеВидыНоменклатуры, а во втором В(&ДоступныеВидыНоменклатуры)
20 aleks_default
 
15.09.16
11:11
(19)Необязательно. Должно работать и так.
Текст запроса нигде в модуле не подменяется?
Отборы в дин. списке нигде не устанавливаются (возможно программно)?
21 ASimonova
 
15.09.16
11:26
(20) заметила, уже после открытия формы в параметрах списка внезапно оказывается только первый элемент. ищу где подмена...
22 ASimonova
 
15.09.16
11:39
(20) просто во время перехода с сервера на клиент внезапно пропадают все элементы кроме первого, и список значений превращается в СправочникСсылка
23 ASimonova
 
15.09.16
11:41
Ну неужели нет больше никаких мыслей?.. при переходе с клиента на сервер список значений превращается в свой первый элемент, ну неужели никто не встречался с таким?..
24 xafavute
 
15.09.16
11:43
в приоткрытии поставь точку останова
25 aleks_default
 
15.09.16
11:47
(22)Реквизит формы с таким же именем?
26 ASimonova
 
15.09.16
11:48
(24) ну ставила, если установить параметр до этого, он уже в ПриОткрытии приходит обрезанным. А если установить параметр после этого, то он обрезается потом.
27 ASimonova
 
15.09.16
11:50
(25) это и есть только реквизит формы, это ж динамический список, у него одно имя. Или вы имеете ввиду элемент формы? Элементов формы два: СписокРасширенныйПоискНоменклатура и СписокСтандартныйПоискНоменклатура
28 aleks_default
 
15.09.16
11:56
(22)(23) с клиента на сервер или с сервера на клиент?
Что где происходит нифига не понятно.
Давай сначала, что такое ДоступныеВидыНоменклатуры? Реквизит формы? Где и как устанавливается его значение?
В ПриСозданиинаСервере перед установкой параметра этот список заполнен?
29 ASimonova
 
15.09.16
12:01
(28) если установить параметр на сервере, при переходе на клиент он обрезается. Если заполнить только реквизит, передать его на клиент и установить параметр на клиенте, он пройдет все процедуры, и окажется обрезанным уже после создания формы
ДоступныеВидыНоменклатуры - реквизит формы, заполняется в самом начале в ПриСозданииНаСервере, список значений, списком значений и остается все время своего существования, не обрезается
Конечно, заполнен, хотя бы потому что первый элемент из него берется же все-таки
30 PRO100 NigGaZ
 
15.09.16
12:03
а что так "&ДоступныеВидыНоменклатуры[0].Значение " можно было? О_о
31 ASimonova
 
15.09.16
12:04
(30) ступила, ступила, нельзя конечно...
32 1sanekmaloi1
 
15.09.16
12:07
Остался не раскрытым вопрос кто теперь "обрезанный"?
33 ASimonova
 
15.09.16
12:08
(32) тему не читали что ли?
34 1sanekmaloi1
 
15.09.16
12:09
(33) в том то и дело что читал, но так и не понять кто кого обрезал.
35 Mort
 
15.09.16
12:10
Нужно посылать массив, а не список значений.
36 ASimonova
 
15.09.16
12:11
(34) Параметр динамического списка устанавливается как СписокЗначений, устанавливается хорошо, видно по отладке (см последнюю картинку), а потом внезапно превращается из СписокЗначений в СправочникСсылка.Номенклатура т.е. в свой первый элемент.
(35) ща попробую
37 1sanekmaloi1
 
15.09.16
12:13
(36)Вот теперь понятно.
38 1sanekmaloi1
 
15.09.16
12:16
в (35) похоже верное решение, с год назад припоминаю подобные глюки.
39 xafavute
 
15.09.16
12:23
Не 8.2 случайно?
40 xafavute
 
15.09.16
12:24
С партнерского
>>Передавайте туда массив, это старая баго-фича.
41 ASimonova
 
15.09.16
12:24
(40) не, 8.3
здорово, если так, ща попробую проверим
42 ASimonova
 
15.09.16
12:29
Ура, взлетело!
Всех благодарю.
43 1dvd
 
15.09.16
12:33
про фотку забыли
44 ASimonova
 
15.09.16
12:42
(43) ребята, ну что за тема, не прикалывайтесь, так же никто не делает! да меня же муж не поймет...
45 1sanekmaloi1
 
15.09.16
12:47
(44) Просто в следующий раз помогать не будут и все :)
46 ASimonova
 
15.09.16
12:50
(45) смеетесь или правда не будут?
47 1sanekmaloi1
 
15.09.16
12:58
(46) Правдивее некуда, мистяне не прощают ошибок)))
Традиции есть традиции, без фотки в профиле общения нет)
48 ASimonova
 
15.09.16
13:01
(47) ну ладно, в самом деле не жалко) ща поставлю в профиль
49 1sanekmaloi1
 
15.09.16
13:37
(48)Это правильное решение.Теперь от помощников отбоя не будет)
Основная теорема систематики: Новые системы плодят новые проблемы.