0
fedbka
13.01.12
✎
00:48
|
Доброй ночи, уважаемые коллеги.
Мучает меня один вопрос, хочу у вас спросить совета - может есть какой тайный смысл, который мне неизвестен в следующей ситуации
Есть оборотный регистр накопления к примеру "Продажи" - у него имеется несколько измерений, к примеру два - Контрагент (тип "СправочникСсылка.Контрагенты") и ДоговорКонтрагентов (тип "СправочникСсылка.ДоговорыКонтрагентов"). У Справочника "Договоры контрагентов" есть реквизит "Периодичность" с типом "Перечисление.Периодичность"
Какой тайный смысл может быть вот в таком запросе:
ВЫБРАТЬ
Периодичность.Ссылка КАК Периодичность,
Продажи.Контрагент,
Продажи.ДоговорКонтрагента,
СУММА(Продажи.СуммаОборот) КАК СуммаПродажи,
ИЗ
РегистрНакопления.Продажи.Обороты КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.Переодичность КАК Периодичность
ПО Продажи.ДоговорКонтрагента.Периодичность = Периодичность.Ссылка
СГРУППИРОВАТЬ ПО
Периодичность.Ссылка,
АР_ВзаиморасчетыПоАренде.ДоговорКонтрагента,
АР_ВзаиморасчетыПоАренде.Контрагент
Для чего разработчик делает соединение с таблицей перечисления?
|
|
2
fedbka
13.01.12
✎
01:16
|
(1) Да, мне тут уже подсказали что разность в поведение будет такая.
Ну так можно же
ВЫБОР
КОГДА Продажи.ДоговорКонтрагента.Периодичность = Значение(#ПустаяСсылка)
ТОГДА NULL
ИНАЧЕ Продажи.ДоговорКонтрагента.Периодичность
КОНЕЦ
Соединение то зачем делать? Да и по тексту запроса далее вроде как это не роляет (NULL там будет или пустая ссылка).
Если различие только в этом, тогда спасибо за ответ! :)
|
|
3
Total Commander
13.01.12
✎
01:26
|
Так будет дольше, а результат тот же. Кроме того, хотя и есть возможность, не следует писать везде Продажи.ДоговорКонтрагента.Периодичность, более того ВЫБОР же потом нужно будет и в группировку засунуть, да еще с такой конструкцией. Соединение делать нужно, в первом посте правильный запрос.
> Да и по тексту запроса далее вроде как это не роляет (NULL там будет или пустая ссылка).
А по алгоритму дальше что? Нужет был там NULL или нет телепата вызывать нужно.
|
|