Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Подписка на Событие После Записи Документа • Настройка журнала

Из-за ограничений внешнего соединения могут возникать ситуации, когда какие-либо действия, возможные в интерактивном режиме, становятся невозможны при работе через внешнее соединение.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Кроме открытых форм оповещение может быть обработано модулем приложения или общим глобальным модулем, если оповещение было подключено процедурой ПодключитьОбработчикОповещения. 1C Подписка на Событие После Записи Документа Обращайтесь в форму связи

1С порядок событий при проведении документа

При проведении документа выполняется множество предопределенных функций как в модуле формы, так и в модуле объекта. Часть из них выполняется в единой транзакции. В каждую из этих функций разработчик может добавить свой код.

Но чтобы правильно выбрать ту или иную функцию для своего кода, необходимо представлять в какой последовательности выполняются эти функции и где они выполняются — на клиенте или на сервере.

А теперь посмотрим в какой последовательности отработают все вышеперечисленные события. Для этого откроем документ и нажмем кнопку Провести, т.е. выполним проведение документа из его формы. В итоге в окне сообщений получим следующую последовательность событий:

  • МодульФормы.ПередЗаписью
  • МодульФормы.ОбработкаПроверкиЗаполненияНаСервере
  • МодульОбъекта.ОбработкаПроверкиЗаполнения
  • МодульФормы.ПередЗаписьюНаСервере
  • МодульОбъекта.ПередЗаписью
  • МодульОбъекта.ПриЗаписи
  • МодульОбъекта.ОбработкаПроведения
  • МодульФормы.ПриЗаписиНаСервере
  • МодульФормы.ПослеЗаписиНаСервере
  • МодульФормы.ПослеЗаписи

Для наглядности представим информацию в графическом виде:

Тем кто еще не сталкивался плотно с доработкой процедур участвующих в записи и проведении документа, советую самим поэкспериментировать с вышеперечисленными процедурами. Посмотреть какие из них выполняются при записи без проведения, при отмене проведения, во время программного проведения. Можно к примеру провести документ не из формы, а из списка документов.

(некоторые части теста скопированы и подкорректированы *12 ).

Для чего может пригодиться знание последовательности, в которой отрабатывают предопределенные процедуры модуля документа и модуля формы документа при Записи или Проведении или Отмены проведения.
Ответ прост – что бы правильно организовать обработку данных на разных этапах и режимах проведения документа.

Промокоды на Займер на скидки

Займы для физических лиц под низкий процент

  • 💲Сумма: от 2 000 до 30 000 рублей
  • 🕑Срок: от 7 до 30 дней
  • 👍Первый заём для новых клиентов — 0%, повторный — скидка 500 руб

Ниже список предопределенных процедур, которые можно заучить *06

ИНТЕРАКТИВНЫЕ ВЫЗОВЫ ЗАПИСИ / ПРОВЕДЕНИЯ / ОТМЕНЫ ПРОВЕДЕНИЯ

Форма. НаКлиенте. ПередЗаписью
Форма. НаСервере. ПередЗаписьюНаСервере
Модуль. ПередЗаписью
Модуль. ПриЗаписи
Форма. НаСервере. ПриЗаписиНаСервере
Форма. НаСервере. ПослеЗаписиНаСервере
Форма. НаКлиенте. ПослеЗаписи

ПРОВЕДЕНИЕ документа
Форма. НаКлиенте. ПередЗаписью
Форма. НаСервере. ОбработкаПроверкиЗаполненияНаСервере
Модуль. ОбработкаПроверкиЗаполнения
Форма. НаСервере. ПередЗаписьюНаСервере
Модуль. ПередЗаписью
Модуль. ПриЗаписи
Модуль. ОбработкаПроведения
Форма. НаСервере. ПриЗаписиНаСервере
Форма. НаСервере. ПослеЗаписиНаСервере
Форма . НаКлиенте. ПослеЗаписи

Форма. НаКлиенте. ПередЗаписью
Форма. НаСервере. ПередЗаписьюНаСервере
Модуль. ПередЗаписью
Модуль. ОбработкаУдаленияПроведения
Модуль. ПриЗаписи
Форма. НаСервере. ПриЗаписиНаСервере
Форма. НаСервере. ПослеЗаписиНаСервере
Форма. НаКлиенте. ПослеЗаписи

Обработчики событий 1С: Предприятие 8.3 | РеКС — друг в мире компьютеров

Заливкой выделены события, выполняющиеся в транзакции записи.

Расширение управляемой формы для документа. Возникает на клиенте перед выполнением записи объекта из формы. Процедура-обработчик данного события вызывается перед вызовом процедуры-обработчика события ПередЗаписью .

  • Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
  • ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения». Параметр РежимПроведения может отсутствовать, если режим проведения в документе не определен.

Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере .

Расширение управляемой формы для документа. Вызывается перед записью объекта на сервере. Можно отменить запись. Выполняется вне транзакции.

  • Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
  • ТекущийОбъект , тип ДокументОбъект.ИмяДокумента . Записываемый объект.
  • ПараметрыЗаписи , тип Структура . Структура, содержащая параметры записи. Для формы документа существует два предопределенных параметра — РежимЗаписи и РежимПроведения . Они добавляются автоматически при вызове команд «Провести», «Провести и закрыть», «Отмена проведения».

Возникает перед выполнением записи объекта. Процедура-обработчик вызывается после начала транзакции записи, но до начала записи документа.

  • Отказ , тип Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись выполнена не будет и будет вызвано исключение. Значение по умолчанию: Ложь .
  • РежимЗаписи , тип РежимЗаписиДокумента . В параметр передается текущий режим записи документа. Позволяет определить в теле процедуры режим записи. Изменение значения параметра позволяет изменить режим записи.
  • РежимПроведения , тип РежимПроведенияДокумента . В данный параметр передается текущий режим проведения. Изменение значения параметра позволяет изменить режим проведения.

Возникает при записи объекта. Процедура-обработчик вызывается после записи объекта в базу данных, но до окончания транзакции записи.

  • Отказ , тип Булево . Признак отказа от записи документа. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись документа выполнена не будет. Значение по умолчанию: Ложь .

Расширение управляемой формы для документа. Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.

Лучше для каждого варианта использования добавить свой метод, появится однозначность трактовки, как Dispatcher будет обрабатывать возвращаемые значения из слушателей.

1С:Эксперт по технологическим вопросам
Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Доводилось ли вам сталкиваться с проблемой, когда результаты работы одних подписок неправильно влияют на работу других подписок на одно и то же событие. 1С порядок событий при проведении документа – Обращайтесь в форму связи

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

«Квеста» является официальным партнером фирмы «1С», мы оказываем аудиторские, бухгалтерские, консалтинговые услуги и услуги автоматизации предприятий в комплексе. Это очень ценят наши заказчики: получение нескольких услуг из «одних рук» повышает качество, экономит время на согласование задач, бережет средства.

Универсальный отчет по подпискам на события для всех метаданных!
Если стоит задача разобраться, какие подписки на события срабатывают при записи документа, справочника, регистра, и т.д., понять очередность вызова в рамках одного события (например, перед записью), данный отчет вам в этом поможет!
Если вы работаете с подписками на события — качайте и пользуйтесь!

Документ проводится, хотя не должен? Элемент справочника заполняется не так, как вы ожидаете? Документы «тормозят» при проведении? Возможно, дело в подписках на события.

  1. Приходилось ли вам вручную перебирать подписки на события в поисках нужной?
  2. Приходилось ли вам заходить во множество подписок подряд, чтобы понять, есть ли нужный документ или справочник в источниках?
  3. Приходилось ли вам искать все подписки на одно и то же событие для одного и того же документа или справочника?
  4. Сталкивались ли вы с ситуацией, когда на одно событие существует большое число подписок(10,20,30. ), и трудно разобраться, в какой последовательности они должны срабатывать?
  5. Доводилось ли вам сталкиваться с проблемой, когда результаты работы одних подписок неправильно влияют на работу других подписок на одно и то же событие?

Если хотя бы на один из вопросов вы ответили «Да» — возможно, этот отчет может существенно облегчить вам работу с подписками на события.

Данный отчет является полезным вспомогательным инструментом разработчика. Отчет анализирует подписки на события и выводит их в читабельной форме.

В виде дерева выводится следующая информация о подписках:

Имя события (например, ПриЗаписи, ОбработкаПроведения, и др.)

Пользовательское представление подписки (например, Заполнить реквизиты объекта)

Имя подписки в конфигураторе (например, ЗаполнитьРеквизитыОбъекта)

Имя метода, который вызывает подписка (например, ОбщегоНазначенияУТ.ОбработкаЗаполнения)

Отчет работает на управляемых формах, на любых конфигурациях в режиме управляемого приложения.

В отчете имеется настройка выводимых метаданных (она отображается и скрывается при нажатии на текст Отбор метаданных ):

По кнопке «Обновить структуру» будет построено дерево подписок на события.

Как видно на примере типовой конфигурации УТ 11, отчет позволяет наглядно просмотреть структуру всех подписок на конкретное событие, учитывая очередность их срабатывания. Скачивайте, пользуйтесь, пишите ваши предложения и комментарии, буду рад сделать этот отчет еще удобнее и полезнее!

Альтернативный подход к подписке на события, или а так ли нужен EventObject / Хабр

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts