Удаляет элемент соответствия с заданным ключом.
Синтаксис
Удалить(<Ключ>)Примеры платформы
ДоступныеИзмерения = Новый Соответствие;
Для Индекс = 0 По ПостроительОтчета.ДоступныеПоля.Количество()-1 Цикл
Поле = ПостроительОтчета.ДоступныеПоля[Индекс];
Если Поле.Измерение Тогда
ДоступныеИзмерения.Вставить(Поле.Имя, Поле.Представление);
КонецЕсли;
КонецЦикла;
Для Индекс = 0 По ПостроительОтчета.ИзмеренияСтроки.Количество()-1 Цикл
Измерение = ПостроительОтчета.ИзмеренияСтроки[Индекс];
ДоступныеИзмерения.Удалить(Измерение.Имя);
КонецЦикла;
Для Индекс = 0 По ПостроительОтчета.ИзмеренияКолонки.Количество()-1 Цикл
Измерение = ПостроительОтчета.ИзмеренияКолонки[Индекс];
ДоступныеИзмерения.Удалить(Измерение.Имя);
КонецЦикла;Полное описание, параметры и ограничения
Соответствие.Удалить (Map.Delete)
Соответствие (Map)
Удалить (Delete)
Доступен, начиная с версии 8.0.
Синтаксис:
Удалить(<Ключ>)
Параметры:
<Ключ> (обязательный)
Тип: Произвольный.
Ключ удаляемого элемента.
Описание:
Удаляет элемент соответствия с заданным ключом.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Пример:
ДоступныеИзмерения = Новый Соответствие;
Для Индекс = 0 По ПостроительОтчета.ДоступныеПоля.Количество()-1 Цикл
Поле = ПостроительОтчета.ДоступныеПоля[Индекс];
Если Поле.Измерение Тогда
ДоступныеИзмерения.Вставить(Поле.Имя, Поле.Представление);
КонецЕсли;
КонецЦикла;
Для Индекс = 0 По ПостроительОтчета.ИзмеренияСтроки.Количество()-1 Цикл
Измерение = ПостроительОтчета.ИзмеренияСтроки[Индекс];
ДоступныеИзмерения.Удалить(Измерение.Имя);
КонецЦикла;
Для Индекс = 0 По ПостроительОтчета.ИзмеренияКолонки.Количество()-1 Цикл
Измерение = ПостроительОтчета.ИзмеренияКолонки[Индекс];
ДоступныеИзмерения.Удалить(Измерение.Имя);
КонецЦикла;
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Создать изменяемое соответствие из фиксированного и не перепутать уровни копии
Состав пар нового контейнера независим, но вложенную структуру товара нужно копировать отдельно, если требуется независимость её полей.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Выполняйте в серверном общем модуле учебной базы. Все коллекции и вложенные значения создаются кодом; метаданные, файлы и интернет не нужны.
Индексы массивов начинаются с 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.
Ожидаемый результат
Разобрана независимость контейнера и явное копирование вложенных данных товара.
На что обратить внимание
Копирование двух скалярных полей не является универсальным глубоким клонированием произвольного графа объектов.
Удалить ключ из рабочего соответствия не удаляет товар из информационной базы.
Не пытайтесь изменять состав пар ФиксированноеСоответствие; для этого и создаётся новый Соответствие.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Хранить и обновлять цены по кодам товаров
Ключи содержат дефис, поэтому используется Соответствие. Повторная вставка по существующему ключу обновляет цену, а не добавляет второй такой ключ.
Где и как запускать
Фрагмент внутри учебной процедуры, без записи в информационную базу.
Подготовка
Поместите код внутрь учебной команды или процедуры.
Коды Товар-001 и Товар-002 являются строками примера, а не ссылками на справочник.
Цены = Новый Соответствие;
Цены.Вставить("Товар-001", 150);
Цены.Вставить("Товар-002", 220);
Цены.Вставить("Товар-001", 175);
Сообщить(Цены.Получить("Товар-001"));
Сообщить(Цены.Количество());
Цены.Удалить("Товар-002");
Для Каждого Пара Из Цены Цикл
Сообщить(Пара.Ключ + ": " + Строка(Пара.Значение));
КонецЦикла;
Цены.Очистить();
Сообщить(Цены.Количество());Разбор по шагам
Создаём две пары ключ–значение.
Вставить с уже существующим ключом меняет цену на 175.
Получить читает цену, Количество показывает число ключей: их по-прежнему два.
Удаляем второй ключ. В цикле каждый элемент является парой с полями Ключ и Значение.
Очистить удаляет все пары из учебного соответствия.
Как проверить результат
Первые сообщения: 175 и 2. При обходе остаётся Товар-001: 175, после очистки выводится 0.
Замените ключ последнего Вставить на Товар-003: число пар станет 3.
Проверьте Получить для отсутствующего ключа в отладчике: возвращается Неопределено.
Ожидаемый результат
Цены доступны по коду, повторная вставка обновляет существующее значение.
На что обратить внимание
Получить возвращает Неопределено и для отсутствующего ключа, и когда это значение было сохранено явно. Если различие важно, храните дополнительный признак.
Не используйте порядок обхода соответствия как порядок товаров в документе.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.