Значение не заполнено 1с

Обновлено: 04.07.2024

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

1. Значение «Неопределено» и значение типа “NULL”

Если разбираться по-научному, то в системе 1С не существует понятия «пустое» значение. Правильнее называть его значением «Неопределено» (переменная такого типа). Вышеупомянутый тип используют в качестве значения переменных (реквизитов, столбцов таблиц и так далее), у которых, согласно стандартным настройкам, тип является составным. То есть когда в одной переменной содержится какое-то количество типов значений, то данная переменная будет иметь тип «Неопределено». То есть, данной переменной можно присваивать вышеуказанное значение, как то, которое обозначает не принадлежность значения любому иному доступному типу. Данный тип остаётся, пока внутри переменной значение не переменится. Из всех утверждений выше следует, что тип «Неопределено» предупреждает о том, что в переменной отсутствует значение любого из определённых типов, простым слогом – оно «пустое».

Следует рассмотреть ещё значение типа «NULL» – его наличие означает, что значение отсутствует.

Подытожим: два данных значения – это специальные типы, предназначены для особых случаев.

В большем количестве типов есть стандартные значения, которые были установлены в системе по умолчанию, по сути это то значение, которое автоматически присваивается переменной даже в случае, когда её не заполнили. Как пример: для чисел – это будет значение «0», для даты – дата «00010101», для строк – строка без символов.

Замечание: для типа «ссылка» есть значение пустой ссылки.

2. Вариации проверок на пустое значение

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

В случае, когда разработчик знает тип переменной, которая подлежит проверке, проводится сравнение значения переменной с пустым значением для заданного типа. Чтобы узнать пустое значение у типа, используется функция «ПолучитьПустоеЗначение()». На скриншоте ниже приведён пример проверки с известным типом переменной:

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

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

Если разработчику не известен тип переменной, но проверить на пустое значение нужно, используется функция «ПустоеЗначение()», как показано на скриншоте ниже:

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

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

Функция «ЗначениеЗаполнено()» используется для проверки содержания значения, которое ей передали. Это можно увидеть по общей форме функции:

Функция ЗначениеЗаполнено

Рис. 3 Функция ЗначениеЗаполнено

Для типа «ссылка» проверка немного отличается от тех, которые были описаны выше. Чтобы узнать содержится ли в ссылке «пустое» значение нужно воспользоваться методом «ПустаяСсылка()». Работает он аналогично функции «ЗначениеЗаполнено()», только для ссылок.

В данной статье было рассмотрены общие понятия «пустое» значение в 1С и то, каким типам оно соответствует. Также были приведены 4 разных способа проверки на «пустое» значение, из которых можно легко избрать самый сподручный для конкретного типа и конкретного кода программы.

Функция (часто называют подпрограмма) – это некоторый фрагмент внутри кода программы к которому можно обращаться из другого места в коде программы. Обычно связывается с функцией идентификатор, но иногда встречаются и функции без имени. К названию функции всегда привязан адрес первого оператора, который входит в заданную функцию. По завершению функции управление переходит в ту часть программы, где закончилось упоминание функции. Также функция способна брать некоторые параметры, а затем возвращать их в виде некоторого значения (иногда значение функции пустое).

1. Функция ЗначениеЗаполнено

В системе 1С существует особая функция, подстановкой в которую можно проверить не пустое ли значение функции. Для того чтобы узнать заполнено ли какое-то значение, параметр, реквизит или переменная, нужно воспользоваться функцией «ЗначениеЗаполнено», которая находится в глобальном контексте и имеет вид, как на вставке ниже:

Функция Значение заполнено в 1С

Рис. 1 Функция Значение заполнено в 1С

В платформе 1С считается заполненным только то значение, которое разнится со значением, по умолчанию заведенным в данный тип.

Например: стандартное значение в ссылочном типе – это пустая ссылка.

Примечание: считаются пустыми значения, которые содержат Ноль или Неопределённо – в них возвращается «Ложь».

Функция ЗначениеЗаполнено() проверяет, что «Истина» возвращается для:

· реквизиты и параметры типа «Булево»;

· если в строке есть символы отличные от пробела, то значения с типом «Строка»;

· если в массиве есть не меньше одного элемента, то «Массив».

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

2. Примеры использования функции

Пример подпрограммы (функции):

использование ЗначениеЗаполнено

Рис. 2 Пример функции 1С ЗначениеЗаполнено

В примере подпрограммы на картинке выше в переменной «Проверка» будет храниться значение «Ложь». А в самих условиях можно пользоваться также данной функцией – ЗначениеЗаполнено(). Также можно взглянуть на аналогичный пример, который следует из определения данной функции:

Пример использования ЗначениеЗаполнено

Рис.3 Пример использования ЗначениеЗаполнено

 ЗначениеЗаполнено

Рис. 4 Использование функции ЗначениеЗаполнено

На этом примере показано, что в случае, когда документ с названием «Авансовый отчёт», который имеет номер «000000001», существует, тогда внутри параметра «Проверка» станет находится значение «Истина», в другом случае – «Ложь».

Третий пример использования функции:

Пример ЗначениеЗаполнено с параметром Ложь

Рис. 5 Пример ЗначениеЗаполнено с параметром Ложь

В данном примере сделаны варианты использования функции ЗначениеЗаполнено() и, в комментариях заведомо подписано, что является результатом выполнения функции.

Функция (часто называют подпрограмма) – это некоторый фрагмент внутри кода программы к которому можно обращаться из другого места в коде программы. Обычно связывается с функцией идентификатор, но иногда встречаются и функции без имени. К названию функции всегда привязан адрес первого оператора, который входит в заданную функцию. По завершению функции управление переходит в ту часть программы, где закончилось упоминание функции. Также функция способна брать некоторые параметры, а затем возвращать их в виде некоторого значения (иногда значение функции пустое).

1. Функция ЗначениеЗаполнено

В системе 1С существует особая функция, подстановкой в которую можно проверить не пустое ли значение функции. Для того чтобы узнать заполнено ли какое-то значение, параметр, реквизит или переменная, нужно воспользоваться функцией «ЗначениеЗаполнено», которая находится в глобальном контексте и имеет вид, как на вставке ниже:

Функция Значение заполнено в 1С

Рис. 1 Функция Значение заполнено в 1С

В платформе 1С считается заполненным только то значение, которое разнится со значением, по умолчанию заведенным в данный тип.

Например: стандартное значение в ссылочном типе – это пустая ссылка.

Примечание: считаются пустыми значения, которые содержат Ноль или Неопределённо – в них возвращается «Ложь».

Функция ЗначениеЗаполнено() проверяет, что «Истина» возвращается для:

· реквизиты и параметры типа «Булево»;

· если в строке есть символы отличные от пробела, то значения с типом «Строка»;

· если в массиве есть не меньше одного элемента, то «Массив».

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

2. Примеры использования функции

Пример подпрограммы (функции):

использование ЗначениеЗаполнено

Рис. 2 Пример функции 1С ЗначениеЗаполнено

В примере подпрограммы на картинке выше в переменной «Проверка» будет храниться значение «Ложь». А в самих условиях можно пользоваться также данной функцией – ЗначениеЗаполнено(). Также можно взглянуть на аналогичный пример, который следует из определения данной функции:

Пример использования ЗначениеЗаполнено

Рис.3 Пример использования ЗначениеЗаполнено

 ЗначениеЗаполнено

Рис. 4 Использование функции ЗначениеЗаполнено

На этом примере показано, что в случае, когда документ с названием «Авансовый отчёт», который имеет номер «000000001», существует, тогда внутри параметра «Проверка» станет находится значение «Истина», в другом случае – «Ложь».

Третий пример использования функции:

Пример ЗначениеЗаполнено с параметром Ложь

Рис. 5 Пример ЗначениеЗаполнено с параметром Ложь

В данном примере сделаны варианты использования функции ЗначениеЗаполнено() и, в комментариях заведомо подписано, что является результатом выполнения функции.

Как задать отбор по Типу документа?
Как указать условие для отбора не определенного значения?
Как в языке запросов 1С отобрать не заполненное значение?
Какое условие указать в запросе после ключевого слова «ГДЕ», когда нужно сделать отбор по не заполненным полям?
Код 1C v 8.х
источник

Разместил: E_Migachev  Версии: | 8.x | 8.2 УП |  Дата: 13.06.2012   Прочитано: 57728

Распечатать

Похожие FAQ

17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ COM-подключение к базе 7.7 из 8.2 1С  6
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь= Google maps : вывод точек на карту и режим панорамы  7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML"  10
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки " Универсальный обме Внешние источники данных  0
Почему данная возможность вызывает такой интерес? Любой человек, который программировал в 1С при этом достаточно неплохо знаком с SQL и хотя бы в общих чертах знаком с архитектурой и принципами разработки других технологических платформ для бизнес пр Посмотреть все результаты поиска похожих

Еще в этой же категории

Значения NULL ( ЕСТЬ NULL и ЕСТЬNULL())  48
NULL – отсутствующие значения. Не путать с нулевым значением! NULL – это не число, не равно пробелу, пустой ссылке, Неопределено. NULL – типообразующее значение, т.е. есть тип NULL и единственное значение этого типа. NULL значения появляются в 17 правил для составления оптимального ЗАПРОСа к данным базы 1С  42
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Нарастающий итог в запросе  22
Необходимо использовать левое соединение таблицы с самой собой. ВЫБРАТЬ Обороты.Период, Обороты.Номенклатура, Обороты.Количество ПОМЕСТИТЬ ВТдвижения ИЗ РегистрНакопления.Обороты КАК Обороты ; //////////////////////////////////////////////// Полезные сведения о языке запросов 1С 8.х  22
В статье приведены полезные приемы при работе с запросами 1С v.8.2, а также сведения, которые не так хорошо известны о языке запросов. Я не стремлюсь дать полное описание языка запросов, а хочу остановиться лишь на некоторых моментах, которые для ко Оператор ПОДОБНО  18
ПОДОБНО - Оператор проверки строки на подобие шаблону. Аналог LIKE в SQL. Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если з Посмотреть все в категории Запросы

Читайте также: