- В этой теме 1 ответ, 2 участника, последнее обновление 1 час, 33 минуты назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Когда использовать ЗначениеЗаполнено(), а когда сравнивать с пустой ссылкой?
стоит ли всегда использовать читабельное ЗначениеЗаполнено(СтрокаСписка.СсылкаНаНоменклатуру) или если тип однозначен, то сравнивать с пустой ссылкой более производильно?
Если тип ссылки однозначен и точно известен (например, всегда Справочник.Номенклатура), то сравнение с пустой ссылкой (СтрокаСписка.СсылкаНаНоменклатуру = Справочник.Номенклатура.ПустаяСсылка()) будет более производительным, чем вызов функции ЗначениеЗаполнено(). Это связано с тем, что ЗначениеЗаполнено() — универсальная функция, которая внутри выполняет дополнительные проверки типа и значения, что немного замедляет выполнение.
Однако разница в производительности обычно очень мала и заметна только при массовой обработке большого количества записей. Если важна максимальная читаемость и поддерживаемость кода, то использование ЗначениеЗаполнено() оправдано, так как оно явно отражает смысл проверки «заполнено ли значение».
Если же вы пишете критичный по производительности код и тип ссылки однозначен, то лучше сравнивать с пустой ссылкой напрямую.
Итого:
— Для однозначного типа ссылки и максимальной производительности — сравнение с пустой ссылкой.
— Для универсальности и читаемости — ЗначениеЗаполнено().
Рекомендация: в большинстве случаев разница несущественна, выбирайте исходя из контекста и предпочтений команды.