|
Создать один документ при одновременно работающих нескольких юзерах |
☑ |
0
AnisaL
13.02.14
✎
07:49
|
Доброе утро!
В Обработке Внешнего События происходит событие одновременно у нескольких юзеров. В функции, обрабатывающей это событие данные записываются в регистр сведений и после этого должен создаться один документ - заявка. Но поскольку событие происходит одновременно, то таких документов создается несколько. Как можно обойти ситуацию, чтобы создавался только один документ при срабатывании события?
|
|
1
Wobland
13.02.14
✎
07:56
|
происходит телефонный звонок. звонок слышит весь дом, но говорить должен кто-то один. кто?
|
|
2
Drac0
13.02.14
✎
08:30
|
1. Вызывать регламент, который будет создавать один документ на основании данных регистра.
2. Кто-то конкретный ручками запускает генерацию документов.
3. Не создавать документ.
|
|
3
AnisaL
13.02.14
✎
09:03
|
(2) а регламент как будет вызываться? в обработке входящего события?
|
|
4
Serg_1960
13.02.14
✎
09:22
|
События асинхронно делают записи в какой-либо регистр.
Регламентное задание по расписанию анализирует эти записи...
|
|
5
dka80
13.02.14
✎
09:33
|
я так понимаю, записи в регистре одинаковые получаются.
внести в регистр доп реквизит
первый кто создал документ проставляет этот реквизит у произвольной записи регистра, остальные проверяют заполненность этого реквизита с соответствующими выводами
|
|
6
Lama12
13.02.14
✎
09:36
|
(0)А как бороться с коллизиями?
|
|
7
AnisaL
13.02.14
✎
11:55
|
(5) так это же одновременно происходит, и соответственно если проверять заполненность реквизита, то этого документа нет еще в момент проверки и он ничего не найдет, я уже так пробовала делать
|
|
8
Torquader
13.02.14
✎
18:22
|
Вообще-то, если задания работают "у каждого", то нужно выделять первого, кто "скушал" задание, чтобы остальные "курили до следующего".
То есть, первый "схавал" файл, и перемещает его себе в локальную директорию - остальные уже "не схавают".
Второй вариант - блокировать элемент какого-то специального справочника, чтобы первое задание могло его заблокировать, а только после успешной блокировки пойти выполнять алгоритм.
|
|
9
ДенисЧ
13.02.14
✎
18:34
|
Первый, кто увидит, накладывает блокировку на запись РС и делает свои дела. Потом снимает.
Пока есть блокировка, другие не прочитают флаг и не узнают о том, что им нужно что-то делать.
|
|