helpf.pro
Регистрация

Как сделать так, чтобы при проведении документы одного вида вставали в очередь?

Monfiz
31.05.2011 20:37Прочитано: 3258
Вопрос сложный, поэтому прошу подсказать или посоветовать как можно его решить.
Проблема: Необходимо сделать документ, который бы содержал контрагента(клиента) и табличную часть. В табличной части будут заполняться процедуры (лечебные) и время, на которое они будут назначаться. Движения будут делаться в регистре сведений.
В разрабатываемой конфигурации будут работать несколько сотрудников одновременно, и соответственно возникнут ситуации, когда люди будут заполнять, проводить документы этого вида (для каждого отдельного клиента) одновременно.
И тут возникает проблема. Документ делает движения и берет информацию о свободных промежутках времени для будущего заполнения табличной части из одного регистра сведений. Т.е. могут возникнуть ситуации, когда разным клиентам документы будут делать движения в одно и тоже время для одинаковых процедур.

Решить это можно, как мне кажется, только если ставить эти документы в очередь, т.е. нужен какой-то механизм транзакций или что-то иное. Как это сделать? Где описывать этот механизм? В документе или в регистре? А может быть есть другой подход?
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
01.06.2011 09:25Ответ № 1
(0) Monfiz, *17
Все проще, делаешь ты свои документы, проводишь, в регистр сведений пишутся данные о Клиенте и Занятом времени, В документе при проведении сделай проверку, не занято ли уже время!?

Таким образом, кто первый провел, тот время и занял, или можно отменить проведение и провести другого клиента
Monfiz
01.06.2011 11:08Ответ № 2
А если занято, то снова переходим к процедуре, которая назначает время. Спасибо.
Но все-таки как можно реализовать такую "очередь" из документов в сетевом режиме?
Monfiz
01.06.2011 11:09Ответ № 3
А что если два компьютера одновременно сделают такую проверку?
E_Migachev
01.06.2011 12:30Ответ № 4
(3) Monfiz, все-равно будет разница в милисекундах, и в любом случае кто-то забьет время, а кто-то пролетит ) Платформа сама за тебя это сделает!
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.