|
Запустить процедуру после проведения вне транзакции | ☑ | ||
---|---|---|---|---|
0
Aceforg
19.11.15
✎
13:08
|
Как запустить свою процедуру после проведения документа вне транзакции?
Подписки не канают, "ПослеЗаписи" и ОбработчикиОжидания" на клиенте. Нужно на сервере! Фоновые задания? Тогда как узнать, что транзакция завершилась? |
|||
1
Ненавижу 1С
гуру
19.11.15
✎
13:12
|
в общем случае никак, а зачем?
|
|||
2
bolobol
19.11.15
✎
13:16
|
В план обмена левый пусть добавляется документ. Появился и проведён - значит нужно обделать дела вокруг проведения.
|
|||
3
Aceforg
19.11.15
✎
13:20
|
Чтобы документы по 50к строк не зарегистрировались для обмена, если не изменились.
|
|||
4
VikingKosmo
19.11.15
✎
13:24
|
при регистрации проверять изменился ли документ?
|
|||
5
Aceforg
19.11.15
✎
13:25
|
Сами по себе документы не страшны для обмена, но пользователи иногда нечаянно перепроводят документы. Или "чаянно" групповой обработкой. После обмен зависает на часа 2 - 3
|
|||
6
Aceforg
19.11.15
✎
13:25
|
(4) Да, если не изменился отменить регистрацию
|
|||
7
VikingKosmo
19.11.15
✎
13:26
|
(6) не надо ничего отменять, нужно перед регистрацией проверять, поменялся ли документ или нет. Profit!
|
|||
8
Лефмихалыч
19.11.15
✎
13:36
|
(0) При записи генерировать в базе какой-то объект, в котором будет храниться ссылка на проведенный документ.
Регламентным заданием обрабатывать эти объекты, выполнять нужные действия и помечать объекты, как обработанные. Что за объект использовать - вариантов тьма. Регистр сведений, план обмена, справочник, - да что угодно. |
|||
9
Aceforg
19.11.15
✎
17:09
|
(7) Так и сделал, отменил авторегистрацию. Если объект изменился, то программная регистрация
(8) Спасибо за идею, возьму на заметку |
|||
10
VikingKosmo
19.11.15
✎
17:13
|
(9) авторегистрация - зло
|
|||
11
aleks_default
19.11.15
✎
17:15
|
(10)+1
|
|||
12
Aceforg
19.11.15
✎
17:16
|
(10) А как документы регистрируется, если в правилах регистрации нет никакого отбора.
|
|||
13
aleks_default
19.11.15
✎
17:18
|
(12) сам прописываешь узлы-получатели
|
|||
14
VikingKosmo
19.11.15
✎
17:21
|
(12) а что мешает написать ПРО?
|
|||
15
VikingKosmo
19.11.15
✎
17:21
|
причем не надо изобретать никаких велосипедов. В БСП все уже изобрели...
|
|||
16
Fragster
гуру
19.11.15
✎
17:23
|
запускаешь фоновое, ему в параметр - ссылку. в фоновом пытаешься установить блокировку на эту ссылку. если время ожидания достаточно - то сразу после транзакции код в фоновом пойдет дальше. я так в http://catalog.mista.ru/public/173394/ потоки синхронизирую (через блокировку константы)
|
|||
17
Fragster
гуру
19.11.15
✎
17:23
|
ссылку на документ, который проводится
|
|||
18
Serg_1960
19.11.15
✎
17:23
|
(0) Ты не сказал волшебные слова - "РИБ", "обмен по правилам" :)
Перепроведение - это изменение документа или нет? А если документ не изменили, но движения стали другими - то это как? |
|||
19
Serg_1960
19.11.15
✎
17:25
|
Имхо, в типовых уже есть регистр, который позволяет понять изменился документ или нет. Подскажу: версионирование.
|
|||
20
Aceforg
19.11.15
✎
17:25
|
(14) А кто сказал что нет ПРО?
В БСП есть такое что при перепроведении без изменении не регистрировалось? |
|||
21
VikingKosmo
19.11.15
✎
17:26
|
(20) ЕМНИП в БСП, в МРО таки проверяется изменился ли объект или нет.
|
|||
22
Гёдза
19.11.15
✎
17:28
|
(21) Нет не проверяет
|
|||
23
aleks_default
19.11.15
✎
17:29
|
А если документ не изменили, но движения стали другими - то это как? - это из рубрики "сделано кривыми руками"?
|
|||
24
Fragster
гуру
19.11.15
✎
17:31
|
(23) такое запросто может быть при автоподборе партий/автозачете авансов
|
|||
25
Fragster
гуру
19.11.15
✎
17:31
|
непонятно, чем мешает повторная выгрузка документа...
|
|||
26
Serg_1960
19.11.15
✎
17:33
|
(23) Не обязательно как что, так "кривые ручки". При обмене с различными конфигурациями нет смысла обмениваться движениями - документ проводится в базе-получателе - в типовых есть функционал "отложенное проведение".
|
|||
27
Fragster
гуру
19.11.15
✎
17:46
|
(26) но ведь перепровести документ в получателе надо, ведь приехавшие _другие_ данные также могут повлиять на тот же зачет авансов...
|
|||
28
aleks_default
19.11.15
✎
17:53
|
(25) Видимо у них там простыни по 100500 строк, которые вешают обмен.
|
|||
29
Aceforg
19.11.15
✎
17:58
|
(25) по 50к, 3 таких документа вешают обмен на 2-3. Пользователи никак не научатся закрывать без сохранения, да и кнопка "Провести и закрыть" такая большая)
|
|||
30
Fragster
гуру
19.11.15
✎
18:12
|
(29) сделай открытие таких документов в r/o, включение редактирования по кнопке в выпадающем меню
|
|||
31
Aceforg
19.11.15
✎
18:18
|
(30) Если надо было бы усложнить редактирование и перепроведение, я бы так и сделал.
Но задачу поставили, отрезать на... регистрацию при перепроведении. |
|||
32
VikingKosmo
19.11.15
✎
18:20
|
(31) Объект.ДополнительныеСвойства.Вставить("ОтключитьМеханизмРегистрацииОбъектов", Истина)
|
|||
33
Aceforg
19.11.15
✎
18:23
|
(31) Спасибо, но поезд уже ушел
|
|||
34
bolobol
19.11.15
✎
18:28
|
(32) И чо?
По теме (сам бьюсь с фильтрацией регистраций): Документ по каким-то причинам (флуктуации на солнце, луна в седьмом доме) не дошёл до некоторого узла, но там он нужен. Как заставить его туда отправиться? Надо делать два _изменения_, простой перезаписью уже не обойтись. Проблема начинается тогда, когда на вскидку не видно - какого документа не хватает обновить в узле. И тут через пень-колоду регистрировать вручную документы на обмен, что ой как не удобно и пользователи сами не могут это сделать. Надумано? Нет. Я ушёл в отпуск и неделю долбили перепроведение вдоль и поперёк, чтобы заставить документ отправиться в нужный узел - не осилили. Оказалось - запрещена регистрация не изменённых объектов - никто даже не догадался копать там) |
|||
35
VikingKosmo
19.11.15
✎
18:32
|
(34) и все, ни кто никуда не регистрируется
|
|||
36
bolobol
19.11.15
✎
19:18
|
(35) Насколько мне известно - ДополнительныеСвойства - это структура для хранения некоторых данных, но никак не команд, тем более - это не отключатель механизма регистрации, даже если так обозвать элемент структуры. С чего бы документ перестанет регистрироваться?
ОбменДанными.Загрузка= Истина; - это команда, и то, нужно указать откуда загрузка, чтобы только туда не регистрировалось, а во всё остальное - зарегистрируется - как пить дать! |
|||
37
Fragster
гуру
19.11.15
✎
21:41
|
(36) ну, видимо, либо в БСП, либо у автора этот случай обрабатывается. Также ОбменДанных.Получатели.Автозаполенение = Ложь, или как там... давно СП не открывал...
|
|||
38
Serg_1960
20.11.15
✎
00:06
|
Память не изменяет :)
http://its.1c.ru/db/metod8dev/content/2269/hdoc |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |