К статьям

Работа с соответствиями

4 мин


Конструкторы

1. По умолчанию

Новый Соответствие()

ДанныеСопоставления = Новый Соответствие;

 2. На основании фиксированного соответствия

Фиксированное соответствие - неизменяемое соответствие.

Пусть имеется фиксированное соответствие Пароли, тогда

ПаролиСинхронизации = Новый Соответствие(Пароли);

К элементам структуры можно обащаться указывая ключ через оператор [<Ключ>]

Методы

1. Вставить(<Ключ>, <Значение>)

  • <Ключ> (обязательный) - Произвольный - ключ элемента
  • <Значение> (необязательный) - Произвольный - значение элемента, если не указано Неопределено

Устанавливает значение элемента по ключу.

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

Сообщить(ОбщепринятыеСокращения["К."]); // Корпус

 2. Количество()

Возвращает количество элементов

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

КоличествоСокращений = ОбщепринятыеСокращения.Количество();

Сообщить(КоличествоСокращений); // 4

 3. Очистить()

Удаляет все элементы

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

ОбщепринятыеСокращения.Очистить();

 

КоличествоСокращений = ОбщепринятыеСокращения.Количество();

Сообщить(КоличествоСокращений); // 0

4. Получить(<Ключ>)

  • <Ключ> (обязательный) - Произвольный - Ключ значения

Возвращает значение по ключу, аналогично оператору [<Ключ>]. Если значения нет, то Неопределено. 

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

Сообщить(ОбщепринятыеСокращения.Получить("К.")); // Корпус

 5. Удалить(<Ключ>)

  • <Ключ> (обязательный) - Произвольный - Ключ значения

Удаляет элемент соответвтия с указанным ключом

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

ОбщепринятыеСокращения.Удалить("К.");

КоличествоСокращений = ОбщепринятыеСокращения.Количество();

Сообщить(КоличествоСокращений); // 3

 Примеры

1. Обойти все элементы соответвия и вывести их ключ и значение

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

Для Каждого Элемент ИЗ ОбщепринятыеСокращения Цикл

    Сообщить(Элемент.Ключ + " - " + Элемент.Значение);

КонецЦикла;

2. Проверить есть элемент в соответвии

ОбщепринятыеСокращения = Новый Соответствие;

ОбщепринятыеСокращения.Вставить("КОРП", "Корпус");

ОбщепринятыеСокращения.Вставить("КОРП.", "Корпус");

ОбщепринятыеСокращения.Вставить("К.", "Корпус");

ОбщепринятыеСокращения.Вставить("КВ.", "Квартира");

 

Если ОбщепринятыеСокращения.Получить("Д.") = Неопределено Тогда

    Сообщить("Элемент отсутствует");

Иначе

    Сообщить("Элемент найден");

КонецЕсли;

3. Сформировать многоуровневое соответвие 

На самом низком уровне создадим соответствие «ПодсистемыНСИЗакупок», это соответствие будет включено в соответствие «ПодсистемыЗакупки», которое включим во «ВсеПодсистемы». Получим 3 уровня вложенности: «ВсеПодсистемы» -> «ПодсистемыЗакупки» -> «ПодсистемыНСИЗакупок».

ВсеПодсистемы = Новый Соответствие;

ПодсистемыЗакупки = Новый Соответствие;

ПодсистемыНСИЗакупок = Новый Соответствие;

 

ПодсистемыНСИЗакупок.Вставить("НСИ", "Партнеры");

ПодсистемыЗакупки.Вставить("НСИЗакупок", ПодсистемыНСИЗакупок);

ВсеПодсистемы.Вставить("Закупки", ПодсистемыЗакупки);

 

НСИ = ВсеПодсистемы["Закупки"]["НСИЗакупок"]["НСИ"];

Сообщить(НСИ); // Партнеры

Задачи на эту тему:

Рейтинг 0

Комментарии