|
Фоновые задания и временное хранилище | ☑ | ||
---|---|---|---|---|
0
Powerfool
26.06.14
✎
13:01
|
Я все перепробовал у меня не работает!!! Все в мире статьи перечитал и теперь уже в нирване. Толи вы лжете и это не работает, то ли я такой >|<оп0рукий рук0>|<0п.
Хочу из формы запустить выполнение кода в форме, и чтобы потом получить результат его исполнения обратно в форме. Вот код формы (на клиенте) Процедура ПередОткрытием(Отказ, СтандартнаяОбработка) Если КлючУникальности = Неопределено Тогда КлючУникальности = Новый УникальныйИдентификатор; КонецЕсли; КонецПроцедуры Процедура СодержитАвтоПодборТекста(Элемент, Текст, ТекстАвтоПодбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Адрес = ПоместитьВоВременноеХранилище("ПУСТО", КлючУникальности); Параметры = Новый Массив; Параметры.Добавить(Адрес); ФоновыеЗадания.Выполнить("ДК_ОбработчикиСобытий.НайтиОбъекты", Параметры, КлючУникальности, "ПоискОбъектов"); ПодключитьОбработчикОжидания("ОбновитьОтбор", 1); КонецПроцедуры Процедура ОбновитьОтбор() Сообщить(ПолучитьИзВременногоХранилища(Адрес)); КонецПроцедуры Вот код на сервере Процедура НайтиОбъекты(Адрес) Экспорт ПоместитьВоВременноеХранилище("Готово", Адрес); КонецПроцедуры На выходе имею "ПУСТО", хотя должно быть "Готово". Где я не прав? |
|||
1
Cube
26.06.14
✎
13:03
|
(0) Ну, и запускаешь ты это всё на клиент-серверной базе, да?
|
|||
2
Powerfool
26.06.14
✎
13:04
|
Проверял. Выполнял код в клиенте, всё работает
|
|||
3
Powerfool
26.06.14
✎
13:04
|
(1) АГА. Клиент-сервер. 8.3.4.408
|
|||
4
Powerfool
26.06.14
✎
13:05
|
Еще пробовал вызывать процедурку "ОжидатьЗавершения", думал, может он там где то подвисает по пути. Нифига подобного
|
|||
5
Powerfool
26.06.14
✎
13:09
|
вира
|
|||
6
Powerfool
26.06.14
✎
13:17
|
вира (5)
|
|||
7
Powerfool
26.06.14
✎
13:20
|
Я иссякаю. Похоже это заявленная фича одинэс, которую они только объявили, но вот сделать забыли. Нет ну реально я уже иссяк. Я все варианты перебрал. А самое обидное, что у кого-то, с их слов, все работает
|
|||
8
Powerfool
26.06.14
✎
13:29
|
up
|
|||
9
hhhh
26.06.14
✎
13:37
|
а где написано, что на клиенте? Вроде всё на сервере у вас.
|
|||
10
Powerfool
26.06.14
✎
13:38
|
(9) То что написано в (1) на клиенте - это код из модуля формы выбора справочника. А то что написано на сервере - это код из серверного общего модуля
|
|||
11
acsent
26.06.14
✎
13:43
|
почему в качестве ключа не используешь ид формы
|
|||
12
Powerfool
26.06.14
✎
13:48
|
(11) Что есть ИД формы?
|
|||
13
hhhh
26.06.14
✎
13:50
|
(10) если написано &НаКлиенте значит на клиенте, всё остальное на сервере.
|
|||
14
Powerfool
26.06.14
✎
13:51
|
(13) Тоесть Вы хотите сказать что код модуля формы справочника выполняется на сервере?
|
|||
15
H A D G E H O G s
26.06.14
✎
13:57
|
(14) Там много всякого непонятного. Ты не поймешь :=)
|
|||
16
Powerfool
26.06.14
✎
13:58
|
(15) Так ты ведь даже не попробовал, глядишь и пойму
|
|||
17
hhhh
26.06.14
✎
14:00
|
(14) где же еще?
|
|||
18
H A D G E H O G s
26.06.14
✎
14:00
|
(16) Форма - управляемая или обычная?
|
|||
19
Powerfool
26.06.14
✎
14:02
|
(17) Вообще я всю свою сознательную жизнь работы с 1С думал, что формы живут на клиентах
(18) Обычная |
|||
20
H A D G E H O G s
26.06.14
✎
14:08
|
(19) "Вообще я всю свою сознательную жизнь работы с 1С думал, что формы живут на клиентах "
скоро придется отвыкать |
|||
21
ИсчадиеADO
26.06.14
✎
14:08
|
никуя тс-а не понял
Процедура НайтиОбъекты(Адрес) Экспорт ПоместитьВоВременноеХранилище("Готово", Адрес); КонецПроцедуры 1) почему у помещения в хранилище имя НайтиОбъекты??? 2)должно быть как то так: Функция ПоместитьТекст(УИД) Возврат ПоместитьВоВременноеХранилище("Готово", УИД); КонецФункции |
|||
22
Powerfool
26.06.14
✎
14:08
|
(17) А это вообще как то к теме относится? Или это просто потребность в самореализации за счет умных слов воткнутых в контекст?
|
|||
23
H A D G E H O G s
26.06.14
✎
14:09
|
Адрес = ПоместитьВоВременноеХранилище("ПУСТО", КлючУникальности);
заменить на Адрес = ПоместитьВоВременноеХранилище("ПУСТО", Новый УникальныйИдентификатор); |
|||
24
ИсчадиеADO
26.06.14
✎
14:11
|
(23) там же вроде значение в хранилище живет до тех пор, пока жив УИД, посему обычно используют УИД формы
|
|||
25
Powerfool
26.06.14
✎
14:12
|
(23) Не уловил сути. Ключ уникальности формы и есть уид. К тому же я такую фигню из СП вычитал. Там прям русским по белому пишут (правда такое ощущение, что пишут не для того, чтобы людям было хорошо, а чтобы начальник не приставал)
|
|||
26
Powerfool
26.06.14
✎
14:12
|
(24) (11) ЧТО ЕСТЬ УИД ФОРМЫ?!!!
|
|||
27
acsent
26.06.14
✎
14:12
|
(12) Форма.УникальныйИдентификатор
|
|||
28
Powerfool
26.06.14
✎
14:13
|
(24) Кстати значение живет. Я Получаю то значене которое положил туда сразу (ПУСТО)
|
|||
29
H A D G E H O G s
26.06.14
✎
14:13
|
(26) УИД формы есть только у управляемых форм. Ваш кэп.
|
|||
30
Powerfool
26.06.14
✎
14:14
|
(27) Нет такой буквы в этом слове. Всмысле нет такого реквизита в моей форме
|
|||
31
acsent
26.06.14
✎
14:14
|
(29) Тогда задача не решаема )))
|
|||
32
acsent
26.06.14
✎
14:14
|
А зачем хранилище то передавать в обычных формах?
|
|||
33
H A D G E H O G s
26.06.14
✎
14:15
|
(32) Автор реализует многопоточность. Давайте не будем мешать ему.
|
|||
34
Powerfool
26.06.14
✎
14:19
|
(33) Мешайте. Мешайте пожалуйста. Вы только это конструктивно делайте.
Меня сильно не устраивает вариант с допиленными костылями типа ВызватьИсключение или Отдельная таблица с результатами фонового задания. Я все таки на себя в первую очередь грешу, но теперь начинаю сомневаться в том что криво>|<опость - мой атрибут, а не 1Сников, да прибудет с ними сила |
|||
35
dj_serega
26.06.14
✎
14:20
|
Я передавал такие данные через ХранилищеОбщихНастроек. Все прекрасно работало.
|
|||
36
H A D G E H O G s
26.06.14
✎
14:22
|
(35) как там с раздельным доступом?
|
|||
37
Fragster
гуру
26.06.14
✎
14:23
|
(34) Через СообщениеПользователю еще можно
|
|||
38
Fragster
гуру
26.06.14
✎
14:24
|
(37)+ а вот в обратную сторону - только через данные базы.
ну да может в 9ке что-нибудь типа вебворкеров запилят. |
|||
39
ИсчадиеADO
26.06.14
✎
14:24
|
(34) короче, в метод ПоместитьВоВременноеХранилище 2ым параметром передается уникальный идентификатор (тип уник. идентификатор), возвращает он тип строка (которая явл. адресом врем. хранилища). Типы разные и эти данные не связаны. Тобишь УИД <> Адрес.
ФоновыеЗадания.Выполнить("ДК_ОбработчикиСобытий.НайтиОбъекты", Параметры, КлючУникальности, "ПоискОбъектов") - у тебя что-то делает, но что делает, твоя форма не знает. Адреса назад не получает. Адрес - это тот адрес, который ты получил при Адрес = ПоместитьВоВременноеХранилище("ПУСТО", КлючУникальности); |
|||
40
ИсчадиеADO
26.06.14
✎
14:25
|
(34) тебя, видимо, попутала встроенная справка, где все называется Адресом :)
|
|||
41
Fragster
гуру
26.06.14
✎
14:27
|
кстати, в http://infostart.ru/public/173394/ в конце концов пришел к РС - ибо интенсивность чтения/записи там относительно низкая, а вот проблем решается куча.
|
|||
42
Fragster
гуру
26.06.14
✎
14:28
|
(41)+ в управляемом режиме блокировок с блокировками проблем нет
|
|||
43
Powerfool
27.06.14
✎
05:02
|
(39) Короче я не понял, что ты хотел этим сказать. Я понимаю что УИД <> Адрес. Может ты напишешь что надо сделать, чтобы заработало?
|
|||
44
Powerfool
27.06.14
✎
05:15
|
(39) Кстати вариант где в параметры добавляется КлючУникальности не канает. Его я уже пробовал
Параметры.Добавить(КлючУникальности); |
|||
45
Powerfool
27.06.14
✎
05:38
|
(39) И последнее. Я уже писал в (2). Если сделать в форме
ПоместитьВоВременноеХранилище("Готово", Адрес); То все ништяково отрабатывает |
|||
46
Powerfool
27.06.14
✎
06:14
|
Утрешний АП
|
|||
47
Powerfool
27.06.14
✎
06:50
|
(35) Вот я кстати твой пост http://kb.mista.ru/article.php?id=696 читал, буду пробовать.
|
|||
48
Powerfool
27.06.14
✎
06:54
|
(47) А вот у меня вопрос только. А не получается ли что в этом объекте (хранилище общих настоек) будет захламление? Он же не чистится? Ну или по крайней мере, на сколько я понимаю, чиститься вместе с кэшем
|
|||
49
Мимохожий Однако
27.06.14
✎
08:10
|
Надо код поместить не в модуль формы, а в модуль объекта (обработки). Хранить настройки можно либо в регистре настроек пользователя из-под которого запускаешь, либо в добавленном регистре, либо в добавленном справочнике.
|
|||
50
Мимохожий Однако
27.06.14
✎
08:11
|
Фоновое задание формой не пользуется, она её просто не видит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |