Имя: Пароль:
1C
1С v8
Обработчик ПередНачаломИзменения вызывается сообщениемпользователю
0 camojiet
 
28.05.14
10:36
Не даю редактировать таблицу на форме если объект заблокирован:

&НаКлиенте
Процедура ТекущиеЗадачиПередНачаломИзменения(Элемент, Отказ)
    НеОбновлятьТекущиеЗадачи = Истина;
    Ответ = ЗаблокироватьЗаказ(Элемент.ТекущиеДанные.Заказ);
    Если Не ПустаяСтрока(Ответ) Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Ответ,,"ТекущиеЗадачи["+ТекущиеЗадачи.Индекс(Элементы.ТекущиеЗадачи.ТекущиеДанные)+"]."+Прав(Элемент.ТекущийЭлемент.Имя,  СтрДлина(Элемент.ТекущийЭлемент.Имя)-13));
        Отказ = Истина;    
    КонецЕсли;
КонецПроцедуры

И получаю замкнутый цикл, так как оказывается что СообщениеПользователю, адресованное этому полю вызывает этот же обработчик, а в обработчике ПриНачалеРедактирования нельзя Отказать.

Можно конечно не адресовывать полю, но это не вообще не комильфо. Блин первый раз, когда эта адресация полю супер полезна. И такая мина.