Имя: Пароль:
1C
 
запрос ... левое соединение
,
0 lamme
 
14.06.16
09:29
Задача.
Сделать ведомость по отгрузкам с учетом оплаты и просрочено/не просрочено на дн.
Все продажи (99%) идут по схеме - заказ/реализация/оплата
и 1% - делается просто - реализацией/оплата.

Под эти 99% сделал запрос
- выборка всех отгрузок
- выборка всех оплат по заказу
- левое соединение по заказу.
Все красиво выходит.

Кроме этих вот .. 1% отгрузок.

в запросе я бы поменял
типа
Выбор когда Докотгрузки.Сделка ЕстьNULL тогда
- левое соединение одно
иначе
- левое соединение другое
---

как правильно такое сделать ?
1 kubik_live
 
14.06.16
09:33
Как оплата привязана? По договору или по документу расчетов?
2 kubik_live
 
14.06.16
09:34
Есть ли частичная оплата?
3 FIXXXL
 
14.06.16
09:37
(0) 1% - это старье какое-то или так работают?
если старье, создай заказы-пустышки, проставь в реализации и оплаты
4 torgm
 
14.06.16
09:37
(0) не должно выходить красиво с случае частичных оплат.

структура регистров взаиморасчетов какая?
5 lamme
 
14.06.16
09:40
(1)
оплата вешается на заказ.
(2)
есть и частичная и предоплата
(3)
так работают для перегонки между своими фирмами
6 lamme
 
14.06.16
09:42
(3)
не старье
есть свежие
7 lamme
 
14.06.16
09:43
(4)
выходит.
на заказе же все висит.
8 lamme
 
14.06.16
09:43
(4)
вопрос переформулируй. что значит "структура регистров какая "?
типовая я бы сказал
9 ViSo76
 
14.06.16
09:46
в запросе я бы поменял
типа
Выбор когда Докотгрузки.Сделка ЕстьNULL тогда
- левое соединение одно
иначе
- левое соединение другое
---
как правильно такое сделать ?

Делай так:
  левое соединение одно КАК одно
    по Докотгрузки.Сделка ЕстьNULL
     и одно.

  левое соединение другое КАК другое
    по Не Докотгрузки.Сделка ЕстьNULL
     и другое.
10 lamme
 
14.06.16
09:47
(9)
эм ... пардон - первый раз встречаю такое ..
а можно пример конкретный ?
11 lamme
 
14.06.16
09:48
первый раз такую конструкцию встречаю ...
12 ViSo76
 
14.06.16
09:53
Представь себе что перед соединением идёт проверка простых вещей, истина или ложь, если ложь то смысла в соединении нет. Докотгрузки.Сделка это то что было получено ранее, перед соединением идёт проверка и если нет "или", а везде "и" то естественно соединения не произойдёт.
13 lamme
 
14.06.16
10:01
туплю.
не уловил
14 RomanYS
 
14.06.16
10:03
(0) Докотгрузки.Сделка у вас никогда не будет NULL (если Докотгрузки - левая таблица).
В случае незаполненного значения там может быть Неопределено или пустая ссылка на счет или заказ.
15 FIXXXL
 
14.06.16
10:04
(13) сделай тогда тупо два запроса через ОБЪЕДЕНИТЬ
в одном данные с заказами. во втором - без
16 RomanYS
 
14.06.16
10:04
и проверка на NULL пишется так
ЧтоТо Есть NULL //с пробелом

А ЕстьNULL - это функция заменяющая NULL
17 lamme
 
14.06.16
10:07
(15)
логично
хороший совет

(16)
ну это ж общее ... интересна общая идея ...
18 hhhh
 
14.06.16
10:20
(17) делайте 2 левых соединения. Без Выбор Когда
19 Salimbek
 
14.06.16
10:22
(15) Поддерживаю
20 lamme
 
14.06.16
10:25
спасибо
вопрос закрыт
про (15) чего то и не додумался )