Вход | Регистрация
 

Запрос. Как сэмулировать получение данных?

Запрос. Как сэмулировать получение данных?
Я
   Галахад
 
30.07.20 - 12:15
ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад КАК Ссылка,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В ИЕРАРХИИ (&Номенклатура) и Склад В ИЕРАРХИИ (&Склад)) КАК ТоварыНаСкладахОстатки

Допустим есть простой запрос.
И в параметрах указаны три склада. На одном из них товара нет. Соответственно в результате данных по этом складу просто не будет.
Но хотелось бы чтобы в получаемой табличке был этот склад с остатком = 0.
   H A D G E H O G s
 
1 - 30.07.20 - 12:17
Очень странные дела...
   yzimin
 
2 - 30.07.20 - 12:19
сэмулируй левым соединением, но надо подумать)))
   Nikoss
 
3 - 30.07.20 - 12:22
Выбрать сначала номенклатуру из параметра во временную таблицу, потом к ней левым соединением остатки (ну и ЕСТЬНУЛЛ(Остаток, 0))
   Nikoss
 
4 - 30.07.20 - 12:22
(2) ой, надо было дать человеку подумать?))
   Галахад
 
5 - 30.07.20 - 12:26
(3) А склады?
   ГдеСобакаЗарыта
 
6 - 30.07.20 - 12:26
(4) сначала надо было подумать тебе). Откуда в (3) все склады появятся?
   hhhh
 
7 - 30.07.20 - 12:26
(3) это не то. У вас одна строчка, а нужно 3. По каждому складу отдельная строка.
   Галахад
 
8 - 30.07.20 - 12:26
Хм. Похоже только декартово произведение спасет меня.
   Nikoss
 
9 - 30.07.20 - 12:28
(5)(6)(7) ладно ладно) еще склады выбрать во врем таб, и полное соединение с номенклатурой
   ГдеСобакаЗарыта
 
10 - 30.07.20 - 12:33
(8) Т.е. совет подумать из (2) не подходит? Думать не наше кредо?
   Галахад
 
11 - 30.07.20 - 12:33
(9) Чего? Какое полное?

(10) А какие еще варианты?
   ГдеСобакаЗарыта
 
12 - 30.07.20 - 12:37
(11) Тут еще не ясен момент с номенклатурой. Если ее нет на остатках ни по одному складу, то тогда выводить в результат или нет?
   Галахад
 
13 - 30.07.20 - 12:39
(12) Нет. Если нигде нет, то нет.
   Ёпрст
 
14 - 30.07.20 - 12:49
(0) ну и сделай запрос к справочнику склады с условием на &Склад + левое соедиенние с твоим запросом в (0). будут тебе все склады в результате
   Галахад
 
15 - 30.07.20 - 12:53
(14) Да сделал уже. Но как-то это не красиво...
   Nikoss
 
16 - 30.07.20 - 12:54
(15) покажи
   Галахад
 
17 - 30.07.20 - 12:56
(16) Типа того:

ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Склад КАК Ссылка,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
ПОМЕСТИТЬ ТаблицаДанных
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В ИЕРАРХИИ (&Номенклатура) и Склад В ИЕРАРХИИ (&Склад)) КАК ТоварыНаСкладахОстатки

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Склады.Ссылка,
    Номенклатура.Ссылка,
    0 КАК Остаток
ИЗ
    Справочник.Склады КАК Склады,
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Склады.Ссылка В ИЕРАРХИИ(&Склад)
    И Номенклатура.Ссылка В ИЕРАРХИИ(&Номенклатура);

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ТаблицаДанных.Ссылка КАК Ссылка,
    ТаблицаДанных.Номенклатура КАК Номенклатура,
    ТаблицаДанных.Остаток КАК Остаток
ИЗ
    ТаблицаДанных КАК ТаблицаДанных
   Nikoss
 
18 - 30.07.20 - 13:28
(17) так у тебя же будет по 2 строки, если по номенклатуре есть остаток. Одна с остатком и вторая с нулем.
   Nikoss
 
19 - 30.07.20 - 13:30
ну и условие из (13) где?
   Галахад
 
20 - 30.07.20 - 13:52
(19) Это запрос для примера. Реальный запрос несколько сложнее и там всё это есть.
   Вафель
 
21 - 30.07.20 - 13:56
можно в процессе вывода обходить запрса по группировкам со всеми значениями


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.