Имя: Пароль:
1C
1С v8
Перестал работать Отказ в подписке на события
0 AlexSTAL
 
22.07.11
16:24
УПП 1.3.14.1, снята с поддержки и чуть-чуть изменена в плане Общих модулей. Типовой код:
Процедура ПередЗаписьюДокументаОтражениеВРеглУчетеПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
   
   ЗапретитьЗапись = НЕ ПроверитьВозможностьОтраженияВРеглУчете(Источник, РежимЗаписи);
   
   Отказ = Отказ ИЛИ ЗапретитьЗапись;
   
   #Если Клиент Тогда
       Если ЗапретитьЗапись Тогда
           ТекстСообщения = "Недостаточно прав для отражения в регламентированном учете. Изменения не могут быть записаны...";
           Заголовок = "Запись документа: " + Строка(Источник);
           ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения, , Заголовок, СтатусСообщения.Важное, Источник.Ссылка);
       КонецЕсли;
   #КонецЕсли
   
КонецПроцедуры
устанавливает Отказ в истину, но запись и проведени документа продолжается и системное окно о невозможности проведения не вылезает.
Установил типовую демо-версию, все теже условия - после Отказа как и положено прекращение дальнейшего выполнения и системное сообщение...
Куда копать?
1 simol
 
22.07.11
16:25
Там, откуда вызвал ПередЗаписьюДокументаОтражениеВРеглУчетеПередЗаписью Отказ не обрабатывается или перезатирается на Ложь
2 simol
 
22.07.11
16:26
(1)Тупанул
3 simol
 
22.07.11
16:27
ИМХО F7 или очистить кеш
4 AlexSTAL
 
22.07.11
16:28
(3) кеш чего? В копии такая же история...
5 simol
 
22.07.11
16:32
Может в первом Отказ = Отказ ИЛИ ЗапретитьЗапись; Буква латинская?
6 AlexSTAL
 
22.07.11
16:33
(5) Да код скопировал на всякий случай из оригинала...
и в ручную писал Отказ = Истина в конце...
7 73
 
22.07.11
16:38
(0) А СообщитьОбОшибке что-то сообщает?
8 AlexSTAL
 
22.07.11
16:41
(7) Да
9 kosts
 
22.07.11
16:41
А точно процедура ПередЗаписьюДокументаОтражениеВРеглУчетеПередЗаписью вызывается. И после нее Отказ чему равен?
10 AlexSTAL
 
22.07.11
16:47
(9) Точно! Отладчик в ней останавливается. После неё Отказ = Истина. И в проблемной конфе и в нулевоё-демо....
11 simol
 
22.07.11
16:54
А в основной процедуре ПередЗаписью случаем нет Отказ = Ложь? Основной то обработчик потом тоже выполняется
12 AlexSTAL
 
22.07.11
16:58
(11) Он изначально выполняется, а затем подписка... При любом отказе должно прерываться выполнение (в установленной демо всё прерывается...)
13 AlexSTAL
 
22.07.11
17:00
Есть мысль накатить на демо-конфу доработанную и посмотреть... но это только в понедельник... убегаю...
14 y22-k
 
22.07.11
17:12
(0) может демоническое обновление?
15 AlexSTAL
 
22.07.11
18:11
(14) я так понимаю - это всё на уровне платформы...
16 73
 
22.07.11
18:16
Новых подписок на это же событие не добавлял?
17 AlexSTAL
 
22.07.11
18:24
(73) Кстати вариант (не я правил конфу)... посмотрю в понедельник...
18 AlexSTAL
 
25.07.11
08:38
(73) Гранд-мерси! Добавили ещё одну подписку и в ней перезатирали значение "Отказ".
P.S. Хотя с логической точки зрения 1С могла бы проверять значение "Отказ" и после выполения каждого модуля... тогда при первом отказе не выполнялся бы код дальше...
Закон Брукера: Даже маленькая практика стоит большой теории.