Имя: Пароль:
1C
1С v8
Сохранить менеджер временных таблиц между серверными вызовами.
,
0 seperblunt2
 
01.03.23
10:18
в качестве апа темы Сохранить менеджер временных таблиц между серверными вызовами.

может что-то поменялось в этом плане или камрады таки придумают маневр?
1 H A D G E H O G s
 
01.03.23
11:51
Менеджер в Структуру, структуру во Временноехранилище
2 Garykom
 
гуру
01.03.23
12:41
(1) один хрен сериализация
3 Garykom
 
гуру
01.03.23
12:46
может извратиться с длительным фоновым и каким то образом передачей туда нового текста и параметров запроса?
4 seperblunt2
 
07.03.23
15:44
(3) вариант в принципе рабочий, получается запись параметров нового запроса и в фоновом по быстрому циклу чтение, потом результат запроса - в сообщения фонового. видимо без извращений не обойтись
5 Fragster
 
гуру
07.03.23
15:48
я как-то давно делал вечный цикл в нескольких фоновых с лонг-поллнигом приблуды на ноде. а управляющее фоновое (и не только) передавало в ноду нужные данные для обработки в очередь. таким макаром можно в этих фоновых и мвт хранить
6 Fragster
 
гуру
07.03.23
15:50
еще менеджер блокировок 1с юзал так же для блокировки объектов для внешних систем - одно фоновое в нем документобъект.заблокировать/разблокировать
7 asady
 
07.03.23
15:53
(0) временные таблицы - это объекты субд (temptable) - они создаются и удаляются по командам  
Если ты знаешь имя временной таблицы - попытайся обратится к ней по имени как к обычной таблице sql
8 seperblunt2
 
07.03.23
15:56
(7) там есть 2 типа временых в скл, которые доступны в рамках сессии или в рамках запроса (не помню точно как зовутся), дак вот тут как раз в рамках запроса. т.е. видишь эту таблицу в sql а обратиться к ней никак не дает..
9 seperblunt2
 
07.03.23
15:57
(5) а передавала данные - через запись в базу ли как? точнее даже - откуда получаело управляющее фоновое следующее задание? (у меня это интерактивно от действий пользователя случается)
10 magicSan
 
07.03.23
16:33
млять там ссылка на другую тему. Сразу понятно - бараны. Сохраняй данные какие надо в временное хранилище.Какая тебе разница где их хранить?
11 Fragster
 
гуру
07.03.23
16:35
(9) к серверу на nodejs делался запрос, он отправлял его в первый попавшийся висящий на лонгполле клиент.
12 Fragster
 
гуру
07.03.23
16:36
управляющее фоновое задание анализировало граф зависимостей последовательности документов по измерениям. это многопоточное восстановление было.
13 magicSan
 
07.03.23
17:05
(11) если ты путаешь перед с задом то точно не понимаешь как оно должно работать.
14 seperblunt2
 
07.03.23
17:45
(10) гений, это долго

попрбую через висящее фоновое и выдачу ему заданий через запись в регистр сведений
15 magicSan
 
07.03.23
17:51
(14) Озвучь задачу
16 magicSan
 
07.03.23
17:52
(14) нет делаешь через сеанс у всех фоновых в рамках сеанса ВХ доступно
17 seperblunt2
 
07.03.23
17:55
(16) что ты поместишь в вх? таблицу а потом ее подгружать в запрос?  (поместить туда сам диспетчер временных не выйдет)
18 magicSan
 
07.03.23
18:10
(17) 1. "диспетчер временных" - что за выдуманная дичь?
2. Озвучь задачу.
3. гоняешь тз через вх.
19 seperblunt2
 
07.03.23
18:31
(18) 3 - долго,

например при заходе в обработку выполнили тяжелый запрос к базе вывели данные, затем юзер будет эти данные всяко фильтровать.. можно фильтровать на клиенте, но это долго при объемах.
а тут сохранил тяжелую таблицу в менеджере, проиндексировать и далее делаешь к ней запросы, все шустро.
20 Garykom
 
гуру
07.03.23
19:06
(19) по логике надо эту тяжелую таблицу сохранять в БД
короче вьюхи нужны
в скуле они есть, осталось добавить поддержку в платформу 1С
21 ДедМорроз
 
07.03.23
22:14
Можно еще через функцию повторного использования возвращать структуру,а в нее уже класть все,что нужно.
22 timurhv
 
07.03.23
22:53
(21) В частности, следует иметь в виду, что кэш не хранит данные вечно. Закэшированное значение будет удалено из кэша через 20 минут после вычисления или через 6 минут после последнего использования (в зависимости от того, что наступит раньше*).
https://its.1c.ru/db/v8std/content/724/hdoc
23 Garykom
 
гуру
07.03.23
23:13
https://infostart.ru/1c/articles/1217577/
1. НЕ кэшировать менеджер временных таблиц там, где кэш сохраняется между вызовами сервера.
2. Быть осторожным с циклическими ссылками. В принципе, это относится не только к менеджеру ВТ, но и к любой разработке.
3. Вместо кэширования менеджера ВТ подумать над архитектурой. Возможно кэшируемые в ВТ данные требуют особого хранения в базе для быстрого доступа.

Имхо остается только реализация бесконечного фонового
Во временное хранилище и т.д. между серверными вызовами чревато разными глюками
24 Garykom
 
гуру
07.03.23
23:17
Имхо я бы создал "регистр сведений временных таблиц" в базе
С максимально универсальной структурой, множество полей разных нужных типов
И писал данные туда понятно с привязкой к измерению-сеансу (уид как пример), чтобы потом как не надо очищать
Ну и соответствие имен полей РС ВТ и моих ВТ
25 ДедМорроз
 
08.03.23
01:58
Таблицу значений можно легко сериализовать в хранилище значения,а потом обратно,и добавить в запрос,если она нужна.
Удобство менеджера в том,что таблица уже готова к выполнению запроса без дополнительных действий.
26 seperblunt2
 
09.03.23
10:10
(25) совершенно верно, а манипуляции с таблицей, если она большая занимают долгие секунды...
жаль что так устроилась платформа. интересно (для общего развития) как с этим делом в других средах
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн