Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 апр 2024, 01:45

Обработчик подписки на событие "при записи", как избежать ложных срабатываний?

Автор nataliya_vl, 07 авг 2016, 07:57

0 Пользователей и 1 гость просматривают эту тему.

nataliya_vl

Цель: при добавлении документа создавать такой же в стороннем приложении. 
Реализация: подписка "перед записью" с меткой "новый" (чтобы избегать дублирования при редактировании); подписка "при записи" с операцией добавления записи в стороннем приложении.
Проблема: При создании документа через интерфейс, при каждой попытке сохранения ( даже неудачной, например, при незаполненных реквизитах) обработчик "при записи" отрабатывает на добавление.
Я думаю,что у документа есть стандартные обработчики, которые ,при неудачной проверке заполнения, откатывают транзакцию ( а моя транзакция во внешнем приложении уже не откатывается).  Но как грамотно  выйти из этой ситуации?  Cтандартные обработчики изменять не хотелось бы.

Luzer1C

Может всё же в обработчик "ПередЗаписью" добавить запись сторонним приложением, а не "при записи"?
Если Не Отказ Тогда
// Запись документа сторонним приложением
КонецЕсли;
Халамбалам.

cska-fanat-kz

Может все таки отделить эту операцию по созданию доков в сторонней базе?
Повесить ее на регламентное задание и тогда будете тупо проверять на "Проведен = ИСТИНА" и не париться...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

nataliya_vl

Цитата: Luzer1C от 08 авг 2016, 03:59
Может всё же в обработчик "ПередЗаписью" добавить запись сторонним приложением, а не "при записи"?
Если Не Отказ Тогда
// Запись документа сторонним приложением
КонецЕсли;

Могут быть стандартные обработчики "при записи", становится важным порядок их отработки. Я боюсь, что я запишу документ в стороннем приложении, а потом отработает стандартный обработчик и откатит транзакцию в 1с.
Добавлено: 08 авг 2016, 08:35


Цитата: cska-fanat-kz от 08 авг 2016, 07:30
Может все таки отделить эту операцию по созданию доков в сторонней базе?
Повесить ее на регламентное задание и тогда будете тупо проверять на "Проведен = ИСТИНА" и не париться...
Это был  первый вариант реализации. Когда все в реальном времени выглядит поинтереснее :)

vitasw

Цитата: nataliya_vl от 08 авг 2016, 08:33Могут быть стандартные обработчики "при записи", становится важным порядок их отработки.
Вы не можете регулировать порядок срабатывания подписок на событие. Они сами как-то выстраиваются по времени.

Цитата: nataliya_vl от 08 авг 2016, 08:33Я боюсь, что я запишу документ в стороннем приложении, а потом отработает стандартный обработчик и откатит транзакцию в 1с.

поэтому нужно организовать свой обработчик так, чтоб он не влиял на другие, равно как и не зависел он действий прочих обработчиков.

cska-fanat-kz

Цитата: nataliya_vl от 08 авг 2016, 08:33Это был  первый вариант реализации. Когда все в реальном времени выглядит поинтереснее

вот и надо на нем остановиться, как на самом надежном.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск