Добрый день!
Каким образом можно сохранить в базе ОписаниеОповещения в полном виде, чтобы потом под другим сеансом продолжить с ним работать на клиенте(естественно).
Передать с клиента на сервер не получается, система падает с ошибкой:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
В строкуВнутр, json, и временноехранилище этот объект тоже не влезает.
Была мысль парсинга описания, но внутри описания есть свойство модуль, которое идентифицировать не удается, т.е. получить имя модуля или метаданные
P.S. не надо спрашивать "Зачем это надо делать" и говорить "напиши задачу, ты её неверно решаешь"
Каким образом можно сохранить в базе ОписаниеОповещения в полном виде, чтобы потом под другим сеансом продолжить с ним работать на клиенте(естественно).
Передать с клиента на сервер не получается, система падает с ошибкой:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
В строкуВнутр, json, и временноехранилище этот объект тоже не влезает.
Была мысль парсинга описания, но внутри описания есть свойство модуль, которое идентифицировать не удается, т.е. получить имя модуля или метаданные
P.S. не надо спрашивать "Зачем это надо делать" и говорить "напиши задачу, ты её неверно решаешь"
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(28) Ну как вариант загнать все общие модули в соответствие (пока вручную - другого способа не нашел)
Дальше сравнивать модуль пришедший в оповещении со всеми модулями из соответствия.
Костыль конечно -но другого способа я не вижу пока
Дальше сравнивать модуль пришедший в оповещении со всеми модулями из соответствия.
&НаКлиенте
Процедура ПоучитьИмяМодуля(Команда)
модуль1 = АдресныйКлассификаторКлиент;
модуль2 = АдресныйКлассификаторКлиент;
Модуль3 = РаботаСФайламиСлужебныйКлиент;
Сравнение1 = Модуль1 = Модуль2; // Истина
Сравнение2 = Модуль1 = Модуль3; // Ложь
КонецПРоцедуры
ПоказатьКостыль конечно -но другого способа я не вижу пока
(29) На сервере можно получить имена общих модулей, доступных на клиенте через метаданные. Инициализировать их на клиенте с помощью метода Вычислить, пока не найдем нужный.
&НаКлиенте
Процедура Команда1(Команда)
ОбщийМодуль = ОбщийМодульВызовСервера;
ИмяМодуля = Неопределено;
ИменаОбщихМодулей = ПолучитьИменаОбщихМодулей();
Для Каждого ИмяОбщегоМодуля Из ИменаОбщихМодулей Цикл
ТекущийМодуль = Вычислить(ИмяОбщегоМодуля);
Если ТекущийМодуль = ОбщийМодуль Тогда
ИмяМодуля = ИмяОбщегоМодуля;
Прервать;
КонецЕсли;
КонецЦикла;
Сообщить(ИмяМодуля);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьИменаОбщихМодулей()
Результат = Новый Массив;
Для Каждого МетаданныеОбщегоМодуля Из Метаданные.ОбщиеМодули Цикл
Если МетаданныеОбщегоМодуля.ВызовСервера ИЛИ МетаданныеОбщегоМодуля.КлиентУправляемоеПриложение Тогда
Результат.Добавить(МетаданныеОбщегоМодуля.Имя);
КонецЕсли;
КонецЦикла;
Возврат Результат
КонецФункции
Показать
(11) Я что, может не по-русски говорю? Сформировать структуру из параметров в момент формирования оповещения (имя процедуры, имя модуля, доппараметры и проч). Обозвать её СоставОповещения. И храни это чудо где хочешь (можешь даже в те же доппараметры его засунуть для извращения)...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот