|
Какой из фрагментов кода более правильный? | ☑ | ||
---|---|---|---|---|
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
|
(0) А если документ не Заказ? Зачем вам NULL?
(2) https://its.1c.ru/db/v8std/content/654/hdoc https://its.1c.ru/db/metod8dev/content/2662/hdoc |
|||
7
НафНаф
14.06.23
✎
09:10
|
ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента КАК СуммаЗаказа
можно обернуть, если NULL критично: ЕСТЬNULL(ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента,0) КАК СуммаЗаказа если видов документов больше одного, то второй вариант: ВЫБОР КОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления ССЫЛКА Документ.ЗаказПоставщику ТОГДА ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказПоставщику).СуммаДокумента КОГДА ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления ССЫЛКА Документ.ЗаказКлиента ТОГДА ВЫРАЗИТЬ(ТоварыКПоступлениюОстаткиНаДату.ДокументПоступления КАК Документ.ЗаказКлиента).СуммаДокумента КОНЕЦ КАК СуммаЗаказа |
|||
8
makfromkz
15.06.23
✎
11:02
|
Всем СПАСИБО за ответы!
|
|||
9
Fragster
15.06.23
✎
11:20
|
можно ещё явное левое соединение вместо неявного сделать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |