Инструменты пользователя

Инструменты сайта


1c:коллекции:структура

Структура.

Описание.

Структура неупорядоченная коллекция работающая по принципу "Ключ и значение", предназначенная для создания объектов с произвольным набором свойств. То есть каждый элемент этой коллекции представляет собой пару "Ключ и значение". Структуру очень часто используют для отборов, если во встроенном языке в качестве параметра для какой либо встроенной функции можно указать отбор (НайтиСтроки для табличных частей и таблиц значений, Выбрать для справочников и тд), то там всегда ожидается структура. Структуру так же удобно использовать, для передачи списка параметров.

Создание и использование.

Создание структуры происходит с помощью метода Новый например:

Структура  = Новый Структура(«КакойТоКлюч1, КакойТоКлюч2», ЗначениеКотороеНадоСохранить1, ЗначениеКотороеНадоСохранить2 )

Также можно создать структуру без параметров и добавить элементы когда будет удобно:

Структура = Новый Структура;
Структура.Вставить(«КакойТоКлюч», ЗначениеКотороеНадоСохранить);

Ещё один способ создания - на основе фиксированной структуры. А если учесть, что фиксированную структуру можно создать на основе обычной, несложно сделать копию обычной структуры:

Структура2 = Новый Структура(Новый ФиксированнаяСтруктура(Структура));

После создания можно обращаться к значениям структуры по ключам:

НужноеЗначение = Структура.КакойТоКлюч1

Если заранее неизвестно, содержит ли структура нужный ключ, можно использовать метод Свойство который возвращает Истина если запрошенный ключ есть и Ложь если ключа нет. Например:

ЗдесьБудетЗначение = "";
Если Структура.Свойство("Параметр", ЗдесьБудетЗначение) Тогда
    а = ЗдесьБудетЗначение;//ключ есть в структуре и мы можем воспользоваться значением
КонецЕсли;    

Ограничения

При создании и использовании структур необходимо принимать во внимание следующие ограничения:

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

См. также

Только авторизованные участники могут оставлять комментарии.
1c/коллекции/структура.txt · Последнее изменение: 2016/10/27 09:24 — alex