Имя: Пароль:
1C
1С v8
Как сохранить внешнюю обработку в переменную доступную на время всего сеанса?
,
0 Pentosh
 
14.11.16
10:41
Здравствуйте.

Подскажите, пожалуйста.
Есть внеш. обработка которая лежит на диске (желательно так и оставить, ибо может использоваться много где), мне нужно ее использовать в конфигурации, вызывая ее функции.
Как мне это лучше сделать?
В параметры сеанса ее вроде не запихнуть. Глобальные переменные, а где ее указать?

Код как получаю экземпляр обработки.

    АдресДанных = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные("E:\Обработки\API\API.epf"));
    Сервис = ВнешниеОбработки.Создать(ВнешниеОбработки.Подключить(АдресДанных, "Test123", Ложь)).Инит("https://www.org/";, Новый Структура("Логин,Пароль", "login", "password"));
    Репозитории = Сервис.ВызватьМетод("Session.loadRootRepositoryList", Сервис.Массив());
1 Фрэнки
 
14.11.16
10:48
легких путей не ищем.

позвольте спросить, чем помещение в дополнительные отчеты и обработки не устраивает?
2 Pentosh
 
14.11.16
10:53
(1) редактировать обработку нужно будет в нескольких местах. Например, сейчас предполагается что обработка будет использоваться в 2-х конфигурациях.

+ по сути, обработка должна за сеанс 1 раз создаваться, и дальше работать.
3 Фрэнки
 
14.11.16
10:58
(2) ну и что такого, если в обе конфигурации, при наличии изменений будет выполнена в пользовательском режиме замена содержимого в хранилище данных для элемента из справочника дополнительных внешних обработок? перезапуск программы не потребуется. Пользователь все равно находится в состоянии зависимости от действий админа или разработчика. Что так, что эдак - эффект одинаков.
4 Фрэнки
 
14.11.16
11:01
Эту самую "глобальную переменную" все равно придется каким-то способом выводить на глобальный интерфейс пользователя. Причем, интерфейс этот будет разный, вероятно, у разных пользователей и обработка пока одна...

а там глядишь и попрут варианты узаконенные и все усилия по сборке велосипеда на квадратном колесе пойдут лесом.
5 Pentosh
 
14.11.16
11:22
(3) мне не только нужно хранить обработку где то, а ее очень активно использовать программно, интерфейса у нее нет.
Она выступает как класс, а при начале сеанса я хочу создать экземпляр этого класса и его в течении сеанса использовать вызывая ее экспортные функции, для приведения данных в нужный вид или для вызова метода Апи.
6 Фрэнки
 
14.11.16
11:46
(5) ну я бы сделал константу строковую и туда все запихал. Чтоб сохранялись настройки (путь и далее что нужно) Процедуру при начале сеанса все равно модифицировать придется. Тогда добавить общий модуль и в нем определить переменную в его глобальном контексте.

Другое дело, то в том же общем модуле ((который станет программным интерфейсом между твоей нетеленкой и типовой конфигой)) можно сделать обращение к тем же самым данным в хранилище конфигурации и записывать эту настройку туда...

А что запрещает использовать механизм расширений конфигурации? может уже нет большого смысла в обработках уникальный код хранить, не вредящий типовому обновлению, а включить его в расширение?
7 Рэйв
 
14.11.16
11:50
ВеншниеОбработки.Создать("Путь").ТвояЭкспортнаяПроцедураВМодулеОбработки()
8 Pentosh
 
14.11.16
11:54
(7) Спасибо, это я знаю. Но мне очень часто нужно вызывать методы из нее, т.е. постоянно ее создавать, на каждый чих, как то не разумно.
9 Рэйв
 
14.11.16
11:56
(8)Ну присвой  
ВеншниеОбработки.Создать("Путь") глобально переменной в общем модуле. Хоть это и криво:-)  И юзай ее где хочешь
10 ptiz
 
14.11.16
11:58
(9) Глобальную переменную на сервере как представляешь?
11 Фрэнки
 
14.11.16
12:00
(10) ну... если упр-формы, то надо сразу так и пасать, что это упр-формы. Но тогда с упр-формами еще больше не понятно, почему тс не рассматривает вариант переноса нетленки в расширение конфигурации
12 Рэйв
 
14.11.16
12:01
(10)А, ну если УФ, тогда печалька. Тут проще будет поднимать заново каждый раз как надо
13 ptiz
 
14.11.16
12:15
(8) Может использовать общий модуль с галкой "повторное использование возвращаемых значений"?
14 Pentosh
 
14.11.16
12:19
Да, извините, не указал, конфа на УФ.

(13) Да, возможно так и придется.
15 FIXXXL
 
14.11.16
12:21
(13) +1
16 mikecool
 
14.11.16
12:22
(13) только помнить об очистке кеша