|
Сравнить ТЧ двух документов | ☑ | ||
---|---|---|---|---|
0
DreamMaster
26.06.13
✎
11:39
|
Всем доброго времени суток. Столкнулся с простой задачей, но решить её у меня не получается. Есть документы заказа, есть документы реализации. Необходимо запросом вытянуть список заказов, у которых в заказе есть товар "Т", но в реализации его нет.
Думаю,что должно быть что-то вроде: (но данный код выдает не верное значение) ВЫБРАТЬ РеализацияТоваровТовары.Ссылка, РеализацияТоваровТовары.Ссылка.Сделка, ЗаказПокупателяТовары.Номенклатура, ЗаказПокупателяТовары.Количество ИЗ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров.Товары КАК РеализацияТоваровТовары ПО ЗаказПокупателяТовары.Ссылка = РеализацияТоваровТовары.Ссылка.Сделка И ЗаказПокупателяТовары.Номенклатура = РеализацияТоваровТовары.Номенклатура ГДЕ ЗаказПокупателяТовары.Номенклатура = &Номенклатура И РеализацияТоваровТовары.Ссылка.Сделка.Дата >= &Дата И ЗаказПокупателяТовары.Ссылка.Проведен И РеализацияТоваровТовары.Номенклатура ЕСТЬ NULL |
|||
1
1Cv8_accepted
26.06.13
✎
11:45
|
Выбери, дополнительно к полям, в одном подзапросе 1 (единицу), в другом 2 (двойку). В общем запросе складывай их и по результату (1, 2 или 3) получишь отсутствующие/присутствующие позиции.
|
|||
2
Лефмихалыч
26.06.13
✎
11:45
|
левое соединение + есть NULL в предложении ГДЕ
|
|||
3
drcrasher
26.06.13
✎
11:46
|
(1) нафига клюшечный вариант то?
полное соединение в руки |
|||
4
1Cv8_accepted
26.06.13
✎
11:47
|
(3) Привычка! ))
|
|||
5
Slon747
26.06.13
✎
11:48
|
Почему не работает?
Вроде как правильно. |
|||
6
DreamMaster
26.06.13
✎
11:50
|
(1) Напишите пожалуйста подробнее
(2) увы с полным также (5) ну он выдает пустое значение (хотя документ есть) |
|||
7
hhhh
26.06.13
✎
11:51
|
(6) а зачем сравнивать табличные части? Это же бред. ЕСть регистр ЗаказыПокупателей: закз делает приход по регистру, реализация - расход. Нужно просто взять остаток по этому регистру - это и есть то, что надо.
|
|||
8
Slon747
26.06.13
✎
11:52
|
(6) Так если нужно получить заказы, то и выбирать нужно заказы, а не реализации
|
|||
9
DreamMaster
26.06.13
✎
11:53
|
(7) Надо решить именно эту задачу
(8) не имеет разницы. Необходимо получить любой из этих документов. Главное, чтобы в заказе был товар, а в реализации его небыло |
|||
10
palpetrovich
26.06.13
✎
11:57
|
Автор, конфа какая? ...есть подозрение что на лицо очередная попытка изобрести велосипед
Открой отчет "Анализ заказов покупателей" :) |
|||
11
Serg_1960
26.06.13
✎
12:01
|
Как всегда конфигурация автором не озвучена. А мы теперь гадай - может быть у автора сделка не в реквизитах документа, а в табличной части указывается и запрос полный бред выдаёт :(
|
|||
12
palpetrovich
26.06.13
✎
12:06
|
кстати, банальный код, изложенный ниже, покажет все НЕЗАКРЫТЫЕ заказы, т.е. не только "список заказов, у которых в заказе есть товар "Т", но в реализации его нет." , но и случае, когда была ЧАСТИЧНАЯ реализация
ВЫБРАТЬ ЗаказыПокупателейОстатки.ЗаказПокупателя, ЗаказыПокупателейОстатки.Номенклатура, ЗаказыПокупателейОстатки.КоличествоОстаток ИЗ РегистрНакопления.ЗаказыПокупателей.Остатки(&Дата, ) КАК ЗаказыПокупателейОстатки |
|||
13
DreamMaster
26.06.13
✎
12:16
|
8.2 УТ (самописка)
Тут не велосипед. Просто для решение задачи мне необходим список таких документов по определенному товару. Регистры мне не нужны. Нужны именно документы (имею ввиду использование документов а не регистров) |
|||
14
hhhh
26.06.13
✎
12:32
|
(13) но ведь этот регистр ЗаказыПокупателей именно для этого и придуман. Именно учитывать документы. Чтобы такие как вы не занимались фигней, а просто работали.
|
|||
15
Emilio
26.06.13
✎
12:39
|
(0) и такой запрос будет отрабатывать вечность. тебе ответ дали в (14)
зачем вообще трогать соединения? все можно сделать без соединений. при выборе из РН у тебя во-первых и в главных исчезнет одно условие: ЗаказПокупателяТовары.Ссылка.Проведен |
|||
16
Gisborn
26.06.13
✎
12:49
|
Касательно запроса в (0): вот эти строки в ГДЕ обуславливают пустой результат:
И РеализацияТоваровТовары.Ссылка.Сделка.Дата >= &Дата И РеализацияТоваровТовары.Номенклатура ЕСТЬ NULL |
|||
17
craxx
26.06.13
✎
12:50
|
(0) Написать хэш-функцию от ТЧ и сравнивать значения хэшей.
|
|||
18
Slon747
26.06.13
✎
13:18
|
(16) точно! что касается проверки даты
|
|||
19
tesei
26.06.13
✎
14:18
|
(1-18) Слишком сложно. Объединить таблицы, поле дельта = количество для заказа , -количество для реализации. Далее обрабатываем строки где дельта > 0.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |