Показать сообщение отдельно
Старый 18.07.2006, 18:42   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от блондинка
Главная трудность состоит в том, что в 1С это ТАК РАБОТАЛО.
Нет. В 1С это работало ПО ДРУГОМУ.
В 1С пока пользователь не нажмет на кнопку Записать или Провести данных в базе просто нет.
После создания, несколько пользователей и в 1С вполне могут работать с одним документом - изменения запишет только первый. Второй получит сообщение о том, что заказ изменен и все его изменения будут потеряны.

Проэмулируйте эту кнопку - Записать.
При создании заказ блокируйте, при нажатии на кнопку разблокируйте.
Редактируйте заказ только в том случае если пользователь нажал на кнопку Открыть.
Обратите внимание на совет glibs Как блокировать одновременный доступ к Заказу?
Его совет содержит только суть.
На самом деле в Аксапте есть аналог безо всякого программирования.
Заказ должен создаваться в статусе "Журнал".
Журнал - черновик, который не влияет на итоги.
Когда пользователь полностью создаст заказ - он переводит его в состояние Заказ.
В этот момент происходит резервирование всех строк и создаются складские проводки.
Если вы хотите избавиться от коллизий при редактировании разными пользователями одного и того же заказа - вам нужно проэмулировать кнопку Открыть и разрешать редактирование только открытых заказов.

Только зачем повторять функционал другой программы - не очень понимаю.
Если идти до конца по Аксаптовской логике, то разрешайте редактирование только тех заказов, которые имеют статус Журнал. В этом случае, пользователи чтобы отредактировать, должны сменить статус (в этот момент снимутся резервы), отредактировать и вернуть статус (в этот момент произойдет перерезервирование)
__________________
полезное на axForum, github, vk, coub.