|
Передача значений в любой модуль | ☑ | ||
---|---|---|---|---|
0
grasshoper
08.10.24
✎
17:47
|
Добрый вечер. Какие есть варианты передачи значения между разными модулями? Необходимо в одном модуле сохранить в некий буфер значение и прочитать его в другом модуле в рамках текущего сеанса. Передать значение нужно из процедуры тонкого клиента в процедуру сервера.
P.S. Добавление параметра в процедуру, новую константу, параметр сеанса не предлагать. Процедура очень глубоко вложенная. |
|||
1
grasshoper
08.10.24
✎
17:49
|
Глобальные переменные тоже не предлагать
|
|||
2
asady
08.10.24
✎
17:50
|
(0) честный знак расковырял видимо...
|
|||
3
grasshoper
08.10.24
✎
17:50
|
(2) ЭДО
|
|||
4
grasshoper
08.10.24
✎
17:51
|
Пробовал ХранилищеОбщихНастроек, в тонком не завелось.
|
|||
5
asady
08.10.24
✎
18:01
|
(0) вариантов много
навскидку 1) значения в двоичные данные - адрес временного хранилища передаем. 2) значения в двоичные данные в хранилище значения регистра сведений - ключ записи передаем. 3) данные в запрос - передаем менеджер временных таблиц 4) запись во внешний источник данных - да хоть файл на сервере или покруче брокер сообщений заюзать наверное еще можно придумать ... если еще подумать |
|||
6
PR
08.10.24
✎
18:03
|
Почему не параметр сеанса?
|
|||
7
PR
08.10.24
✎
18:04
|
(5) Куда ты что собрался передавать?
|
|||
8
ass1c
08.10.24
✎
18:08
|
При наличии БСП
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища ОбщегоНазначения.УдалитьДанныеИзБезопасногоХранилища |
|||
9
Волшебник
08.10.24
✎
18:10
|
Регистр сведений
|
|||
10
PR
08.10.24
✎
18:10
|
(8) Причем здесь вообще безопасное хранилище?
Это всего-лишь регистр сведений, где хранятся всякие пароли в хранилище данных |
|||
11
ass1c
08.10.24
✎
18:14
|
(10) - разве этим функционалом нельзя решить проблему описанную в (0)? Как один из неуказанных вариантов, для расширения кругозора автора. Ясен хер это не лучшее решение. Но имеет место быть.
"где хранятся всякие пароли в хранилище данных" - насколько я вижу там хранят не только пароли, а что угодно. |
|||
12
ejikbeznojek
08.10.24
✎
18:16
|
Общий модуль повторного использования?
По идее при вызове что-то записать, оно вызовет что-то прочитать с установкой значения переменной А при следующих вызовах что-то прочитать возьмется из Кеша. Перем ВремЗначение Процедура Чтотозаписать(какое-то значение) ВремЗначение = какое-то значение Чтотопрочитать() Функция чтотопрочитать() Возврат ВремЗначение |
|||
13
PR
08.10.24
✎
18:18
|
(11) Можно
Через курсы валют тоже можно, например При этом еще момент, что сохранять что-то в хранилище значения, если это, например, ссылка на документ или число или дата и т. п. — избыточно и медленно |
|||
14
ass1c
08.10.24
✎
18:29
|
(13). Да, я знаю. Недавно реализовывал один сложный алгоритм и через фейковую валюту в регистре сведений "КурсыВалют" хранил дату в периоде. Удобно было её потом получать в любом месте где захочу.
(12) да не плохо. "3.1. Для кеширования долго-вычисляемых и часто-используемых значений в процедурах и функциях рекомендуется применять модули с повторным использованием возвращаемых значений." |
|||
15
Волшебник
08.10.24
✎
22:46
|
Вот вам идеи:
1. ХранилищеОбщихНастроек: Можно попробовать использовать общий механизм настройки, хотя иногда он может не работать должным образом в тонком клиенте. 2. Временные файлы: Сохранение данных во временные файлы на сервере. Этот способ может потребовать дополнительных проверок безопасности и синхронизации. 3. Регистр сведений: Использовать регистр сведений для временного хранения данных. Это позволит вам легко сохранить и затем извлечь данные. 4. Двоичные данные: Преобразование данных в двоичный формат и их временное хранение, например, в адресе временного хранилища. 5. Общий модуль: Импорт данных в общий модуль повторного использования, который будет вызывать другие модули для работы с данными. 6. Общее безопасное хранилище: Используйте ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище, если у вас внедрена библиотека стандартных подсистем (БСП). |
|||
16
grasshoper
09.10.24
✎
16:15
|
По итогу сделал с использованием ХранилищеОбщихНастроек завернутый в процедуру общего серверного модуля с вызовом сервера. Всем спасибо за идеи.
|
|||
17
H A D G E H O G s
09.10.24
✎
20:09
|
(14) Классный ник!
|
|||
18
Ненавижу 1С
гуру
09.10.24
✎
20:12
|
Это вам к гению. Он выкладывал передачу параметров через справочник
|
|||
19
DrZombi
гуру
10.10.24
✎
06:16
|
(0) Писать лень.
Но вот вам ваш механизм передачи данных. Просто и примитивен. (Чистить его только не забывайте) https://infostart.ru/1c/tools/1718882/ Смотри на раздел: 2) - "Общие настройки формы (ГГЕ)" - Представляет из себя регистр сведений "Общие настройки формы (ГГЕ)", записи которого содержит список настроек от различных форм. Позволяет только посмотреть общий список и удалить лишние записи настройки. Добавление новых записей организуется "Разработчиком своих обработок" (программистом) и вручную не добавляются. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |