Работа со структурами данных в 1С
Описание:
Структура представляет собой коллекцию пар КлючИЗначение. При этом ключ может быть только строковым и должен удовлетворять требованиям, предъявляемым к именованию переменных встроенного языка.
К значениям структуры можно обращаться как к свойствам объекта. При этом ключ используется как имя свойства, т.е. к нему можно обращаться через точку.
Структура используется обычно для хранения небольшого количества значений, каждое из которых имеет некоторое имя.
Элементы коллекции: КлючИЗначение
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Свойства:
Имя ключа | В качестве свойств структура предоставляет элементы. Имя свойства определяется ключом, а значение свойства определяется значением элемента. |
Методы:
Вставить(Ключ, Значение) | Устанавливает значение элемента структуры по ключу. Если элемент с переданным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент. |
Количество() | Получает количество элементов структуры. |
Очистить() | Удаляет все элементы структуры. |
Свойство(Ключ, НайденноеЗначение) | Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство. Возвращает Истина - ключ найден, Ложь - в противном случае. |
Удалить(Ключ) | Удаляет элемент структуры с заданным ключом. |
Конструкторы:
Новый Структура(ФиксированнаяСтруктура) | Создаваемая структура заполняется свойствами из исходной фиксированной структуры. |
Новый Структура(Ключ, Значения) | Создает структуру с ключами, значения которых передаются в параметре конструктора. Если в первом параметре заданы ключи элементов структуры, то в следующих параметрах могут быть указаны значения этих элементов в том порядке, в котором они расположены в строке в первом параметре. |
Как создать и заполнить структуру в 1с 8.3?
(способ №1) - заполнение с помощью методов
Сотрудник = Новый Структура; // пара ключ (имя переменной) - значение (произв. типа)
Сотрудник.Вставить("Фамилия", "Иванов"); // добавляем данные для фамилии
Сотрудник.Вставить("Имя", "Иван");
Сотрудник.Вставить("Отчество", "Иванович");
Сотрудник.Вставить("ДатаРождения", '19950505');
Сообщить( Сотрудник.Имя + " " + Сотрудник.Фамилия +" " + Сотрудник.отчество + " Дата рождения " + + Сотрудник.ДатаРождения ); // Выводим сообщение
(способ №2) - заполнение сразу при создании
Сотрудник = Новый Структура("Фамилия,Имя,отчество,ДатаРождения", "Иванов", "Иван", "Иванович", '19950505' );
Сообщить( Сотрудник.Имя + " " + Сотрудник.Фамилия +" " + Сотрудник.отчество + " Дата рождения " + + Сотрудник.ДатаРождения ); // Выводим сообщение
Как изменить значение поля созданной структуры в 1с 8.3
(способ №1)
Сотрудник.Вставить("Фамилия", "Сидоров");
(способ №2)
Сотрудник.Фамилия = "Сидоров";
Узнать количество элементов структуры в 1с 8.3
Сообщить(Сотрудник.Количество());
Обход элементов структуры в 1с 8.3
Для Каждого Элемент Из ЛичныеДанные Цикл
Сообщить(Элемент.Ключ + " " + Элемент.Значение);
КонецЦикла;
Удалить элемент структуры в 1с 8.3
Сотрудник.Удалить("Отчество");
Как очистить все элементы структуры в 1с 8.3
Сотрудник.Очистить();