Вопрос № 77596: Доброго времени суток, господа!
У меня вот такой вопрос:
в форме документа в процедуре, вызываемой при нажатии кнопки ОК
производятся различные проверки на разрешение пользователю проводить документ. В том числе в этих проверках вызываютс...
Вопрос № 77.596
Доброго времени суток, господа!
У меня вот такой вопрос:
в форме документа в процедуре, вызываемой при нажатии кнопки ОК
производятся различные проверки на разрешение пользователю проводить документ. В том числе в этих проверках вызываются процедуры глобального модуля. Но проблема втом, что пользователи могут прервать выполнение обработки ESC'ом. Подскажите пожалуйста уважаемые коллеги кто как борется с этой проблемой.
Я пробовал Попытку-Исключение, но она не отлавливает нажатие.
Переносить проверку в модуль документа нельзя, т.к. будет выполняться транзакция.
Транзакцию нельзя выполнять, т.к. пользователи будут мешать друг другу.
Пробовал так же экспериментировать с переменной СтрокаДействийФормы, но при выходе из процедуры нажатием ESC ей возвращается исходное значение, может потому что в конце процедуры мне приходится его возвращать из другой переменной после всех проверок.
Помогите советом. Заранее благодарен.
Сделай переменную СтрокаДействийФормы глобальной (помести ее в глобальный модуль), тогда даже при прерывании выполнения процедуры значение этой переменной не сбросится в исходное.
Удачи!
Ответ отправил: svsrus (статус: 3-ий класс)
Ответ отправлен: 09.03.2007, 10:48
Отвечает: Решитько Иван Олегович
Здравствуйте, Александр Веклюк!
А нельзя ли проверять разрешения при открытии документа и присваивать какой-нибудь переменной модуля формы документа значение 1/0 ?
Может быть возможно использовать стандартный механизм назначения прав пользователю? Там можно запретить пользователю проводить документ...
Ответ отправил: Решитько Иван Олегович (статус: 1-ый класс)
Ответ отправлен: 09.03.2007, 12:50
Отвечает: Centaur
Здравствуйте, Александр Веклюк!
Попробуй в процедуре ПриОткрытии зделать эту проверку и там уже думай или в механизме расчета что-то поменгять или зделать два дополнительных слоя и на них в низу раместить по кнопке которые будут выполнять нужные процедуры а в процедуре ПриОткрытии после проверке включать нужные слои. Удачи.
Ответ отправил: Centaur (статус: 1-ый класс)
Ответ отправлен: 12.03.2007, 09:25
Отвечает: Gorus
Здравствуйте, Александр Веклюк!
При начале выполнения процедуры задайте СтатусВозврата(0), в случае успещного прохождения всех проверок выставляйте СтатусВозврата(1).
Ответ отправил: Gorus (статус: 4-ый класс)
Ответ отправлен: 12.03.2007, 09:50