1с получить пустое значение справочника

В 1С:Предприятии 8 отсутствует такое понятие как «пустое» значение.

Существует значение Неопределено (типа Неопределено ). Оно применяется в основном как значение по умолчанию реквизитов (а также колонок таблиц значений и т.д.), имеющих составной тип. То есть, если в некотором реквизите могут содержаться значения более чем одного типа, то по умолчанию этот реквизит будет иметь значение Неопределено . Соответственно можно присвоить такому реквизиту значение Неопределено , как значение, обозначающее, отсутствие значения какого-либо другого из доступных типов. Такое значение будет иметь и объявленная переменная модуля пока ей не присвоили какое-либо значение. Заметим, что в объекте ОписаниеТипов фактически присутствует тип Неопределено , если в нем содержится более одного типа, так как если могут храниться значения двух типов, то всегда может быть и значение Неопределено . Таким образом, значение Неопределено обозначает отсутствие значения какого-либо определенного типа.

Существует значение Null (типа Null ). Оно обозначает отсутствие значения в выборке полученной из базы данных. Например, при выполнении левого и правого соединения поля невыбранных записей будут иметь значения Null . Кроме того, значение типа Null будут иметь реквизиты иерархического справочника для элементов-групп, если в метаданных указано, что этот реквизит используется только для элементов не являющихся группами. Аналогично и для элементов, значения Null будут иметь реквизиты доступные только для групп.

Заметим, что и значение Неопределено и значение Null имеют соответствующие типы и используются в специальных (описанных выше) случаях, а не в качестве «пустых» значений каких-либо типов.

Для большинства типов существуют значения по умолчанию, то есть значения, устанавливаемые системой в реквизите (колонке таблицы значений и т.д.) если для него задан соответствующий тип. Например, для числа – пустым значением является 0, для строки – строка, не содержащая ни одного символа, для даты – дата начала отсчета (‘00010101’).
Для типов ссылок на объекты базы данных существуют значения пустых ссылок. Их можно получить у соответствующих менеджеров вызовом метода ПустаяСсылка() . Именно это значение является значением по умолчанию для соответствующих типов. Заметим, что если реквизит имеет составной тип, включающий тип ссылки на объект базы данных, то данному реквизиту можно присвоить как значение Неопределено , так и значение соответствующей пустой ссылки. Соответственно в этих двух случаях будут храниться два разных значения. Решения, какое значение присваивать зависит от прикладного смысла. Например, если реквизит может иметь значения двух ссылочных типов и, исходя из значений других реквизитов, очевидно, что в нем должно быть значение определенного (одного из этих двух) ссылочного типа, но конкретная ссылка еще не выбрана пользователем, то можно присвоить значение пустой ссылки соответствующего типа. Например, это необходимо для того, чтобы поле ввода позволило бы пользователю ввести значение необходимого типа. А если, исходя из значений других реквизитов, этот реквизит вообще не должен быть заполнен, то тогда ему нужно присвоить значение Неопределено .

В 1С:Предприятии 8 используется понятие «незаполненного значения». Оно применяется для различных сервисных возможностей. Например, у измерений регистров можно установить свойство Запрет незаполненных значений . Тогда система при записи будет автоматически проверять заполнено соответствующее измерение или нет. Так же существуют свойства АвтоОтметкаНезаполненного и свойство АвтоВыборНезаполненного . Они управляют соответственно автоматическим подчеркиванием незаполненного значения и автоматическим началом выбора незаполненного значения.
Во всех случаях для проверки того заполнено значение или нет, используется единый принцип. Значение считается незаполненным, если оно равно значению по умолчанию для своего типа. Соответственно незаполненными значениями будет число 0, строка, не содержащая символов, пустая ссылка на элемент справочника и т.д.

Для строкового типа существует встроенная функция ПустаяСтрока() , однако, не следует считать, что он проверяет, является ли строковое значение значением по умолчанию. Данный метод проверяет, что строка не содержит ни одного значащего символа. При этом строка может содержать незначащие символы, такие как «пробел», «неразрывный пробел» и т.д.

Настройка системы 23.07.2016 11:25 5506

Во встроенном языке 1С, в программном коде или запросе есть возможность получить ПустуюСсылку. Такие ссылки могут применяться в конструкциях сравнения. Использование пустых ссылок позволяет избежать ошибок возникающих при обращении к свойствам объекта. Ведь пустая ссылка обладает такими же свойствами, как и ссылка на существующий объект. Только заполнены все свойства пустыми значениями.

Программно получить пустую ссылку

Для этого существует специальная функция ПустаяСсылка. Она доступна у всех ссылочных типов данных.

В запросе получить пустую ссылку

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

В 1С проверка на пустое значение осуществляется специальной функцией. Что бы проверить заполнен ли имеющийся у вас реквизит или переменная следует использовать функцию из глобального контекста ЗначениеЗаполнено( ).

В 1С 8 значение считается заполненным (не пустым) если оно отличается от значения по умолчанию для данного типа. Например для ссылочного типа значение по умолчанию — это Пустая ссылка (данного справочника, документа и т.п.). Также пустыми являются переменные и реквизиты содержащие значения Null и Неопределено.

1с проверка на пустое значение. Примеры

В данном случае переменная Проверка будет содержать значение Ложь. Также функцию ЗначениеЗаполнено( ). можно использовать напрямую в условиях.

В данном примере, если документ Авансовый отчет с номером 000000001 существует, то в переменной Проверка будет содержаться значение Истина, иначе Ложь.

Использовать функцию ЗначениеЗаполнено нельзя для переменных мутабельных типов, таких как Таблица значений, Дерево значений и т.п. Функция работает для всех конфигураций.

Как же проверить, что в 1с таблица значений пустая? Для этого используется метод Количество(), с его помощью можно проверить сколько строк содержится в таблице значений.

Пример 3. Пусть МояТаблица — таблица значений определенная выше в коде.

Этим же методом можно определить заполненность дерева значений и выборки результата запроса.

Пример 4. Пусть МоеДерево — дерево значений определенное выше в коде.

Как видите, в дереве значений мы проверяем наличие строк первого уровня, если их нет, то дерево пустое.

Пример 5. Пусть Запрос — запрос к базе данных 1С 8, определенный выше.

На этом описание основных приемов, при помощи которых осуществляется в 1с проверка на пустое значение, закончено. Если вы хотите узнать, как сделать проверку на пустое значение в запросе, прочитайте следующие статьи: Проверка на null в запросе и Проверка на Неопределено в запросе

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: