1С 8.3 Структура - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Структура

Данные > Примеры кода 1С > 1С 8.3 Cтруктура
Структура в 1С 8.3 - это коллекция пар Ключ (только строковый тип) + Значение (любой тип данных). Ключ всегда - это имя свойства, а значение - само свойство. Обычно используется для хранения небольшого двумерного массива, и передачи между процедурами набора каких-либо параметров. Структура в отличии от соответствия упорядочивает элементы при добавлении.

Со структурами можно работать и в серверном и клиентском контексте. Может использоваться в реквизитах управляемой формы.
Создание Структуры (через Строку или Ключ) в 1С 8.3:
&НаКлиенте
Процедура СозданиеСтруктуры()

   
// Вариант 1: через строку
   
СтрКлиент = Новый Структура("КлиентИмя, ДатаРегистриции, КолРаботников", "ОАО ""Савушкин продукт""", '19961230', 3120);
   
Сообщить(СтрКлиент.КлиентИмя + ", создано " + СтрКлиент.ДатаРегистриции + ", количество работников" + СтрКлиент.КолРаботников);

   
// Вариант 2: через Ключ
   
СтрКлиент = Новый Структура;
   
СтрКлиент.Вставить("КлиентИмя", "ОАО ""Савушкин продукт""");// <Ключ>, <Значение> (произв. типа)
   
СтрКлиент.Вставить("КлиентБелИмя", "ААТ ""Савушкін прадукт""");
   
СтрКлиент.Вставить("УНП", "200030514");
   
СтрКлиент.Вставить("ДатаРегистриции", '19961230');
   
СтрКлиент.Вставить("Сайт", "savushkin.by");
   
СтрКлиент.Вставить("НомерТелефона", "+375(162)470624");
   
СтрКлиент.Вставить("КолРаботников", 3120);

   
Сообщить(СтрКлиент.КлиентИмя + " (на бел.языке " + СтрКлиент.КлиентБелИмя + "), УНП " + СтрКлиент.УНП +
   
", создано " + СтрКлиент.ДатаРегистриции+", www:" + СтрКлиент.Сайт+", телефон №" +
   
СтрКлиент.НомерТелефона+", количество работников" + СтрКлиент.КолРаботников);

КонецПроцедуры
Изменение значения поля структуры в 1С 8.3:
&НаКлиенте
Процедура ИзменениеЗначенияПоляСтруктуры(СтрКлиент)

   
// Вариант 1: через вставку
   
СтрКлиент.Вставить("НомерТелефона", "+375(162)471080");
   
СтрКлиент.Вставить("КолРаботников", 3584);

   
// Вариант 2: через присвоение переменной
   
СтрКлиент.НомерТелефона = "+375(162)470890";
   
СтрКлиент.КолРаботников = 4120;

КонецПроцедуры
Цикл по всем элементам структуры в 1С 8.3:
&НаКлиенте
Процедура ЦиклПоВсемЭлементамСтруктуры(СтрКлиент)

    Для Каждого
ЭлементСтр Из СтрКлиент Цикл
       
Сообщить(ЭлементСтр.Ключ + " " + ЭлементСтр.Значение);
    КонецЦикла;

КонецПроцедуры
Получение информации о количестве элементов структуры в 1С 8.3:
&НаКлиенте
Процедура ИнформацияОКоличествеЭлементовСтруктуры(СтрКлиент)

   
Сообщить(СтрКлиент.Количество());// число (всего количество элементов структуры)

КонецПроцедуры
Удаление элементов структуры в 1С 8.3:
&НаКлиенте
Процедура УдалениеЭлементовСтруктуры(СтрКлиент)

   
// Удаление одного элемента структуры
   
СтрКлиент.Удалить("НомерТелефона");// Номер телефона станет пустым

    // Удаление всех элементов структуры
   
СтрКлиент.Очистить();

КонецПроцедуры
1
комментарий
Maksutka
30 июн 2023
лайк
____________________
Copyright©, «Программист 1С в г.Минске», 10.04.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому