8.х Перехватить запись документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Asttoxa, 21 май 2014.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Уважаемые подскажите, есть ли возможность в управляемых формах перехватить запись документа и если не проходит условие, то отменить запись с выдачей ошибки. Но ВАЖНО, реализация должна быть удаленно примерно как в общих командах, т.е. чтобы ни в модуль ни в форму документа лезть.
    Спасибо, умнейшие.
  2. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.431
    Симпатии:
    372
    Баллы:
    104
    дык как минимум для документов есть
    ПриЗаписи() и ПередЗаписью()
    Код:
    ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
    ПриЗаписи (OnWrite)
    Синтаксис:
    
    ПриЗаписи(<Отказ>)
    Параметры:
    
    <Отказ>
    
    Тип: Булево. 
    Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись документа выполнена не будет.
    Значение по умолчанию: Ложь.
    Описание:
    
    Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи. 
    
    Код:
    ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
    ПередЗаписью (BeforeWrite)
    Синтаксис:
    
    ПередЗаписью(<Отказ>, <РежимЗаписи>, <РежимПроведения>)
    Параметры:
    
    <Отказ>
    
    Тип: Булево. 
    Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет и будет вызвано исключение.
    Значение по умолчанию: Ложь.
    <РежимЗаписи>
    
    Тип: РежимЗаписиДокумента. 
    В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи.
    <РежимПроведения>
    
    Тип: РежимПроведенияДокумента. 
    В данный параметр передается текущий режим проведения.
    Изменение значения параметра позволяет изменить режим проведения.
    Описание:
    
    Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа. 
    
    --- Объединение сообщений, 21 май 2014 ---
    ещё присутствуют (для документов в том числе)
    ПриЗаписиНаСервере()
    ПередЗаписьюНаСервере()

    и что за условие то?
    а то может через проверку заполнения?
  3. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Это я знаю.. Но в том то и дело, что хочется сделать так, чтобы не лезть ни в модуль ни в форму документа. А ПриЗаписи() и ПередЗаписью() они именно там и находятся!
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Тогда никак. Без кода тут не обойтись.
  5. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Понятно. Спасибо.
    --- Объединение сообщений, 21 май 2014 ---
    А что за проверка заполнения? Условие простое, есть ли запись в регистре, если нет то док не записываем и говорим об ошибке, если есть то отпускаем не задерживая.
  6. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    А подписки на события? Вам не нужно чтобы конфигурация обновлялась потом легко??? Тогда создайте свой общий модуль в котором пропишите необходимые проверки и подписку на событие (ПередЗаписью) и все, проблема решена. При обновлении эти новые объекты задеты не будут.
    Asttoxa нравится это.
  7. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    точно Thelearning нужно именно то что вы сказали. При обновлении чтоб не добавлять.
    Только у меня там всего 4 события:
    1)ОбработкаПолученияДанныхВыбора
    2) ОбработкаПолученияФормы
    3) ОбработкаПолученияПолейПредставления
    4) ОбработкаПолученияПредставления
    --- Объединение сообщений, 21 май 2014 ---
    Прошу прощения не ругайтесь! Все нашел! :)
    поставил не объект, а менеджер!
    Спасибо всем! Особенно лемингу! :)
    Последнее редактирование: 21 май 2014
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Да через подписку на событие все делается - правильно Вам Thelearning предложил.
Похожие темы
  1. lacrimax
    Ответов:
    7
    Просмотров:
    324
  2. st88
    Ответов:
    8
    Просмотров:
    765
Загрузка...

Поделиться этой страницей