|
Какой из фрагментов кода более правильный? |
☑ |
0
makfromkz
14.06.23
✎
08:38
|
ВЫБОР
КОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
ТОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления.СуммаДокумента
КОНЕЦ КАК СуммаЗаказа
//////////////////////////////
//ИЛИ
ВЫБОР
КОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
ТОГДА ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента
КОНЕЦ КАК СуммаЗаказа
|
|
1
2S
14.06.23
✎
08:39
|
хм, а зачем выражать если и так условие на вид документа?
|
|
2
Мультук
14.06.23
✎
08:48
|
(0)
Не могу найти пруф, но второй вариант правильный.
|
|
3
vicof
14.06.23
✎
08:50
|
Второй вариант правильный, если документ поступления составного типа.
|
|
4
SleepyHead
14.06.23
✎
08:52
|
Мне кажется, еще правильнее выбрать во временную таблицу документы заказа поставщикам, а потом выбирать сумму из этой временной таблицы.
|
|
5
Donkey_hot
14.06.23
✎
09:03
|
(0) Можно в инструментах разработчика посмотреть план запроса к СУБД. Но интуитивно кажется, что в первом случае прицепит все возможные таблицы.
|
|
6
Гипервизор
14.06.23
✎
09:08
|
|
|
7
НафНаф
14.06.23
✎
09:10
|
ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента КАК СуммаЗаказа
можно обернуть, если NULL критично:
ЕСТЬNULL(ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента,0) КАК СуммаЗаказа
если видов документов больше одного, то второй вариант:
ВЫБОР
КОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику
ТОГДА ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента
КОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления ССЫЛКА Документ.ЗаказКлиента
ТОГДА ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказКлиента).СуммаДокумента
КОНЕЦ КАК СуммаЗаказа
|
|
8
makfromkz
15.06.23
✎
11:02
|
Всем СПАСИБО за ответы!
|
|
9
Fragster
15.06.23
✎
11:20
|
можно ещё явное левое соединение вместо неявного сделать
|
|