|
Запрос в консоли и в динамическом списке | ☑ | ||
---|---|---|---|---|
0
lamme
26.04.20
✎
17:43
|
1С8
Есть запрос. Выборка остатков из РН. условие остаткиНаСкладах.Склад в (&СпискСкладов) Выполняется в динамическом списке. СпискСкладов = параметр заполняется при открытии обработки СпискСкладов = новый СПисокЗначений() для каждого СтрСкл из параметрысеанса.текущийпользовтаель.списокяСкладов цикл СпискСкладов.добавить (СтрСкл .Склад) конеццикла; В списке складов у пользователя стоит Склад1 и Склад2. А теперь прикол. В консоли указываю 2 этих склада - все красиво показывает. А в обработке показывается остаток только по тому складу-которыйидет первым в настройках пользователя в этом списке. При этом меняешь местами склады - показывает все равно только по тому,какойсклад первый |
|||
1
lamme
26.04.20
✎
17:43
|
отладчик показывает 2 заполненных склада
|
|||
2
lamme
26.04.20
✎
17:45
|
повторю
в консоли - этот запрос показывает все правильно. |
|||
3
lamme
26.04.20
✎
17:46
|
тут или наложение имен переменных ..наверное ..
или я хз |
|||
4
lamme
26.04.20
✎
17:50
|
имена переменнызуникальны
|
|||
5
vde69
26.04.20
✎
17:56
|
для динамического списка лучше юзать отбор чем параметр "в"
|
|||
6
lamme
26.04.20
✎
17:58
|
те сам запрос - без отбора
а потом в условном оформлении отбор поставить? |
|||
7
vde69
26.04.20
✎
17:59
|
(6) да
|
|||
8
lamme
26.04.20
✎
17:59
|
стенсяюсь спросить
а какого фига? |
|||
9
lamme
26.04.20
✎
18:00
|
запрос выберет 100500 записей
а потом отбор покажет только 500 из них. как-то - не рационально |
|||
10
Ненавижу 1С
гуру
26.04.20
✎
18:01
|
есть мнение, что создание списка в цикле перетирается:
СпискСкладов = новый СПисокЗначений(); а вообще проще было СпискСкладов = параметрысеанса.текущийпользовтаель.списокяСкладов.ВыгрузитьКолонку("Склад"); |
|||
11
Ненавижу 1С
гуру
26.04.20
✎
18:02
|
(9) отборы встраиваются в тело запроса
кстати у тебя неоптимально выгружать всю виртуальную таблицу, а потом накладывать условие |
|||
12
vde69
26.04.20
✎
18:02
|
(8) просто поверь, писать долго
|
|||
13
lamme
26.04.20
✎
18:03
|
10
проверяю |
|||
14
vde69
26.04.20
✎
18:04
|
(9) динамический список никогда не обрабатывает весь список сразу, он работает по другому...
|
|||
15
lamme
26.04.20
✎
18:05
|
10
сработало! |
|||
16
lamme
26.04.20
✎
18:05
|
я в шоке
|
|||
17
Вафель
26.04.20
✎
18:09
|
Параметр В должен отрабатывать нормально
|
|||
18
lamme
26.04.20
✎
18:15
|
10
по факту - отладчик показывает список из 2х складов пользователя |
|||
19
lamme
26.04.20
✎
18:15
|
а так .. и не работает (
|
|||
20
lamme
26.04.20
✎
18:16
|
а так - СпискСкладов = параметрысеанса.текущийпользовтаель.списокяСкладов.ВыгрузитьКолонку("Склад");
работает в чем разница - не вижу |
|||
21
lamme
26.04.20
✎
18:16
|
10
спасибо |
|||
22
Ненавижу 1С
гуру
26.04.20
✎
18:18
|
отсюда код не видно весь
|
|||
23
hhhh
26.04.20
✎
18:36
|
(20) вообще-то разница огромная. Там список значений, а тут массив.
|
|||
24
Ненавижу 1С
гуру
26.04.20
✎
18:38
|
(23) в данном случае это не принципиально
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |