Имя: Пароль:
1C
1С v8
Создать один документ при одновременно работающих нескольких юзерах
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
Первый, кто увидит, накладывает блокировку на запись РС и делает свои дела. Потом снимает.
Пока есть блокировка, другие не прочитают флаг и не узнают о том, что им нужно что-то делать.
Независимо от того, куда вы едете — это в гору и против ветра!