|
Как убрать это сообщение "Редактирование данных этого периода запрещено." | ☑ | ||
---|---|---|---|---|
0
mvgfirst
10.02.12
✎
01:32
|
Написал обработчик события "ПередЗаписью" для документа.
Подписался на одноименное событие в документа РеализацияТоваровУслуг. В процессе обработки события устанавливаю Отказ = Истина. В результате получаю сообщение "Редактирование данных этого периода запрещено. Изменения не могут быть записаны..." Предположительно возникает из-за того что мой обработчик этого события срабатывает раньше чем обработчик проверяющий дату запрета. В итоге принимая на вход "Отказ = Истина" тот обработчик считает что сработала проверка по дате запрета. Теперь вот вопрос - как это убрать?! Я знаю что влиять на порядок срабатывания обработчиков "практически невозможно" (тем более что фирма 1С этого и не рекомендует). Но и вводить пользователя в заблуждение я тоже не хочу! Помогите обойти этот "глюк" |
|||
1
Господин ПЖ
10.02.12
✎
02:01
|
>Я знаю что влиять на порядок срабатывания обработчиков "практически невозможно"
не обработчиков а подписок |
|||
2
mvgfirst
10.02.12
✎
02:49
|
(1) Убедил. Если я изменю текст своего вопроса - проблема в нем озвученная исчезнет сама собой?
|
|||
3
ZanderZ
10.02.12
✎
05:51
|
сделай свой обработчик "ПриЗаписи"
|
|||
4
Восточный Парень
10.02.12
✎
05:52
|
А если посмотреть что там на подписку повешано и привести в порядок процедуру?
|
|||
5
mvgfirst
10.02.12
✎
06:14
|
(3) А зачем? Как это решает проблему? Тем более в обработчике ПриЗаписи - запись уже происходит. Мне же этого не нужно. Мне нужно проверить (если документ проводят) и не проверять если просто записывают.
|
|||
6
Explorer1c
10.02.12
✎
06:18
|
(0)Сожги монитор
|
|||
7
mvgfirst
10.02.12
✎
06:19
|
(4) Это типовая конфигурация "УТП для Украины". Там таких "Обработчиков" 4 штуки не считая моего. И ни в одном из них нет анализа какое значение параметра приходит на вход обработчика. Т.е. если ранее какой-то из обработчиков уже сработал (как например мой) - все равно выполняется проверка, хоть смысла уже особо нет, и это понятно уже на входе в процедуру.
И кстати, одна из причин почему я написал обработчик используя механизм Подписок - это невмешательство в конфигурацию на поддержке. Или, скажем так, вмешательство с минимальными последствиями для будущих обновлений. Поэтому я считаю, что лезть и править чужой обработчик - это как минимум неэтично, а как максимум нарушает принципы инкапсуляции :))) Хотя если общественность не подскажет иного более безопасного способа видимо придется так и поступить |
|||
8
mvgfirst
10.02.12
✎
06:19
|
(6) Ты уже нашел друзей в Астане? Если нет... то с такими шуточками точно не найдешь ;)
|
|||
9
ZanderZ
10.02.12
✎
06:21
|
(5) в обработчике "ПриЗаписи" так же можно отказаться от записи.
и обработчики и подписки призаписи отрабатывают после передзаписью |
|||
10
mvgfirst
10.02.12
✎
06:22
|
(5) поправочка.... под фразой " Тем более в обработчике ПриЗаписи - запись уже происходит" имелось ввиду " Тем более обработчик ПриЗаписи срабатывает после записи... т.е. запись уже произведена"
|
|||
11
mvgfirst
10.02.12
✎
06:23
|
(9) Как в "ПриЗаписи" я буду различать "Проведение" от "Записи"?
|
|||
12
mvgfirst
10.02.12
✎
06:24
|
(9) Т.е. это как-то в Подписке "ПередЗаписью" в документе сохраняем флаг "Не сохранять"... а потом уже подпиской на "ПриЗаписи" выводим сообщение, и отказываемся от записи?
|
|||
13
mvgfirst
10.02.12
✎
06:26
|
Кстати до меня только что дошло, что я в своем то обработчике тоже не проверяю значение параметра Отказ перед выполнением проверок заполнения.
Полез исправляться. |
|||
14
shuhard
10.02.12
✎
08:03
|
(0) ключница УТП писала, в УПП всё О'К
Процедура ПередЗаписьюДокументаПроверкаДоступностиПериода(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Если Отказ ИЛИ Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; ПроверкаПериодаДокумента(Источник, Отказ, РежимЗаписи); #Если НЕ ВнешнееСоединение Тогда Если Отказ Тогда Сообщить("Редактирование данных этого периода запрещено. Изменения не могут быть записаны...", СтатусСообщения.Важное); КонецЕсли; #КонецЕсли КонецПроцедуры // ПередЗаписьюДокументовПроверкаДоступностиПериода |
|||
15
mvgfirst
10.02.12
✎
12:01
|
(14) И не говори, вот сиди и думай потом...
Реально в у меня в УТП 1.2.6.1 такого нет.... а ведь должно быть. |
|||
16
shuhard
10.02.12
✎
12:30
|
(15) а чё тут думать,
нужно впендюрить в типовую код, написать в хотлайн и не забыть при обновлении |
|||
17
mvgfirst
10.02.12
✎
13:02
|
(16) я не могу писать в хотлайн... я не благлословлен Нуралиевым на такие деяния.
Впиндюрить то я впиндюрю... но было бы здоров если кто-то из Благословленных написал ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |