Получает значение по ключу.
Синтаксис
Получить(<Ключ>)Полное описание, параметры и ограничения
ФиксированноеСоответствие.Получить (FixedMap.Get)
ФиксированноеСоответствие (FixedMap)
Получить (Get)
Доступен, начиная с версии 8.2.
Синтаксис:
Получить(<Ключ>)
Параметры:
<Ключ> (обязательный)
Тип: Произвольный.
Ключ значения.
Возвращаемое значение:
Тип: Произвольный.
Неопределено - ключ не найден.
Описание:
Получает значение по ключу.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Сохранить фиксированный снимок тарифов по произвольным ключам
Фиксированное соответствие удобно читать, не позволяя изменять набор пар.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Ключи содержат дефисы и подходят Соответствию.
Все значения числовые, без вложенных объектов.
Тарифы = Новый Соответствие;
Тарифы.Вставить("delivery-basic", 150);
Тарифы.Вставить("delivery-fast", 300);
Снимок = Новый ФиксированноеСоответствие(Тарифы);
Тарифы.Вставить("delivery-basic", 200);
Сообщить(Снимок.Получить("delivery-basic"));
Сообщить(Снимок.Количество());
Сообщить(Снимок.Получить("unknown") = Неопределено);Разбор по шагам
Создаём два тарифа.
Конструктор копирует пары в фиксированное соответствие.
Обновляем исходник и сравниваем сохранённый тариф.
Как проверить результат
Снимок возвращает 150 и количество 2.
Неизвестный ключ возвращает Неопределено.
Ожидаемый результат
Сохранён исходный тариф, хотя в изменяемом соответствии он уже 200.
На что обратить внимание
Неопределено может означать отсутствующий ключ или сохранённое значение Неопределено.
Это снимок данных в памяти, не фиксация курса или тарифа в информационной базе.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Создать изменяемое соответствие из фиксированного и не перепутать уровни копии
Состав пар нового контейнера независим, но вложенную структуру товара нужно копировать отдельно, если требуется независимость её полей.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Выполняйте в серверном общем модуле учебной базы. Все коллекции и вложенные значения создаются кодом; метаданные, файлы и интернет не нужны.
Индексы массивов начинаются с 0. Ключ соответствия — отдельное значение и не обязательно совпадает с индексом/порядком обхода.
Товар = Новый Структура("Название,Количество", "Книга", 3);
Источник = Новый Соответствие;
Источник.Вставить("A-01", Товар);
Фиксированный = Новый ФиксированноеСоответствие(Источник);
Рабочий = Новый Соответствие(Фиксированный);
Рабочий.Вставить("B-02", Новый Структура("Название,Количество", "Ручка", 1));
Сообщить(Рабочий.Количество() = 2);
Сообщить(Фиксированный.Количество() = 1);
Сообщить(Фиксированный.Получить("B-02") = Неопределено);
РабочийТовар = Рабочий.Получить("A-01");
РабочийТовар.Количество = 5;
Сообщить(Товар.Количество = 5);
Сообщить(Фиксированный.Получить("A-01").Количество = 5);
Независимый = Новый Структура("Название,Количество", РабочийТовар.Название, РабочийТовар.Количество);
Рабочий.Вставить("A-01", Независимый);
Независимый.Количество = 9;
Сообщить(Рабочий.Получить("A-01").Количество = 9);
Сообщить(Товар.Количество = 5);
Рабочий.Удалить("A-01");
Сообщить(Рабочий.Количество() = 1);
Сообщить(Фиксированный.Получить("A-01").Количество = 5);
Сообщить(Источник.Количество() = 1);Разбор по шагам
Фиксируем собственное соответствие с одним товаром, затем создаём новое изменяемое соответствие из него.
Добавление B-02 меняет только состав пар рабочего контейнера. В фиксированном остаётся одна пара A-01.
Первое изменение количества показывает общую вложенную структуру: обе коллекции указывают на этот объект.
Для независимости двух скалярных полей создаём новую структуру и заменяем пару A-01 рабочего соответствия. Изменение 9 теперь не затрагивает исходные 5.
Удаляем A-01 только из рабочего соответствия. Фиксированный источник и первоначальное соответствие сохраняют свою пару.
Как проверить результат
Все десять логических сообщений дают Истина.
После первого изменения общий товар содержит 5. После отдельного копирования полей рабочий товар содержит 9, исходный — 5.
В конце рабочий контейнер содержит только B-02; фиксированный и исходный — только A-01 с количеством 5.
Ожидаемый результат
Разобрана независимость контейнера и явное копирование вложенных данных товара.
На что обратить внимание
Копирование двух скалярных полей не является универсальным глубоким клонированием произвольного графа объектов.
Удалить ключ из рабочего соответствия не удаляет товар из информационной базы.
Не пытайтесь изменять состав пар ФиксированноеСоответствие; для этого и создаётся новый Соответствие.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.