| 
    
            
         
         | 
    
  | 
Как убрать это сообщение "Редактирование данных этого периода запрещено." | ☑ | ||
|---|---|---|---|---|
| 
    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) я не могу писать в хотлайн... я не благлословлен Нуралиевым на такие деяния.
  
        Впиндюрить то я впиндюрю... но было бы здоров если кто-то из Благословленных написал ;)  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |