Имя: Пароль:
1C
 
Странный глюк - остатки в запросе есть а в динамическом списке НЕТ!
0 badboychik
 
22.01.18
09:41
Странная ситуация, не могу понять что не так. Делал динамический запрос и переменное число колонок для вывода остатков по складам, сначала думал что неправильно создаю элементы формы для вывода колонок дин.списка и данные не показываются, но потом сделал отдельную обработку со статичным запросом и жестко зашитой структурой из трех колонок-складов и все равно не работает!!
В консоли запросов выводится всё нормально, а в дин.списке цифры есть только в ПЕРВОЙ колонке! Хотя остатки есть по всем трем.
Если поменять местами порядок параметров-складов, то все равно выводятся данные только по первому (Склад0)
Проверял на демо-базе УТ 11.3

Запрос:
ВЫБРАТЬ
    СвободныеОстатки.Номенклатура,
    СУММА(ВЫБОР КОГДА СвободныеОстатки.Склад = &Склад0 ТОГДА ЕстьNULL(СвободныеОстатки.ВНаличииОстаток,0) ИНАЧЕ 0 КОНЕЦ) КАК Остаток0,
    СУММА(ВЫБОР КОГДА СвободныеОстатки.Склад = &Склад1 ТОГДА ЕстьNULL(СвободныеОстатки.ВНаличииОстаток,0) ИНАЧЕ 0 КОНЕЦ) КАК Остаток1,
    СУММА(ВЫБОР КОГДА СвободныеОстатки.Склад = &Склад2 ТОГДА ЕстьNULL(СвободныеОстатки.ВНаличииОстаток,0) ИНАЧЕ 0 КОНЕЦ) КАК Остаток2
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
    РегистрНакопления.СвободныеОстатки.Остатки(, Склад В (&Склады)) КАК СвободныеОстатки
СГРУППИРОВАТЬ ПО
    СвободныеОстатки.Номенклатура
;        
ВЫБРАТЬ
    СпрНоменклатура.Ссылка КАК Ссылка,
    СпрНоменклатура.Код КАК Код,
    СпрНоменклатура.Наименование КАК Наименование,
    СпрНоменклатура.Артикул КАК Артикул,
    СпрНоменклатура.ВидНоменклатуры КАК ВидНоменклатуры,
    ЕстьNULL(СвободныеОстатки.Остаток0,0) КАК Остаток0,
    ЕстьNULL(СвободныеОстатки.Остаток1,0) КАК Остаток1,
    ЕстьNULL(СвободныеОстатки.Остаток2,0) КАК Остаток2,
    СпрНоменклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения
ИЗ
    Справочник.Номенклатура КАК СпрНоменклатура
    ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки КАК СвободныеОстатки
        ПО СвободныеОстатки.Номенклатура = СпрНоменклатура.Ссылка
ГДЕ
    НЕ СпрНоменклатура.ЭтоГруппа
1 badboychik
 
22.01.18
10:21
Any ideas?
2 Darych
 
22.01.18
10:25
ну и что тут запрос?.. ты же сказал, что он нормально отрабатывает
3 Fram
 
22.01.18
10:26
Скорее всего параметры неверно устанавливаешь
4 badboychik
 
22.01.18
10:31
(2) Запрос-то нормально работает, а вставляешь его в дин.список и - не работает
(3) параметры правильные, в отладчике перепроверял, массив из трех складов и сами склады, где тут ошибиться?
5 Мыш
 
22.01.18
10:32
(0) Платформа, режим совместимости?
6 Timon1405
 
22.01.18
10:36
основная таблица списка задана?
7 badboychik
 
22.01.18
10:39
(6) Задана
(5) 8.3.11, УТ типовая на поддержке
8 Fram
 
22.01.18
10:39
(4) я имел ввиду неправильно их пробрасывать в список
9 Fram
 
22.01.18
10:40
*пробрасываешь
10 badboychik
 
22.01.18
10:41
(8) в массив бросаю как всегда, что тут неправильного
11 Мыш
 
22.01.18
10:43
(7) Какой режим совместимости у типовой УТ? Запрос списка меняешь динамически?
12 badboychik
 
22.01.18
10:43
в запросе же работает.
Есть какие то ограничения на параметры запросов в дин.списках о которых я не знаю?
13 badboychik
 
22.01.18
10:44
(11) не помню какой, скорей всего 8.3.8.
Запрос статический
14 Мандалай
 
22.01.18
10:50
Проверь еще раз, тип передаваемого параметра Склад0 - должен быть Сссылка.
И что в массиве находится именно тот склад который в Склад0
15 Borteg
 
22.01.18
10:52
(0) этот запрос надо переписывать. Первый запрос остатков вообще выбросить, сделать обычное получение остатков. Логику реализовать в «ПриПолученииДанныхНаСервере»
16 Timon1405
 
22.01.18
10:54
(12) скорее всего ВидСравнения у элемента отбора остается "равно", а должен быть "в списке". показывайте код как устанавливаете отбор
17 badboychik
 
22.01.18
11:01
(16) да блин, я не делаю отбор, только запрос и параметры в нём!
18 eklmn
 
гуру
22.01.18
11:01
Я думал, что только у меня такой глюк ))
19 eklmn
 
гуру
22.01.18
11:02
8.3.7.2008 в режиме совместимости
20 CepeLLlka
 
22.01.18
11:04
Была подобная проблема, в самописке, не было прав на "просмотр" регистра, а на чтение было, поэтому в запросе всё показывалось, в ДС не отображалось..
Даже тему создавал тут.. хотя может сейчас и другая проблема..
21 Timon1405
 
22.01.18
11:04
(17) Обычно параметры/отбор устанавливаются соотв. командами общего модуля
ОбщегоназначенияУТ.УстановитьПараметрДинамическогоСписка(...,,,<<один из параметров - вид сравнения)
у вас так же?
22 eklmn
 
гуру
22.01.18
11:07
(20) тоже виню кривой 1с-рлс, хотя доступы есть... но больше нечему.
23 badboychik
 
22.01.18
11:12
(21) это если используются возможности компоновки данных, у меня просто жестко параметры в запросе
24 badboychik
 
22.01.18
11:17
(23) можно конечно попробовать убрать из запроса и сделать через установку отбора...
25 Timon1405
 
22.01.18
11:22
(23) так вы код установки параметров покажете или там что-то секретное?
26 badboychik
 
22.01.18
11:32
(25) Код обычный, чего его показывать?

ДинСписок.Параметры.УстановитьЗначениеПараметра("Склады", СписокСкладов)
27 Timon1405
 
22.01.18
11:33
СписокСкладов - список или массив?
28 badboychik
 
22.01.18
11:33
(27) список значений, реквизит формы
29 Timon1405
 
22.01.18
11:34
надо переделать на массив.
30 Timon1405
 
22.01.18
11:34
* при передаче в параментр
31 Franchiser
 
гуру
22.01.18
11:38
В динамическом списке разрешили уже использовать временные таблицы?
32 badboychik
 
22.01.18
11:41
(31) А их запрещали? )) Кажется с 8.2.5 разрешили
(29) Возможно ты и прав, вот вроде про это тема v8: УФ как правильно передать массив в параметр динамического списка? , как попробую напишу
33 Franchiser
 
гуру
22.01.18
11:46
Я бы попробовал сделать вместо первого запроса запрос с объединением данных по 3м складам
34 Franchiser
 
гуру
22.01.18
11:47
Остатки могут получаться в скд неправильно, если нет кроме начального остатка ещё и конечного
35 badboychik
 
22.01.18
12:14
Еще тема про это, 2011 год! v8: ДинамическийСписок и СписокЗначений.
Прошло 6 лет... WTF??
36 Timon1405
 
22.01.18
12:23
это не баг, это фича. а Вам в следующий раз лучше сразу давать полную информацию. а то в (10) пишете что массив, а на самом деле нет.
37 badboychik
 
22.01.18
12:26
(36) Потому что всегда предполагал что нет разницы что передавать. Для обычного запроса нет. А для динамического списка оказывается есть.
38 badboychik
 
22.01.18
13:23
Проверил, работает, если массив передавать...
39 Сти
 
22.01.18
13:39
(38) в запрос динамического списка можно передавать список значений в качестве параметра, но исопльзоваться будет только первый элемент списка. С массивом все ОК. И про это написано в документации, между прочим.

Короче, как я понял, случился косяк, ну они его там просто задокументировали и это стал не косяк.
40 Fram
 
22.01.18
23:57
(38) told ya
41 H A D G E H O G s
 
23.01.18
00:41
тот самый момент, когда временная таблица ненужна
42 H A D G E H O G s
 
23.01.18
00:41
Как и параметры ВТ
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.