Настоящий контракт события, собственный источник данных и явное место подключения обработчика.
Где и как запускать
Модуль управляемого приложения собственной мобильной платформы; callback — свой неглобальный клиентский общий модуль.
Подготовка
Собственная отдельная учебная конфигурация и учебный пользователь. Основной код поместите в модуль управляемого приложения, если явно не указано событие формы.
Событие вызывает платформа при указанном действии пользователя. Не проверяйте его ручным вызовом процедуры вместо назначения события.
BSL, сетевые службы, сообщения и действия интерфейса при сборке HTML не выполнялись.
Только собственный мобильный клиент / мобильное приложение, уже настроенное принимать входящий запрос Поделиться. Не настольный браузер. Основной код — модуль управляемого приложения.
Создайте неглобальный общий клиентский модуль УчебныйЗапросПоделиться и поместите в него дополнительную экспортную процедуру. В конструктор ОписаниеОповещения передаётся ссылка на этот реальный общий модуль.
Из заметки своего устройства поделитесь только собственной строкой «Книга — 3». Для файлов используйте только свой учебный файл; содержимое код не читает, наружу ничего не отправляет.
Это намеренная собственная учебная политика меню: стандартные варианты заменены двумя безопасными счётчиками. Не устанавливайте её в рабочее приложение. Если оставить одну команду, платформа выполнит её без меню, поэтому в опыте их две.
Процедура ОбработкаФормированияКомандВходящегоЗапросаПоделиться(ДанныеЗапросаПоделиться, Команды)
Команды.Очистить();
Строки = Новый ОписаниеОповещения("ПоказатьСостав", УчебныйЗапросПоделиться, "Строки");
Файлы = Новый ОписаниеОповещения("ПоказатьСостав", УчебныйЗапросПоделиться, "Файлы");
Команды.Добавить(Новый ОписаниеКомандыВходящегоЗапросаПоделиться(Строки, "Число своих строк"));
Команды.Добавить(Новый ОписаниеКомандыВходящегоЗапросаПоделиться(Файлы, "Число своих файлов"));
КонецПроцедурыСвой общий клиентский модуль УчебныйЗапросПоделиться: настоящий callback
Процедура ПоказатьСостав(Данные, ДополнительныеПараметры) Экспорт
Если ДополнительныеПараметры = "Строки" Тогда
Сообщить("Получено собственных строк: " + Строка(Данные.Строки.Количество()));
Иначе
Сообщить("Получено собственных файлов: " + Строка(Данные.Файлы.Количество()));
КонецЕсли;
КонецПроцедурыРазбор по шагам
Создайте указанный собственный источник / форму / общий модуль.
Назначьте обработчик правильному событию.
Вызовите описанное действие интерфейса и проверьте реальный параметр / результат.
Как проверить результат
Команды — реальный входной массив; каждый элемент имеет точный тип ОписаниеКомандыВходящегоЗапросаПоделиться. Строка вместо описания команды была бы проигнорирована.
Callback получает настоящие Данные и ДополнительныеПараметры. У данных есть Строки и Файлы, свойства Текст здесь нет. Файлы не копируются и не удаляются.
Ожидаемый результат
Событие разобрано на ограниченном собственном сценарии, без выполнения входных строк как кода.
На что обратить внимание
BSL при сборке HTML не исполнялся. Не смешивайте клиентский callback с серверным модулем и не создавайте второй одноимённый обработчик в том же модуле.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.