Имя: Пароль:
1C
 
Особенность временного хранилища
,
0 Яплакал
 
18.03.16
16:11
Задумка в следующем из основного потока порождается ФЗ (фоновое задание) это ФЗ в какой-то момент помещает во временное хранилище какие-то данные, в основном потоке подключен обработчик ожидания который по адресу ВХ (временного хранилища) смотрит есть ли там что-то и не видит до того момента как не закончит выполнение ФЗ, после того как выполниться ФЗ в хранилище данные видны и их можно получить.
Смысл в том что бы в процессе выполнения ФЗ оповестить основной поток о какой-то контрольной точке, к примеру отработало ФЗ на половину, создался какой-то док, она оповещает основной поток об этом и далее продолжает работать, а основной поток поняв что ФЗ сделала нужное действие делает свои какие-то действия.
1 Лефмихалыч
 
18.03.16
16:14
(0) лучше используй БД для этого. Временное хранилище, оно очень временное, а фоновое может же и долго выполнятьсятак?
2 Лефмихалыч
 
18.03.16
16:15
+(1) например хранилище стандартных настроек можно невозбранно заюзать. Туда можно складывать что угодно и ни чего тебе за это не будет
3 Fragster
 
гуру
18.03.16
16:20
в БСП есть подсистема ДлительныеОперации, которая делает что нужно. И для информирования основного потока функции там тоже есть.
4 Fragster
 
гуру
18.03.16
16:21
вообще, конечно, манера излагать мысли у автора интересная.
5 Записьдампа
 
18.03.16
16:21
Хватит трехколесные-то уже изобретать. В БСП давно уже запилены длительные операции, которые асинхронно сообщают запускающему сеансу все что угодно. Через СообщениеПользователю.
6 Дык ё
 
18.03.16
16:21
(0) простые оповещения можно передавать через Сообщить в фз и ПолучитьСообщенияПользователю в основном потоке
7 Записьдампа
 
18.03.16
16:22
(6) WTF "непростые"?
8 Яплакал
 
18.03.16
19:08
(5)(6) как-то костыльно

А в БСП взаимодействие между потоками тоже строится на ПолучитьСообщенияПользователю?
9 Яплакал
 
18.03.16
19:10
в модуле ДлительныеОперации методов то раз два и обчелся, но там ничего похожего по смыслу на оповещение основного потока не нашел
10 su_mai
 
18.03.16
19:11
(0) Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания.
11 Яплакал
 
18.03.16
19:13
(10) да я уж понял, какие варианты есть (если не рассматривать ПолучитьСообщенияПользователю), если мне нужно какую-то структуру например передать
12 su_mai
 
18.03.16
19:16
(11) Никаких кроме прерывания ФЗ, сохранения его состояния во временном хранилище, возврат в родительский поток, оповещение о состоянии обработки, запуск ФЗ из сохраненного состояния.
13 su_mai
 
18.03.16
19:17
(12) Как в C#, контекста синхронизации потоков и прочих Invoke в 1С нет
14 Fragster
 
гуру
18.03.16
19:21
(11) передавай структуру через сообщение в сериализованном виде
15 Записьдампа
 
18.03.16
19:29
(9) СообщитьПрогресс, ПрочитатьПрогресс
16 Записьдампа
 
18.03.16
19:30
(13) Но можно накостылить при помощи данных в базе и транзакций.
Впрочем, ТС не осилит =]
17 Яплакал
 
18.03.16
19:34
(16) Коллега ты меня знать не знаешь, а уже судишь о моих возможностях, не очень хорошее качество
18 Яплакал
 
18.03.16
19:36
(15) перечитай (11) а потом предлагай
19 Cyberhawk
 
18.03.16
19:40
Пиши в регистр сведений при старте фонового задания его идентификатор, а ФЗ уже пусть в этот регистр пишет что тебе нужно для лога. А ты уже читай этот лог из регистра из родительского сеанса.
20 Записьдампа
 
18.03.16
20:00
(17) Коллега, если Вы не осилили посмотреть на параметры методов модуля ДлительныеОперации, о каких транзакциях и блокировках может идти речь?
Обидчивый Вы наш.
21 Яплакал
 
18.03.16
20:34
(19) да это все костыли, я ж не говорю что не возможно, но хотелось бы красиво
22 Яплакал
 
18.03.16
20:36
(20) а..еть взаимосвязь )))
Индуктивное мышление страдает в тебя.
23 Записьдампа
 
18.03.16
20:41
(21) Тебе дали стандартное, промышленное решение, работающее и проверенное. Но ты хочешь автогеном через анус, стоя на лыжах в гамаке и усиками внутрь. Потому что это красиво.
24 Яплакал
 
18.03.16
21:08
(23) Все субъективно мой друг и давай полемику прекращать не по делу. Естественно буду отталкиваться от того что умеет платформа, тут выше головы не прыгнешь
25 mistеr
 
19.03.16
12:27
(21) Красиво - это надежно, то есть в базе. Тем более, что ты хочешь на это логику завязать. А все, что мимо базы - уродливые костыли.