ЗначениеЗаполнено() за и против #741431


#0 by Adecvator
Хочу спросить, кто чем пользуется, что бы проверить заполнено ли значение. Я не заморачиваюсь и использую всегда ЗначениеЗаполнено, вместо пустой ссылки и тому подобное.
#0 by Adecvator
Хочу спросить, кто чем пользуется, что бы проверить заполнено ли значение. Я не заморачиваюсь и использую всегда ЗначениеЗаполнено, вместо пустой ссылки и тому подобное.
#0 by Adecvator
Хочу спросить, кто чем пользуется, что бы проверить заполнено ли значение. Я не заморачиваюсь и использую всегда ЗначениеЗаполнено, вместо пустой ссылки и тому подобное.
#1 by Fram
А я заморачиваюсь и не всегда использую ЗначениеЗаполнено
#2 by Defender aka LINN
#3 by Apokalipsec
А есть ещё интересная штука, ПустаяСтрока
#4 by Adecvator
а в каких случаях, скажите пожалуйста.
#5 by DrShad
пошел за попкорном - годный вброс на холивар
#6 by Apokalipsec
в случае когда :)
#7 by Garykom
А почему бы свою "супербыструю" функцию не написать? :)
#8 by Shurjk2
Лавры гения 1с не дают покоя?
#9 by Shurjk2
Считаю что с неявным приведением использовать универсальную функцию правильней.
#10 by Aceforg
Быстрее будет если запросом (с) )
#11 by GROOVY
ЗначениеЗаполнено Работает как куча длинного Если, если тип такой и значение такое то истина, если такой и такое то истина иначе ложь. Следовательно, если заранее известен тип значения проверяемого объекта, то использовать функцию не эффективно.
#12 by Garykom
это "если многа" будет быстрее, правильно то юзать платформенные функции объектов
#13 by Garykom
+ во правильно описал
#14 by GROOVY
А что, только я умею смотреть как в скуль методы платформы транслируются?
#15 by Shurjk2
Откуда сведения о том как оно работает?
#16 by DrShad
зато если в результате пост-обработки заранее известный тип сваливается в НЕопределено - получим критическую ошибку :))))
#17 by Shurjk2
При чем здесь скуль?
#18 by DrShad
через него проще смотреть планы запросов
#19 by GROOVY
Ну это проблема разработчика :) Не обращай внимания, просто попроси разработчиков платформы ответить тебе как же оно работает.
#20 by Shurjk2
При чем здесь запросы?
#21 by Shurjk2
Я с ними не знаком:(
#22 by DrShad
ты не поверишь, но практически любой метод 1С это блин запрос к БД
#23 by GROOVY
Может я тебя шокирую, но функция ЗначениеЗаполнено сваливается в скулевый запрос.
#24 by DrShad
и далеко не только она :)))))
#25 by Aceforg
Даже на тонком клиенте?
#26 by GROOVY
Смешно, сполз под стол :)
#27 by Shurjk2
А если это проверка заполения реквизита на форме, опять же в описании функции сказано что она и на клиенте работает. Опять же в скулевом запросе нет кейсов.
#28 by Garykom
особенно на тонком клиенте ))
#29 by GROOVY
Тонкий клиент ни с чем кроме примитивных типов работать не умеет, все остальное происходит на стороне сервера.
#30 by DrShad
Паша, вот тебе и новая тема интерактивного курса
#31 by GROOVY
Так, я вас покину на часа два, жгите!
#32 by GROOVY
У меня уже такой есть.
#33 by Shurjk2
Слив засчитан:)
#34 by DrShad
респект, жаль я их не смотрю :)))
#35 by DrShad
ну нужно человеку по делам, если что тут еще куча народу знакомых с запросами, так что пиши
#36 by ViSo76
От куда дровишки?
#37 by Анцеранана
Принимай меня в свой клуб, большой брат. Но уже сталкивался несколько раз, что у нас какие-то быдлокодеры или кто-то еще создают в общих модулях процедуру ЗначениеНЕЗаполнено. Вот ее я отовсюду выпиливал где встречал) Раздражает она меня)
#38 by DrShad
она тянется еще с 8.0 - там не было типового метода определения пустого значения вот и писали функцию, которую ты и встречаешь
#39 by Kyon8
Нафига там скулевый запрос? Пустую ссылку можно по GUID определить, не говоря уже про строки, числа и т.д.
#40 by Shurjk2
Я не могу понять, как запосы работают на уровне интерфесных объектов и где в запросах есть кейсы.
#41 by ssh2006
+ 1
#42 by DrShad
это к Нуралиеву Сергею
#43 by ssh2006
Проверил. 8.3.4.408 Нет запроса к базе
#44 by DrShad
ты еще файловую проверь - вообще ни одного не найдешь
#45 by Kyon8
ПустаяСтрока, Ссылка.Пустая, ЗначениеЗаполнено -- доступны в тонком клиенте, про вызов сервера справка не упоминает.
#46 by Garykom
в каждом клиенте у нутри встроен сервер... даже в тонком только порезанный
#47 by DrShad
ну пусть бы сами дошли - мозг ведь может сломаться от такой инфы :)))))
#48 by ssh2006
В общем, эта функция не требует обращения к серверу, и запросов к БД не выполняется, что в общем-то неудивительно.
#49 by User_Agronom
Мелко-мелко? Порезанный?
#50 by Бубка Гоп
Сервер в каждом из нас. прям заголовок для эпичной повести
#51 by Shurjk2
Главное верить.
#52 by Kookish
Частыми слешами. А что, самим слабО написать простенькую обработку и выяснить, что быстрее выполняется - ЗначениеЗаполнено или какая другая? Обязательно мнение других спрашивать?
#53 by Shurjk2
Ну во первых результат ее выполнения нельзя будет явно оценить, к тому же если для чистоты эксперименты то писать ее надо для каждого типа, а то вдргу груви прав был и там на самом деле длиннющий кейс, хотя мне сдается там просто выполняется некое приведение к примитивному типу и уже по нему определяется (лично я бы так сделал)
#54 by Бубка Гоп
+ Я сам себе и сервер и клиент, Голый, доволный клиент.. (а-ля Аукцыон)
#55 by ViSo76
Вызов базы может быть только в случаях: В общем лишь там, где для проверки предварительно идёт выборка и к функции это не относится.
#56 by Lama12
Пустую ссылку в com объекте проверишь?
#57 by ViSo76
Не может быть в этой функции длиннющий кейс не смешите людей. Каждый объект в 1С ( будь то строки или число и т.д. ) имеет функцию которая определяет заполненность. При вызове данной функции просто вызывается метод данного типа объекта и всё.
#58 by Бубка Гоп
так что, получается маленький сервер в любом в клиенте отменяется? я запутался
#59 by Сильф
+1
#60 by Shurjk2
про кейс это не мое. Это знающий человек сказал.
#61 by ViSo76
Почему знающий человек не в кавычках. Неужели 1С разрабатывали не зная принципов ООП...
#62 by DrShad
а у Неопределено какой тип? и какой метод вызывается?
#63 by ssh2006
> а у Неопределено какой тип? Неопределено
#64 by Kyon8
Из СП: Неопределено (Undefined) Описание: ...Существует одно единственное значение данного типа, задаваемое литералом. Литералы:      Неопределено (Undefined)
#65 by ViSo76
А ты думаешь что не определено это не объект? Я думаю что это начало дерево объектов всех объектов. Просто чтобы вызвать функцию ЗначениеЗаполнено используется полиморфизм. Изначально все объекты приводятся к базовому типу и вызывается перегруженный метод определения заполненности объекта.
#66 by DrShad
а метод какой?
#67 by ssh2006
уже проверил профайлером ЗначениеЗаполнено ?
#68 by Shurjk2
Потому что это Груви.
#69 by DrShad
а зачем?
#70 by Shurjk2
И еще строки и прочие все таки не объекты.
#71 by ssh2006
А зачем ?
#72 by ViSo76
Это твоё мнение или ты знаешь 100%. Я думаю что это объекты всё таки объекты.
#73 by DrShad
потому что так и есть
#74 by ssh2006
касаемо ЗначениеЗаполнено это не так
#75 by DrShad
ждем Павла тогда
#76 by ViSo76
ты хочешь дождаться чтобы он тебе сказал что функция ЗначениеЗаполнено ни при каких обстоятельствах не лезет в базу? По моему это и без него понятно.
#77 by Shurjk2
Вообще то это я знаю:)
#78 by Serg_1960
:)
#79 by Shurjk2
Он уже сказал обратное, мы с самого начала ветку, сказал и технично слился.
#80 by ssh2006
Можно и без профайлера сделать вывод о том что запроса нет к базе. Пример: ЗначениеЗаполнено(Справочники.Контрагенты.ПолучитьСсылку) возвращает истина Т.е. просто проверяется на непустую ссылку
#81 by ViSo76
Я думаю что из него нужно изгнать дух невежества, предлагаю применить отделочные материалы.
#82 by DrShad
*рукалицо*
#83 by Kain_wrath
Предлагаю сменить Павлу надпись, с ведущего на несведущего
#84 by ssh2006
ок, жди Павла
#85 by DrShad
обязательно дождусь :)
#86 by Shurjk2
Сдается мне подставил он тебя.
#87 by ViSo76
Сливает Украину :)
#88 by and2
Херсон - не Украина. Временно окупированная украми территория.....
#89 by ViSo76
И мы плавно все преретикаем в ветку "OFF: Геополитика. Все идет по плану? " )
#90 by Shurjk2
Все к хохлосрачу сводится в итоге:)
#91 by Serg_1960
Источник: "Ускорена работа функции ЗначениеЗаполнено в том случае, если параметром функции выступает выражение, состоящее из получения свойства какой-либо переменной (как «через точку» так и с помощью операторного способа ([])) любого уровня вложенности" Это, как бы, намекает на то, что анализ переданного параметра происходит "внутри" функции и где-то, как-то местами прав:) Ибо результат можно вернуть только после анализа переданного параметра. Логично? Логично.
#92 by GROOVY
Ой нафлудили, а мне и проверить не на чем. Верьте мне, тормозная это штука. По поводу скуля, я не имел ввиду, что идет обращение к БД, так как проверять мы можем и то что еще в БД нет.
#93 by Сильф
ПолучитьСсылку (GetRef) Синтаксис: ПолучитьСсылку(<УникальныйИдентификатор>) Параметры: Примечание: Если параметр не указан, то будет сформирована новая уникальная ссылка.
#94 by ssh2006
Да.
#95 by ssh2006
собственно и в СП к ЗначениеЗаполнено написано: Примечание: Источники данных не проверяются, значение считается заполненным всегда.
#96 by ViSo76
Да детка ( без обид ) ты сделал их
#97 by ViSo76
Ты реально считаешь что интерпретатор доходя до функции ЗначениеЗаполнено( далее всё идёт в функцию в виде текста и там парсится и вычисляется )?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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