Имя: Пароль:
1C
 
Интересный глюк запроса. Как обойти без ВТ?
, , ,
0 stopa85
 
27.12.17
09:56
Запрос
ВЫБРАТЬ
Документ,
СУММА(КоличествоОстаток)
ИЗ
РегистрНакопления.ТоварыКВыдачеСоСклада.Остатки
СГРУППИРОВАТЬ ПО
Документ

Возвращает пустой результат

При этом запрос

ВЫБРАТЬ
*
ИЗ
РегистрНакопления.ТоварыКВыдачеСоСклада.Остатки

возвращает
Основной склад    Расходная накладная 0000000004 от 26.12.2017 17:36:54    04 Пл. ОРАДЖЕТ 3640-00М  1,00х50м прозр.матов.    1,000
Основной склад    Расходная накладная 0000000004 от 26.12.2017 17:36:54    Пл. монтажн. МТ-95 (1,00х50м) без подложки    -1,000

Конфигурация самописака на базе БСП. Платформа 8.3.10.2699

Нужно для динамического списка без возможности использования ВТ
1 PolarBear
 
27.12.17
09:59
Это глюк?! Ха.
2 stopa85
 
27.12.17
10:00
(1) Это фишка? Она еще может в доке описана (я серьезно)?
3 Mankubus
 
27.12.17
10:01
(0) >>Платформа 8.3.10.2699
разве там еще нельзя временные таблицы использовать? вложенный запрос еще есть
4 stopa85
 
27.12.17
10:02
(3) Режим совместимости менять нужно. Не известно к чему это еще приведет, да и не факт что мне поможет
5 patapum
 
27.12.17
10:05
(0) добавить поле СУММА(ВЫБОР КОГДА КоличествоОстаток >=0 ТОГДА КоличествоОстаток ИНАЧЕ -КоличествоОстаток) и не выводить его не поможет?
6 Гипервизор
 
27.12.17
10:05
А если без группировки?
7 stopa85
 
27.12.17
10:07
(5) тоже не прокатывает (6) - тогда норм
(3) Точно!
8 stopa85
 
27.12.17
10:08
Вот так прокатило:

ВЫБРАТЬ
    Документ,
    СУММА(КоличествоОстаток) КАК КоличествоОстаток
ИЗ
(
    ВЫБРАТЬ
        *
    ИЗ
        РегистрНакопления.ТоварыКВыдачеСоСклада.Остатки
) КАК ИсточникДанных
СГРУППИРОВАТЬ ПО
    Документ
9 ptiz
 
27.12.17
10:08
(0) Добавь условие ГДЕ Номенклатура <> НЕОПРЕДЕЛЕНО
10 stopa85
 
27.12.17
10:09
Три дня уже туплю. Даже "стенд" уже собрал себе.
(9) тоже прокатывает)))
11 ptiz
 
27.12.17
10:12
И это не глюк, а фиче. Курите мануалы про виртуальные таблицы.
12 Borteg
 
27.12.17
10:16
(0) Основной склад    Расходная накладная 0000000004 от 26.12.2017 17:36:54    04 Пл. ОРАДЖЕТ 3640-00М  1,00х50м прозр.матов.    1,000
Основной склад    Расходная накладная 0000000004 от 26.12.2017 17:36:54    Пл. монтажн. МТ-95 (1,00х50м) без подложки    -1,000
1+ -1 = 0, где глюк то? в виртуальной таблице не вернет ничего.
13 stopa85
 
27.12.17
10:17
(12) нет там номенклатура разная. Одна штука и минус_одна штука.
04 Пл. ОРАДЖЕТ 3640-00М 1шт
Пл. монтажн. МТ-95  -1шт
14 Borteg
 
27.12.17
10:18
(13) ВЫБРАТЬ
Документ,
СУММА(КоличествоОстаток)
ИЗ
РегистрНакопления.ТоварыКВыдачеСоСклада.Остатки
СГРУППИРОВАТЬ ПО
Документ  где в этом запросе номенклатура?
15 Borteg
 
27.12.17
10:18
(13) документ и остаток
16 Hans
 
27.12.17
10:23
(0) Это не глюк.
17 Ненавижу 1С
 
гуру
27.12.17
10:24
такой запрос тоже будет пустой

ВЫБРАТЬ
Документ,
КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыКВыдачеСоСклада.Остатки

это особенности виртуальных таблиц регистров накопления
они сами группируют и если ресурсы нулевые - выкидывают
18 Dmitrii
 
гуру
27.12.17
10:28
(0) Абсолютно верно работает платформа.
(2) >> Она еще может в доке описана (я серьезно)?
Да. Описана. Согласно документации:

РегистрНакопления.<Имя регистра>.Остатки
Описание:
Предназначена для получения остатков по регистру накопления. Данные представляют собой итоги ресурсов.
Агрегация производится по измерениям указанным(!!!) в запросе.

То есть в твоем случае агрегация по измерению Документ даёт 0 (-1 + 1 = 0).

Если речь о запросе для динамического списка и необходимо выводить данные без группировки по одному из измерений, то можно попробовать в запросе для динамического списка перечислить все измерения (а не только те, что нужны). На форму вывести только те поля, которые нужны (Документ). Но при этом в настройках основного реквизита формы "Список" указать у поля "Номенклатура" флажок "Использовать всегда".

Надо пробовать. Это моё предположение.
19 stopa85
 
27.12.17
10:33
(18) Да, ребята, я понял свой косяк(

Не то чтобы я документацию не читал, но делал это очень давно, когда 8.1 еше была... не помню такой фишки...

Всем спасибо))
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn