0
new_hope
27.03.19
✎
13:25
|
Есть простой запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОбороты.СуммаОборотДт КАК СуммаЕстьОборотДт,
ХозрасчетныйОбороты.СуммаОборотКт КАК СуммаЕстьОборотКт,
ХозрасчетныйОбороты.Субконто1,
ХозрасчетныйОбороты.Субконто2
ПОМЕСТИТЬ ИсходнаяТаблица
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(
&ДатаНачНеделя,
&ДатаКон,
,
Счет В ИЕРАРХИИ (&Счет),
,
Субконто1 В (&ВсеСчета)
И Субконто2 НЕ В (&Субконто2_ПеречислениеНаДругойРР)
И Организация = &Организация,
,
) КАК ХозрасчетныйОбороты
У меня вопрос по строке:
"И Субконто2 НЕ В(&Субконто2_ПеречислениеНаДругойРР)" - в таком виде Конструктор ругается на синтаксис (запрос отрабатывает)
"И НЕ Субконто2 В(&Субконто2_ПеречислениеНаДругойРР)" - конструктор не ругается, запрос также отрабатывает
В результате я получаю результат запроса одинаковые.
Задача - получить результат, куда НЕ входят значения из СпискаЗначений "Субконто2_ПеречислениеНаДругойРР"
Или так? : "И НЕ (Субконто2 В(&Субконто2_ПеречислениеНаДругойРР))"
Все три варианта верные и всегда будет одинаковый результат?
Спасибо за совет
|
|
4
fisher
27.03.19
✎
13:58
|
Классический синтаксис использования НЕ как булевого оператора предполагает что за ним идет булево. Конструктор этому и следует. И я всегда стараюсь именно так и писать. Другое дело, что синтаксис запросов идет навстречу и допускает не совсем каноничную, но более "человекочитаемую" конструкцию.
|
|