Удалить один пункт и очистить только собственный черновик

Учебные задачи

Удаляем по индексу, проверяем сдвиг оставшегося элемента, затем очищаем созданную в упражнении коллекцию.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Используйте отдельную учебную базу. В серверном общем модуле УчебныеЗадачи создайте процедуру ВыполнитьПример() Экспорт и вставьте в неё код одного урока. Вызовите её из серверного обработчика собственной учебной обработки.

  2. Каждый урок создаёт новую коллекцию в памяти. Код не загружает и не сохраняет избранное пользователя, не заменяет план ГлобальныйПоиск, не запускает поиск, не открывает ссылку и не читает рабочие документы.

  3. Для трёх уроков избранного создайте в собственной учебной конфигурации два пустых справочника УчебныеКниги и УчебныеАвторы. Учебные ссылки относятся к спискам этих объектов; записи справочников для упражнения не нужны. Право СохранениеДанныхПользователя требуется для использования избранного по справке платформы.

Черновик = Новый ИзбранноеРаботыПользователя;
Книги = Черновик.Добавить();
Книги.Представление = "Учебные книги";
Книги.НавигационнаяСсылка = "e1cib/list/Справочник.УчебныеКниги";
Авторы = Черновик.Добавить();
Авторы.Представление = "Учебные авторы";
Авторы.НавигационнаяСсылка = "e1cib/list/Справочник.УчебныеАвторы";
Если Черновик.Количество() = 2 Тогда
    Черновик.Удалить(0);
КонецЕсли;
Сообщить(Черновик.Количество() = 1);
Если Черновик.Количество() = 1 Тогда
    Сообщить(Черновик.Получить(0).Представление = "Учебные авторы");
КонецЕсли;
Черновик.Очистить();
Сообщить(Черновик.Количество() = 0);

Разбор по шагам

  1. Удалить у ИзбранноеРаботыПользователя принимает индекс. Не передаём туда элемент другого типа и не выдаём это за универсальную сигнатуру всех коллекций.

  2. После удаления первого пункта Авторы становятся элементом 0. Проверка количества защищает последующее получение.

  3. Очистить действует на данную коллекцию. Здесь она создана через Новый, поэтому очищается только собственный учебный черновик.

  4. В коде нет ХранилищеСистемныхНастроек.Сохранить: удаление из черновика не доказывает изменение пользовательской панели.

Как проверить результат

  1. Три контрольных Истина: остался один пункт, это Авторы, после очистки количество 0.

  2. Сохранённое избранное пользователя осталось прежним; код не загружал и не сохранял его.

Ожидаемый результат

Разобран жизненный цикл собственной коллекции без массового удаления пользовательских настроек.

На что обратить внимание

  1. Не подменяйте Черновик значением загруженного рабочего избранного для тренировки Очистить.

  2. Удалить по индексу и удалить по объекту поддерживаются не каждой коллекцией. Проверяйте именно её справку.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.