Как определить пустую Структуру?
В ПоследнееМестоРаботыВрача может содержать структуру без значений. Как её отловить?
написал вот так
ОтборПоТекущемуВрачу = Новый Структура(«Врач»,Ссылка);
ПоследнееМестоРаботыВрача=РегистрыСведений.ТрудоваяДеятельностьВрачей.ПолучитьПоследнее(,ОтборПоТекущемуВрачу);
Если ПоследнееМестоРаботыВрача.Количество()=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
Представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка.
К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства.
Структура используется обычно для хранения небольшого количества значений, каждое из которых имеет некоторое имя.
Элементы коллекции: КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.