ОбработкаФормированияКомандВходящегоЗапросаПоделиться: своё учебное приложение

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

Настоящий контракт события, собственный источник данных и явное место подключения обработчика.

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

Модуль управляемого приложения собственной мобильной платформы; callback — свой неглобальный клиентский общий модуль.

Подготовка

  1. Собственная отдельная учебная конфигурация и учебный пользователь. Основной код поместите в модуль управляемого приложения, если явно не указано событие формы.

  2. Событие вызывает платформа при указанном действии пользователя. Не проверяйте его ручным вызовом процедуры вместо назначения события.

  3. BSL, сетевые службы, сообщения и действия интерфейса при сборке HTML не выполнялись.

  4. Только собственный мобильный клиент / мобильное приложение, уже настроенное принимать входящий запрос Поделиться. Не настольный браузер. Основной код — модуль управляемого приложения.

  5. Создайте неглобальный общий клиентский модуль УчебныйЗапросПоделиться и поместите в него дополнительную экспортную процедуру. В конструктор ОписаниеОповещения передаётся ссылка на этот реальный общий модуль.

  6. Из заметки своего устройства поделитесь только собственной строкой «Книга — 3». Для файлов используйте только свой учебный файл; содержимое код не читает, наружу ничего не отправляет.

  7. Это намеренная собственная учебная политика меню: стандартные варианты заменены двумя безопасными счётчиками. Не устанавливайте её в рабочее приложение. Если оставить одну команду, платформа выполнит её без меню, поэтому в опыте их две.

Процедура ОбработкаФормированияКомандВходящегоЗапросаПоделиться(ДанныеЗапросаПоделиться, Команды)
    Команды.Очистить();
    Строки = Новый ОписаниеОповещения("ПоказатьСостав", УчебныйЗапросПоделиться, "Строки");
    Файлы = Новый ОписаниеОповещения("ПоказатьСостав", УчебныйЗапросПоделиться, "Файлы");
    Команды.Добавить(Новый ОписаниеКомандыВходящегоЗапросаПоделиться(Строки, "Число своих строк"));
    Команды.Добавить(Новый ОписаниеКомандыВходящегоЗапросаПоделиться(Файлы, "Число своих файлов"));
КонецПроцедуры
Свой общий клиентский модуль УчебныйЗапросПоделиться: настоящий callback
Процедура ПоказатьСостав(Данные, ДополнительныеПараметры) Экспорт
    Если ДополнительныеПараметры = "Строки" Тогда
        Сообщить("Получено собственных строк: " + Строка(Данные.Строки.Количество()));
    Иначе
        Сообщить("Получено собственных файлов: " + Строка(Данные.Файлы.Количество()));
    КонецЕсли;
КонецПроцедуры

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

  1. Создайте указанный собственный источник / форму / общий модуль.

  2. Назначьте обработчик правильному событию.

  3. Вызовите описанное действие интерфейса и проверьте реальный параметр / результат.

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

  1. Команды — реальный входной массив; каждый элемент имеет точный тип ОписаниеКомандыВходящегоЗапросаПоделиться. Строка вместо описания команды была бы проигнорирована.

  2. Callback получает настоящие Данные и ДополнительныеПараметры. У данных есть Строки и Файлы, свойства Текст здесь нет. Файлы не копируются и не удаляются.

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

Событие разобрано на ограниченном собственном сценарии, без выполнения входных строк как кода.

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

  1. BSL при сборке HTML не исполнялся. Не смешивайте клиентский callback с серверным модулем и не создавайте второй одноимённый обработчик в том же модуле.

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

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

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

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

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