Пустое значение числового реквизита #307354


#0 by ilinsky
Здравствуйте, у меня есть запрос по справочнику, один из реквизитов справочника - тип число бывает иногда заполнен, иногда в нем ноль иногда пусто! Запрос всегда возвращает мне НОЛЬ есть в реквизите ноль или просто пусто... Как выяснитьь заполнен реквизит или нет?
#1 by Нуф-Нуф
сделай его строковым
#2 by YF
А в чем принципмальное, для тебя, различие между нулем и незаполнено в данном случае?
#3 by ilinsky
Строковым не могу
#4 by ilinsky
Принципиально? Справочник минимальных остатков, подчинен товарам, в нем вводят резерв минимальный, если там пусто, значит одно, а если Ноль то минимальный остаток не проверяется, вобщем на уровен перебора справочника это сделано, а как сдлеать это на убогом языке запросов? если он не знает что такое нулл
#5 by mrd2006
Пустое значение числового реквизита это и есть ноль, а для строки это ""
#6 by GrayT
"иногда в нем ноль иногда пусто" - это как?
#7 by Нуф-Нуф
это когда не заполнено
#8 by YF
Мне, наоборот, нравится что в 1С незаполненное числовое значение всегда 0. + Если не можешь сменить реквизит на строку, то сделай, например, если -1, то не проверяется ...
#9 by PaulBC
а как это сделано на уровне перебора?
#10 by GrayT
Мы за 7 говорим?
#11 by ilinsky
YF, -1 тоже может быть, например когда минимальный остаток отрицателен. Мы говорим о 7,7 Сменить тип реквизита я не могу, потому что все пишу во внешних обработках, база SQL заботает постояноо...
#12 by fcmordovia
Код бы хоть скинул. Может в другом месте ошибаешься, а мы тут паримся
#13 by ilinsky
Моменто
#14 by Рэйв
|Условие (Строка(Реквизит)=""0""");
#15 by ilinsky
МинОст всегда 0 =(((
#16 by YF
Ну, если уж приспичило совсем - сделай еще один реквизит, который говорить о том, что этот минимальный остаток вводили.
#17 by Рэйв
+ три кавычки вместо двух перед 0 :-)...
#18 by ilinsky
#19 by ilinsky
потому что все пишу во внешних обработках
#20 by mishaPH
офигеть. а что мешает сделать реквизит "Контроль минимального остатка" с флагом 1 или 0. и отбирать уже товары по нему??
#21 by fcmordovia
покажи код где вычисляется все
#22 by YF
Тогда осталось утопиться ...
#23 by mishaPH
сделай свою дбфку и пихай флаг туда
#24 by ilinsky
=) еще раз убедился в ущербности языка 7,7))))
#25 by Злобный Фей
А как это "минимальный остаток отрицателен" ?
#26 by Рэйв
А чем то не устраивает?
#27 by YF
Наивный, просто налицо ущербность проектирования ...
#28 by fcmordovia
Покажи код не запроса, а где вычисляется все у тебя - может тогда что-то станет понятно. Смысл рассуждать - не видя ничего?
#29 by mishaPH
да? а в каком-то языке у переменной числовой может быть кроме сотояния 0 еще и пусто??
#30 by Рэйв
Если ты в реквизит не будешь ничего заносить --будет пусто, которое будет считаться нулем:-) А если поставишь туда "0" он тоже будет считаться нулем. И что самое забавное ПустоеЗначение в обоих случаях будет показывать =1 :) Так что единственный способ отловить это привести к строке через Строка  Тогда пустой будет "" , а 0 будет "0"
#31 by ilinsky
а в каком-то языке у переменной числовой может быть кроме сотояния 0 еще и пусто?? а Null не видел?
#32 by Рэйв
Хотя нафига авторы такие нюансы так и не понял
#33 by ilinsky
Под минимальным остатком подразумевается количество товара забиваемое менеджером закупок вручную, минимум который должен быть... Ушербность пректирования присутствует, не спорю. Но извините, а зачем тогда в числовых реквизитах в визуальтных формах разрешается иметь незаполненный рекв. почему он по дефолту не НОЛЬ? Понятное дело, защитники 1С возмущаются, но это странно что по человечески нельзя понять что и как Даже борланд делфи позволяет числовой типизированной переменной присвоить нулл...
#34 by ilinsky
через Строка  Тогда пустой будет "" , а 0 будет "0" Я тоже так думал, но у меня почему то и это отказывается работать-) Утро сказывается
#35 by YF
Дык он по дефолту как раз ноль. В любом случае Строка будет "0" ...
#36 by Рэйв
наверное:)))
#37 by ilinsky
по дефолту в ФОРМЕ! списка....
#38 by ilinsky
Он пустой, что не гуд.
#39 by Фокусник
на ответь? А то мог бы =-1, значит минимальный остаток не контролировать.
#40 by GrayT
Он просто не отображается - в базе = 0; Да ну? --------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (Integer)'. Process stopped. Use Step or Run to continue. OK   Help   ---------------------------
#41 by ilinsky
В Теории да, но вопрос ведь я поднял не о том, как и где хранить данные, я задал вопрос касательно жестокой типизации и ограниченностях в некоторых направлениях, а никто кроме меня не согласился с вышесказанным
#42 by ilinsky
Ну сделай Olevariant и пищи туда чего хочешь!
#43 by ilinsky
У меня почему то Debugger не ругается
#44 by ilinsky
Никто нормальную идею так и не подкинул-) А ведь поидее можно использовать прямой запрос SQL использую 1СРР и там есть такая фича NOT NULL -)
#45 by Фокусник
посмотри и аргументируй, чем -1 не устраивает? Как минимальный остаток может быть -1?
#46 by GrayT
Не могу проверить как ведет себя скуль, а на дбф это поле будет числом в любом случае, но ни как не нулл
#47 by Salimbek
Интересно, а если тебе впоследствии надо будет записать в этот реквизит "Пусто" как будешь делать?
#48 by mishaPH
тоже через жж
#49 by mishaPH
просто извращенцев тут нет. никто таким вопросом и не задавался.
#50 by ilinsky
Меня SQL интереует... Как запишу? Прямо в таблицу запишу SQL запросом, апдейтом, например.... Ведь не все ограничены познанием только внутреннего языка
#51 by Chudushko
ПустоеЗначение(СокрЛП([Реквизит]))=1
#52 by Chudushko
Если у тебя заполнен реквизит нулем, то СокрЛП вернет строку "0", а это уже не будет пустым значением, в противном случае это "".
#53 by Фокусник
понятно, тебе шашечки нужны, а не доехать... так бы и сказал сразу (:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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