Как убрать это сообщение "Редактирование данных этого периода запрещено." #594997


#0 by mvgfirst
Написал обработчик события "ПередЗаписью" для документа. Подписался на одноименное событие в документа РеализацияТоваровУслуг. В процессе обработки события устанавливаю Отказ = Истина. В результате получаю сообщение "Редактирование данных этого периода запрещено. Изменения не могут быть записаны..." Предположительно возникает из-за того что мой обработчик этого события срабатывает раньше чем обработчик проверяющий дату запрета. В итоге принимая на вход "Отказ = Истина" тот обработчик считает что сработала проверка по дате запрета. Теперь вот вопрос - как это убрать?! Я знаю что влиять на порядок срабатывания обработчиков "практически невозможно" (тем более что фирма 1С этого и не рекомендует). Но и вводить пользователя в заблуждение я тоже не хочу! Помогите обойти этот "глюк"
#1 by Господин ПЖ
>Я знаю что влиять на порядок срабатывания обработчиков "практически невозможно" не обработчиков а подписок
#2 by mvgfirst
Убедил. Если я изменю текст своего вопроса - проблема в нем озвученная исчезнет сама собой?
#3 by ZanderZ
сделай свой обработчик "ПриЗаписи"
#4 by ВосточныйПарень
А если посмотреть что там на подписку повешано и привести в порядок процедуру?
#5 by mvgfirst
А зачем? Как это решает проблему? Тем более в обработчике ПриЗаписи - запись уже происходит. Мне же этого не нужно. Мне нужно проверить (если документ проводят) и не проверять если просто записывают.
#6 by Explorer1c
Сожги монитор
#7 by mvgfirst
Это типовая конфигурация "УТП для Украины". Там таких "Обработчиков" 4 штуки не считая моего. И ни в одном из них нет анализа какое значение параметра приходит на вход обработчика. Т.е. если ранее какой-то из обработчиков уже сработал (как например мой) - все равно выполняется проверка, хоть смысла уже особо нет, и это понятно уже на входе в процедуру. И кстати, одна из причин почему я написал обработчик используя механизм Подписок - это невмешательство в конфигурацию на поддержке. Или, скажем так, вмешательство с минимальными последствиями для будущих обновлений. Поэтому я считаю, что лезть и править чужой обработчик - это как минимум неэтично, а как максимум нарушает принципы инкапсуляции :))) Хотя если общественность не подскажет иного более безопасного способа видимо придется так и поступить
#8 by mvgfirst
Ты уже нашел друзей в Астане? Если нет... то с такими шуточками точно не найдешь ;)
#9 by ZanderZ
в обработчике "ПриЗаписи" так же можно отказаться от записи. и обработчики и подписки призаписи отрабатывают после передзаписью
#10 by mvgfirst
поправочка.... под фразой " Тем более в обработчике ПриЗаписи - запись уже происходит" имелось ввиду " Тем более обработчик ПриЗаписи срабатывает после записи... т.е. запись уже произведена"
#11 by mvgfirst
Как в "ПриЗаписи" я буду различать "Проведение" от "Записи"?
#12 by mvgfirst
Т.е. это как-то в Подписке "ПередЗаписью" в документе сохраняем флаг "Не сохранять"... а потом уже подпиской на "ПриЗаписи" выводим сообщение, и отказываемся от записи?
#13 by mvgfirst
Кстати до меня только что дошло, что я в своем то обработчике тоже не проверяю значение параметра Отказ перед выполнением проверок заполнения. Полез исправляться.
#14 by shuhard
ключница УТП писала, в УПП всё О'К
#15 by mvgfirst
И не говори, вот сиди и думай потом... Реально в у меня в УТП 1.2.6.1 такого нет.... а ведь должно быть.
#16 by shuhard
а чё тут думать, нужно впендюрить в типовую код, написать в хотлайн и не забыть при обновлении
#17 by mvgfirst
я не могу писать в хотлайн... я не благлословлен Нуралиевым на такие деяния. Впиндюрить то я впиндюрю... но было бы здоров если кто-то из Благословленных написал ;)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С