Дать учебному результату два понятных действия

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

Добавляем ссылки-действия в настоящую коллекцию карточки, меняем порядок и проверяем значения. Нажатия и бизнес-операции не выполняются.

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

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

Подготовка

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

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

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

Карточка = Новый ЭлементРезультатаГлобальногоПоиска("guide-book", "Книга");
Действия = Карточка.Действия;
Описание = Действия.Добавить("guide-describe", "Описание", Новый Картинка);
Действия.Вставить(0, "guide-check", "Проверить учебные данные", Новый Картинка);
Описание.Текст = "Показать описание книги";
Описание.Значение = "guide-describe-book";
Описание.Картинка = Новый Картинка;
Сообщить(Действия.Количество() = 2);
Сообщить(Действия.Индекс(Описание) = 1);
Сообщить(ТипЗнч(Описание.Картинка) = Тип("Картинка"));
Действия.Сдвинуть(Описание, -1);
Сообщить(Действия.Индекс(Описание) = 0);
Сообщить(Действия.Получить(0).Текст = "Показать описание книги");
Сообщить(Действия.Получить(0).Значение = "guide-describe-book");
Действия.Сдвинуть(0, 1);
Сообщить(Действия.Индекс(Описание) = 1);

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

  1. Коллекция Действия берётся из карточки; у этого типа коллекции нет конструктора. Само свойство Карточка.Действия только для чтения.

  2. Добавить возвращает платформенное действие. Его Значение — собственный ключ для будущего обработчика, Текст — подпись, Картинка — изображение.

  3. Вставить(0, ...) ставит второе действие перед первым. Сдвинуть(Описание, -1) передаёт объект действия и переносит его к началу.

  4. Сдвинуть(0, 1) показывает другую перегрузку по индексу. После каждого перемещения заново определяем позицию.

  5. Создание коллекции и подписи не исполняет действие. Для настоящего нажатия требуется обработчик ПриВыбореДействияРезультатаГлобальногоПоиска приложения.

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

  1. Семь контрольных Истина; после последнего сдвига Описание снова в позиции 1.

  2. Ни одна книга не открыта и не изменена: коды guide-check/guide-describe-book в этом уроке только данные действий.

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

Показаны все три свойства действия, вставка и обе перегрузки перемещения.

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

  1. Строковый ключ не выполняется как BSL и сам не открывает форму.

  2. Отрицательное смещение означает движение к началу, положительное — к концу, а не сортировку по алфавиту.

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

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

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

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

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