Прямой запрос. Отбор по пустому значению #518623


#0 by Aleksey
Есть запрос на 1CSQLite ТекстЗапроса="  |Select  | СвойствоКурман.ЗначениеСвойства = ??? Что суда прописать для отбора по пустому свойству, т.е. когда у товара незаполнено свойство
#1 by viktor_vv
Если тип значения "Неопреденный", то пустая строка длиной 23.
#2 by viktor_vv
Хотя для ДБФ неуверен, но наверное также.
#3 by viktor_vv
Если вид свойства уже выбран, то поле может быть уже типизированным, тогда могут быть нюансы.
#4 by Aleksey
Это 7-ка, точнее SQLite тут нет неопределено Нашел | СвойствоКурман.ЗначениеСвойства IS NULL
#5 by viktor_vv
Я имел ввиду тип значения реквизита "ЗначениеСвойства"
#6 by viktor_vv
Вот тут может поможет, пункт 2.3
#7 by Aleksey
Тип значения - справочник. Только при чем тут Это?
#8 by Aleksey
It is not possible to test for NULL values with comparison operators, such as =, <, or <>. We will have to use the IS NULL and IS NOT NULL operators instead. (с) Просто с пустым значением операторы сравнение не работают, для пустого (неопределенного) значения вместо равно используется IS NULL
#9 by viktor_vv
Там нет пустого значения в виде NULL. В незаполненном значении может быть например стркоа '                       '.
#10 by viktor_vv
Если ТИПЗначения Справочник то пустое будет '  0      0   ' Мог с пробелами ошибится.
#11 by Aleksey
Согласен Может быть и строка и NULL. Строка когда есть элемент справочника СвойстваНоменклатуры, но реквизит ЗначениеСвойства незаполнен И NULL когда нет элемента СвойстваНоменклатуры.
#12 by Aleksey
Т.е. в общем случае это будет что-то (СвойствоКурман.ЗначениеСвойства IS NULL) or (СвойствоКурман.ЗначениеСвойства='     0   ')
#13 by viktor_vv
строка длиной 13 в формате 4+9. Где 4 вид справочника 9 ИД элемента спарвочника.
#14 by Aleksey
Неважно нужно было именно NULL выловить,
#15 by Aleksey
4+9 Это если вид не указан, а у меня вид справочника указан, т.е. будет просто 9
#16 by viktor_vv
Точно. Null как результат соединения. Не знаю как в 1CSQLite в TSQL есть ISNULL(выражениедляпроверки,выражениедлязамены).
#17 by viktor_vv
То есть что-то типа ISNULL(СвойствоКурман.ЗначениеСвойства,'    0    ') = '    0    '
#18 by viktor_vv
:).
#19 by orefkov
Совсем не понял, что есть СвойствоКурман ? Далее - отбор как должен производиться - заданное свойство есть, но значение пустое или еще все те, у кого и заданного свойства вообще нет? Отберет товары, у которых заданного свойства нет вообще, либо значение не заполнено. Если изменить условие на and Свойство.ЗначениеСвойства is null то отберет только те, у которых заданного свойства вообще нет. Если left сменить на inner и изменить условие на and Свойство.ЗначениеСвойства = :ПустойИД тогда отберет только те, где свойство есть, но значение не заполнено.
#20 by Aleksey
Да все в я уже нашел нужный метод, это мы так беседуем
#21 by Aleksey
Там немного сложнее. Есть список значений, и юзверь галочками отбирает нужные значения, и запрос уже отбирает то, что отфильтровал юзверь, соответственно нужно предусмотреть отбор товара, у которого ЗначениеСвойства незаполнено (или не задано) А СвойствоКурман , это я пропустил когда вырезал из большого запроса
#22 by viktor_vv
А чем будут отличаться coalesce(Свойство.ЗначениеСвойства, :ПустойИД) от ISNULL(СвойствоКурман.ЗначениеСвойства,:ПустойИД) . Это я так для себя, может там есть какие-то тонкости. Кажется в данном контексте они одинаково подходят.
#23 by КонецЦикла
>>Что суда прописать для отбора А что слабо посмотреть что туда 1С пишет для пустого значения? NULL они не используют кстати :)
#24 by Aleksey
И что пишет? И как в 1С 7.7 дбф посмотреть, что она пишет?
#25 by Ёпрст
:)) открыть табличку и посмотреть глазками.. Или тупо селектом выбрать всё и посмотреть.
#26 by Ёпрст
+25 и NULL в 1с-ине нема..
#27 by Aleksey
А ничего что речь идет про объединение в прямой запросе? Или не читал, но осуждаю?
#28 by Aleksey
И какую табличку мне открыть, чтобы посмотреть результат объединений?
#29 by orefkov
NULL нет в 1Сных табличках, а вот в результате left join он уже вполне может быть.
#30 by viktor_vv
Это мы уже обсудили в первых постах :).
#31 by Ёпрст
и че ?
#32 by Ёпрст
ну.. я и имел ввиду, что в сами таблички не пишется.. :)
#33 by Ёпрст
ты там заикнулся, что модернизируешь метод укладки списка значений с разворотом по иерархии, чтоб группы не вырезал, мот сразу предусмотришь, чтоб было так: -или только элементы -или только группы -или и элементы и группы ?
#34 by orefkov
В данном случае ничем не будут отличаться. Дело привычки.
#35 by orefkov
Да можно сделать. Только сразу вопрос - в списке лежат элементы и группы, ты задаешь укладывать только группы. Что делать с элементами?
#36 by Ёпрст
выкинуть все элементы, оставить только все вышестоящие группы по иерархии этих элементов, как-то так.
#37 by Ёпрст
+36 хотя, только группы можно и не делать, достаточно или элементы или группы с элементами, по идее.
#38 by viktor_vv
Спасибо.
#39 by Aleksey
Я так говорил? Типовая ТиС Есть справочник номенклатура У него есть подчиненый справочник СвойстваНоменклатуры, у которого 2 реквизита ВидСвойства и ЗначенияСвойства. Причем Справочник ЗначенияСвойства подчинен справочнику ВидСвойства. В свойстве номенклатуры реквизиты могут быть только элементы справочника Множественность по виду свойства отключена, т.е. у одного элемента товар может быть только одно свойство конкретного вида (или не быть, если забыли). В моем случае нужно контролировать определенные 4 вида свойства Рисую отчет, в который выводятся все товарные позиции и все 4 заданных свойств (с помощью прямого запроса, результат в ТП, для редактирования). В отчеты делаю фильтры по свойствам а-ля ексель. Т.е. пользователь отмечает нужные свойства и в на экране должны быть отобраны позиции с заданными свойствами. Т.е. список - это список отобранных свойств, там только элементы и нет групп.
#40 by Ёпрст
вопрос не тебе был, если что :) ЗЫ: а про СвойстваНоменклатуры и что кому подчинено, я в курсе, спасибо.
#41 by Злой Бобр
Если просто Справочник то $ПустойИД13, если определенного вида то $ПустойИД.
#42 by Aleksey
Еще один не читал, но осуждаю. Речь идет о левом соединение в запросе когда значению в левой таблице нет соответствия в правой. Какой $ПустойИД?
#43 by orefkov
В 1sqlite в метапарсере нет $ПустойИД / $ПустойИД13. Есть :ПустойИД / :ПустойИД13
#44 by Злой Бобр
Да, ты видимо прав. Просто я с дбф давно неработаю.
#45 by palpetrovich
а существует более развернутая документация по 1sqlite нежели doc.chm (doc_1023)?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С