Два результата имеют разные ключи. Вставляем один перед другим, проверяем позиции и меняем описание только найденного элемента.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную базу. В серверном общем модуле УчебныеЗадачи создайте процедуру ВыполнитьПример() Экспорт и вставьте в неё код одного урока. Вызовите её из серверного обработчика собственной учебной обработки.
Каждый урок создаёт новую коллекцию в памяти. Код не загружает и не сохраняет избранное пользователя, не заменяет план ГлобальныйПоиск, не запускает поиск, не открывает ссылку и не читает рабочие документы.
Для трёх уроков избранного создайте в собственной учебной конфигурации два пустых справочника УчебныеКниги и УчебныеАвторы. Учебные ссылки относятся к спискам этих объектов; записи справочников для упражнения не нужны. Право СохранениеДанныхПользователя требуется для использования избранного по справке платформы.
Результаты = Новый РезультатГлобальногоПоиска;
Результаты.Добавить("guide-pen", "Ручка", Новый Картинка, "УчебныеКниги", "Количество 1");
Результаты.Вставить(0, "guide-book", "Книга", Новый Картинка, "УчебныеКниги", "Количество 3");
Найдено = Результаты.Найти("guide-book");
Если Найдено = Неопределено Тогда
ВызватьИсключение "Учебная книга не найдена";
КонецЕсли;
Сообщить(Результаты.Индекс(Найдено) = 0);
Сообщить(Результаты.Количество() = 2);
Сообщить(Результаты.Получить(1).Значение = "guide-pen");
Найдено.Описание = "Учебная книга: остаток 3, цена не задана";
Сообщить(Результаты.Получить(0).Описание = "Учебная книга: остаток 3, цена не задана");
Сообщить(Результаты.Найти("Книга") = Неопределено);
Сообщить(Результаты.Найти("guide-missing") = Неопределено);Разбор по шагам
Используем вариант Добавить/Вставить по параметрам, не конструктор отдельной карточки. Вставка в 0 сохраняет Ручку и сдвигает её в 1.
Найти ищет Значение, поэтому guide-book находится, а представление Книга — нет. После Неопределено нельзя читать свойства найденного объекта.
Индекс и Получить применяются к уже проверенной собственной коллекции. Сохранённый ключ устойчивее числовой позиции при перестановках.
Изменяем описание найденной карточки; повторное получение показывает новое описание этой карточки в коллекции. Не изменяем справочник или цену реального товара.
Как проверить результат
Шесть контрольных Истина, включая два отрицательных поиска.
После вставки порядок Книга, Ручка; изменение описания отражается у Книги, а не у Ручки.
Ожидаемый результат
Разобран поиск по собственному ключу, вставка и изменение объекта результата в памяти.
На что обратить внимание
Не используйте читаемую подпись как гарантированно уникальный ключ.
Отсутствие результата — нормальное Неопределено, а не повод подставить первый попавшийся элемент.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.