|
выражение в запросе | ☑ | ||
---|---|---|---|---|
0
gorilla
08.11.15
✎
00:23
|
добрый вечер
делаю выражение Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0))- Сумма(ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0)) КАК КоличествоТоваров, показывает ноль.хотя в резерве 5 а всего на остатке 10.Туплю? |
|||
1
Armando
08.11.15
✎
00:31
|
Чтобы тебе ответить надо знать что там у тебя в таблицах творится, и видеть запрос полностью.
|
|||
2
hhhh
08.11.15
✎
00:32
|
ничего удивительного. Вполне может быть. По одном строчке определить правильно или неправильно - нереально.
|
|||
3
gorilla
08.11.15
✎
00:35
|
когда делаю так то все работает и показывает количество 5
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)-ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0) КАК КоличествоТоваров, но и группировки пришлось отключить |
|||
4
gorilla
08.11.15
✎
00:41
|
ВЫБРАТЬ
Выразить(Номенклатура.Ссылка.НаименованиеПолное КАК строка(1000)) КАК Название, МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности) КАК СрокГодности, Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)-ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0)) КАК КоличествоТоваров, ВЫБОР КОГДА Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) > 0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Наличие ИЗ Справочник.Номенклатура.Изменения КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки ПО Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки() КАК ТоварыВРезервеНаСкладах ПО Номенклатура.Ссылка = ТоварыВРезервеНаСкладах.Номенклатура ГДЕ Номенклатура.Ссылка.ПометкаУдаления = ЛОЖЬ И Номенклатура.Ссылка.ЭтоГруппа = ЛОЖЬ И ТоварыНаСкладахОстатки.КоличествоОстаток > 0 СГРУППИРОВАТЬ ПО Выразить(Номенклатура.Ссылка.НаименованиеПолное КАК строка (1000)) как то так |
|||
5
Armando
08.11.15
✎
00:49
|
группировка тут и не нужна, если у вас нет номенклатуры с одинаковым названием.
"Номенклатура.Ссылка.НаименованиеПолное" и в прочих убрать ссылка |
|||
6
gorilla
08.11.15
✎
00:53
|
(5)если группировка ненужна то как использовать минимум ?ругатся будет!!!!!
а ссылка для меня в данном случае не принципиально.проблема в другом |
|||
7
gorilla
08.11.15
✎
00:54
|
(5)Поле не входит в группу "Номенклатура.Ссылка.НаименованиеПолное"
это без группировок |
|||
8
Armando
08.11.15
✎
00:58
|
Да гоню. Не заметил что там по сериям
|
|||
9
Armando
08.11.15
✎
01:00
|
выведи в отдельных полях
Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) и Сумма(ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0)) |
|||
10
gorilla
08.11.15
✎
01:05
|
(9)вывел.круто показывает везде 10.но база новая всего три приходных и один заказ покупателя сделал на 5 штук.откуда ж 10
|
|||
11
Armando
08.11.15
✎
01:06
|
А серий две да?
|
|||
12
gorilla
08.11.15
✎
01:07
|
выяснил
если закоментить МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности) КАК СрокГодности, то показывает 5.как быть? |
|||
13
gorilla
08.11.15
✎
01:07
|
в заказе покупателя серии не указываются как раз
|
|||
14
gorilla
08.11.15
✎
01:07
|
только в приходе
|
|||
15
Armando
08.11.15
✎
01:10
|
(13) Заказ тут не при чем. Сколько серий в остатке?
Кароч, сделай временную таблицу, чтоб остатки вернулись 1 раз по каждой номенклатуре, потом соединяй с номенклатурой |
|||
16
gorilla
08.11.15
✎
01:18
|
(15)2. 2 по одной и 8 по другой
|
|||
17
gorilla
08.11.15
✎
01:19
|
(15) делал так.но так остаток по серии выходит а мне нужен общий по всем.нсмотря на то что отбираю самую меньшую
|
|||
18
Armando
08.11.15
✎
01:19
|
(16) т.к. соединения по номенклатуре, то заказы умножаются на количество серий.
|
|||
19
hhhh
08.11.15
✎
01:22
|
(17) это элементарная математика, Остаток по каждой серии 5, если например будет 10 серий, то покажет остаток 50.
|
|||
20
gorilla
08.11.15
✎
01:23
|
ВЫБРАТЬ
Выразить(Номенклатура.Ссылка.НаименованиеПолное КАК строка(1000)) КАК Название, //МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности) КАК СрокГодности, Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)-ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0)) КАК КоличествоТоваров, ВЫБОР КОГДА Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) > 0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Наличие ИЗ Справочник.Номенклатура.Изменения КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки ПО Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки() КАК ТоварыВРезервеНаСкладах ПО Номенклатура.Ссылка = ТоварыВРезервеНаСкладах.Номенклатура ГДЕ Номенклатура.Ссылка.ПометкаУдаления = ЛОЖЬ И Номенклатура.Ссылка.ЭтоГруппа = ЛОЖЬ И ТоварыНаСкладахОстатки.КоличествоОстаток > 0 СГРУППИРОВАТЬ ПО Выразить(Номенклатура.Ссылка.НаименованиеПолное КАК строка (1000)) кароче так дает 5.тоесть все правильно.но минимум то отключен.а ради него и пьянка |
|||
21
Armando
08.11.15
✎
01:24
|
выбрать
МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности) КАК СрокГодности, ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.КоличествоОстаток пометстить ОстаткиНоменклатуры из РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки в основном запросе вместо РегистрНакопления.ТоварыНаСкладах.Остатки() используй эту таблицу |
|||
22
Armando
08.11.15
✎
01:25
|
МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности) КАК СрокГодности,
ТоварыНаСкладахОстатки.Номенклатура, Сумма(ТоварыНаСкладахОстатки.КоличествоОстаток) пометстить ОстаткиНоменклатуры из РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки сгруппировать по ТоварыНаСкладахОстатки.Номенклатура |
|||
23
gorilla
08.11.15
✎
01:26
|
(21)да говорю делал я так.но так остаток вытянет с привязкой к серии а именно 2 вытянет.а мне надо чтобы общий вытянул тоесть 10
|
|||
24
Armando
08.11.15
✎
01:34
|
(23) покажи запрос как делал
|
|||
25
gorilla
08.11.15
✎
01:38
|
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК номенклатура, МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры) КАК Серия ПОМЕСТИТЬ СерииНоменклатуры ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстатки.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СерииНоменклатуры.номенклатура.Код КАК Код, ВЫРАЗИТЬ(СерииНоменклатуры.номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Название, СерииНоменклатуры.Серия КАК СерияНоменклатуры, СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Количество, ВЫБОР КОГДА СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) > 0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Наличие ИЗ СерииНоменклатуры КАК СерииНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, ) КАК ТоварыНаСкладахОстатки ПО СерииНоменклатуры.номенклатура = ТоварыНаСкладахОстатки.Номенклатура И СерииНоменклатуры.Серия = ТоварыНаСкладахОстатки.СерияНоменклатуры ГДЕ СерииНоменклатуры.номенклатура.ПометкаУдаления = ЛОЖЬ И СерииНоменклатуры.номенклатура.ЭтоГруппа = ЛОЖЬ СГРУППИРОВАТЬ ПО ВЫРАЗИТЬ(СерииНоменклатуры.номенклатура.НаименованиеПолное КАК СТРОКА(1000)), СерииНоменклатуры.Серия |
|||
26
gorilla
08.11.15
✎
01:38
|
так не устраивает.Ибо остаток бьет исключительно с привязкой к серии
|
|||
27
Armando
08.11.15
✎
02:15
|
(25) это вообще другой запрос. остатки с остатками соединяешь
|
|||
28
gorilla
08.11.15
✎
11:22
|
подниму может на свежую голову кто подсккажет
|
|||
29
gorilla
08.11.15
✎
11:48
|
кароче начал уже вести документ заказ покупателя в разрезе серий
Выразить(Номенклатура.Ссылка.НаименованиеПолное КАК строка(1000)) КАК Название, МИНИМУМ(ТоварыНаСкладахОстатки.СерияНоменклатуры.СрокГодности) КАК СрокГодности, МИНИМУМ(ТоварыВРезервеНаСкладах.СерияНоменклатуры.СрокГодности) КАК СрокГодностиРез, Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)-ЕСТЬNULL(ТоварыВРезервеНаСкладах.КоличествоОстаток, 0)) КАК КоличествоТоваров, ВЫБОР КОГДА Сумма(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) > 0 ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Наличие ИЗ Справочник.Номенклатура.Изменения КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки ПО Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки() КАК ТоварыВРезервеНаСкладах ПО Номенклатура.Ссылка = ТоварыВРезервеНаСкладах.Номенклатура ГДЕ Номенклатура.Ссылка.ПометкаУдаления = ЛОЖЬ И Номенклатура.Ссылка.ЭтоГруппа = ЛОЖЬ И ТоварыНаСкладахОстатки.КоличествоОстаток > 0 СГРУППИРОВАТЬ ПО Выразить(Номенклатура.Ссылка.НаименованиеПолное КАК строка (1000) всеравно количество резерва 10.хотя должно быть емае 5 |
|||
30
gorilla
08.11.15
✎
12:25
|
че у всех день семьи?
|
|||
31
hhhh
09.11.15
✎
06:24
|
ПО Номенклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
и где у тебя тут серия? Всё петросянишь? |
|||
32
ЧеловекДуши
09.11.15
✎
08:29
|
(29) Рекомендую сперва прогнать запрос без группировок, Максимума и Сумм... Убедись, что данные вообще есть :)
|
|||
33
ЧеловекДуши
09.11.15
✎
08:30
|
(30) Не, у нас "Ветка Пятницы..", а у тебя "День семьи" :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |