|
Простое условие в запросе на сравнение двух полей, выборка пустая, значения есть | ☑ | ||
---|---|---|---|---|
0
toran
27.01.15
✎
11:09
|
Доброго дня.
Простое условие в запросе на сравнение двух полей, выборка пустая, значения есть. Текст запроса. ВЫБРАТЬ РеализацияТоваровУслугТовары.Номенклатура, РеализацияТоваровУслугТовары.Количество, РеализацияТоваровУслугТовары.Ссылка.Проведен, ТоварыНаСкладахОстатки.КоличествоОстаток ИЗ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментВремени, ) КАК ТоварыНаСкладахОстатки ПО РеализацияТоваровУслугТовары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура ГДЕ РеализацияТоваровУслугТовары.Ссылка = &Ссылка И ТоварыНаСкладахОстатки.КоличествоОстаток < РеализацияТоваровУслугТовары.Количество Затык на ТоварыНаСкладахОстатки.КоличествоОстаток < РеализацияТоваровУслугТовары.Количество Пустая выборка. Если сравнение наоборот, то записи выбираются. ТоварыНаСкладахОстатки.КоличествоОстаток есть значения null Спасибо. |
|||
1
Рэйв
27.01.15
✎
11:11
|
сделай
ПО РеализацияТоваровУслугТовары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И ТоварыНаСкладахОстатки.КоличествоОстаток < РеализацияТоваровУслугТовары.Количество |
|||
2
Godofsin
27.01.15
✎
11:12
|
Чо это? Проверка при проведении задним числом?
|
|||
3
ktvladimir
27.01.15
✎
11:15
|
и проверку на null иначе это внутреннее соединение
|
|||
4
toran
27.01.15
✎
11:16
|
(1) Сделай. Теперь лишний товар попадает.
(2)Да. Надо выбрать товар которого нет на момент проведения документа. |
|||
5
ktvladimir
27.01.15
✎
11:19
|
И ЕстьNULL(ТоварыНаСкладахОстатки.КоличествоОстаток,0) < РеализацияТоваровУслугТовары.Количество
|
|||
6
ktvladimir
27.01.15
✎
11:23
|
а также поменять
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментВремени, ) на ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&МоментВремени, Номенклатура в (Выбрать Товары.Номенклатура ИЗ Документ.РеализацияТоваровУслуг.Товары КАК Товары ГДЕ Товары.Ссылка = &Ссылка)) Так как в данном случае остатки это подзапрос. сперва он выберет остатки по ВСЕМ позициям и только потом будет ограничение, что не оптимально. Также мне кажется нужно ограничение по складу |
|||
7
toran
27.01.15
✎
11:28
|
(5)Вроде получилось.
(6)Складов нет. А в подзапрос мне бы еще дату дока запихать вместо &МоментВремени. |
|||
8
ktvladimir
27.01.15
✎
11:40
|
почему дату? Вы не допускаете возможность ситуации двух документов с одной датой?. лучше границу по моменту времени
не зная поведения записей регистров я бы воткнул что то типа Новый Граница(&МоментВремени, ВидГраницы.Исключая), чтоб гарантировать что в остатках не будет движений самого документа)) |
|||
9
toran
27.01.15
✎
12:03
|
(8)Один день - один документ, так в конфигурации заложено.
|
|||
10
ktvladimir
27.01.15
✎
12:05
|
(9) а вы уверены что при перепроведении в момент проверки в РН отсутствуют записи сделанные этим документом? )
|
|||
11
toran
27.01.15
✎
12:29
|
Уверен.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |