Перейти к содержимому

Как проверить структуру на пустоту 1с

  • автор:

Как определить пустую Структуру?

В ПоследнееМестоРаботыВрача может содержать структуру без значений. Как её отловить?

написал вот так
ОтборПоТекущемуВрачу = Новый Структура(«Врач»,Ссылка);
ПоследнееМестоРаботыВрача=РегистрыСведений.ТрудоваяДеятельностьВрачей.ПолучитьПоследнее(,ОтборПоТекущемуВрачу);
Если ПоследнееМестоРаботыВрача.Количество()=0 Тогда
Если ЭтоНовый() Тогда
Записать();
КонецЕсли;
НоваяЗапись=РегистрыСведений.ТрудоваяДеятельностьВрачей.СоздатьМенеджерЗаписи();
НоваяЗапись.Врач=Ссылка;
НоваяЗапись.Период=РабочаяДата;
НоваяЗапись.МестоРаботы=Справочники.МедицинскиеУчреждения.НайтиПоКоду(1);
НоваяЗапись.Отделение=Справочники.ОтделенияМедицинскихУчреждений.НайтиПоКоду(1);
НоваяЗапись.Должность=Справочники.ДолжностиВрачей.НайтиПоКоду(1);
НоваяЗапись.МедицинскийПредставитель=Справочники.МедицинскиеПредставители.НайтиПоКоду(1);
НоваяЗапись.Записать();

Если в ПоследнееМестоРаботыВрача нет записей, то ПоследнееМестоРаботыВрача.Количество()=0 не ловиться.

Структура

Распечатать

Как удалить повторяющиеся элементы массива?  7
Функция УдалитьПовторяющиесяЭлементыМассива(Массив) Экспорт ТекущийИндекс = 0; ВсегоЭлементов = Массив.Количество(); Пока ТекущийИндекс ВсегоЭлементов Цикл Индекс2 = ТекущийИндекс + 1; Пока Индекс2 ВсегоЭлементов Цикл Если Массив = Структура

Создать структуру и добавить элементы  4
// Создание структуры СозданнаяСтруктура = Новый Структура; // Создание структуры и добавление элементов СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить(» Качество» , Качество); СтруктураОтбора.Вставить(» Номенклатура» , Номенкла Структура

Преобразовании Структуры в Таблицу Значений  4
//Струтура в ТЗ Функция СтруктураВТЗ(Структр) ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить(» Значение» ); ТЗ.Колонки.Добавить(» Описание» ); Для Каждого ТекЭлем из Структр Цикл НовСтр=ТЗ.Добавить(); НовСтр.Значение = ТекЭлем.Ключ; НовСтр Структура

Перебор элементов Структуры  3
Для Каждого Элемент из СтруктураПараметров Цикл Сообщить(Элемент.Ключ + » : » + Элемент.Значение); КонецЦикла; Посмотреть все в категории Работа с Массивом, Структурой, Соответствием

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тип данных Структура 1C 8.X

Представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка.

К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства.

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

Элементы коллекции: КлючИЗначение

Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *