Подписка на событие после обмена

1. Tym1980 15.10.18 10:05 Сейчас в теме
Существует две базы (центральная и мобильное приложение)
После обмена в центральной базе когда создается новый документ, на него не срабатывет подписка на событие "ОбработкаПроведения"
В чем может быть проблема?

P.S. мне нужно чтобы после обмена выполнялась выгрузка нового документа в XML
Регламентное задание не предлагать.
+
По теме из базы знаний
Найденные решения
15. maks_20 164 15.10.18 14:52 Сейчас в теме
(13) уверены, что документ именно проводится обменом и у документа есть движения, а не просто прилетает с флагом Проведен? в качестве костыльного варианта можно завести узел, на который регистрировать документы и регламентным заданием потом этот узел обрабатывать (отложенное проведение реализовать)
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 9 15.10.18 11:46 Сейчас в теме
(1) Первая мысль, где-то стоит

Если ОбменДанными.Загрузка = Истина Тогда
Возврат
КонецЕсли
+
3. Tym1980 15.10.18 12:00 Сейчас в теме
(2)
что именно имеется ввиду?
и где?
+
4. Boneman 298 15.10.18 12:08 Сейчас в теме
(3) обычно во время обменов, у объектов устанавливается признак ОбменДанными=Истина.
А в модулях, в подписках или например проверках заполнения, у объектов, лепят проверку на установку этого признака, дабы приезжало только то, и так как в самом обмене напилено и ничего лишнего.
+
6. dandykry 9 15.10.18 12:30 Сейчас в теме
(3) В модуле объекта или в подписке.

Вообще по-хорошему описали бы как обмен происходит. На вскидку можно придумать 3-4 варианта
1) план обмена - выгрузка через XML
2) Web-сервис
3) Файл в дроп-боксе (встречал, когда база и мобильное приложение обменивались файлами через дропбокс)
4) COM в различных вариациях
+
7. Tym1980 15.10.18 12:43 Сейчас в теме
(2)
Если ОбменДанными.Загрузка = Истина Тогда Возврат КонецЕсли


Добавил в подписку. Увы выгрузка так и не проходит.

Обмен происходит через Web-сервис
В базе создается и проводится документ. Но подписка на него так и не срабатывает. Если же вручную провести документ из центральной базы подписка срабатывает.
P.S. база самописная. Файл выгружается в локальную папку
+
8. dandykry 9 15.10.18 12:45 Сейчас в теме
(7) Добавлять ничего не нужно было. Нужно было проверить - есть такой код или нет.

Про веб сервис это вы во время))) А в модуле, где процедура подписки, стоит галка Внешнее соединение?
+
9. Tym1980 15.10.18 13:02 Сейчас в теме
(8)
галка "внешнее соеденение" не стояла, но увы не помогло
+
10. dandykry 9 15.10.18 13:12 Сейчас в теме
(9) ну гадать можно много. Посмотрите, нет ли в этом модуле конструкции
#Еcли Сервер Тогда

Если нет. ставьте точку остановки в модуле объекта и смотрите режим записи документа = Проведение

Можно попробовать явно вызвать из обработки проведения процедуру подписки. т.е в ОбработкаПроведения вызовете МойОбщийМодуль.ПриПроведении(ЭтотОбъект, РежимЗаписи, режимПроведения) Посмотрите на что ругается
+
11. Tym1980 15.10.18 13:34 Сейчас в теме
(10)
Предпроцесов нету

Не могу разобратся, как принудительно запустить подписку на событие?
+
12. dandykry 9 15.10.18 13:44 Сейчас в теме
(11)

В модуле объекта

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	
//Бла бла бла, код

МойОбщийМодульВКоторомУМеняРазмещенаПроцедураПодпискиНаСобыт­иеДляЭтогоДокумента.ИмяПроцедурыПодпискиНаСобытие(ЭтотОбъект, Отказ, РежимПроведения);

КонецПроцедуры

Показать
+
13. Tym1980 15.10.18 14:19 Сейчас в теме
(12)
При обмене у меня оказывается не срабатывает в модуле объекта процедура ОбработкаПроведения

Какие еще варианты?
+
15. maks_20 164 15.10.18 14:52 Сейчас в теме
(13) уверены, что документ именно проводится обменом и у документа есть движения, а не просто прилетает с флагом Проведен? в качестве костыльного варианта можно завести узел, на который регистрировать документы и регламентным заданием потом этот узел обрабатывать (отложенное проведение реализовать)
+
17. Tym1980 15.10.18 15:57 Сейчас в теме
(15)
Оказывается действительно документы не проводились, а лиш была пометка "проведен"
Изменил подписку на "При записи" и все зароботало

А насчет проведения буду разбиратся, сейчас это мне не критично;
+
16. dandykry 9 15.10.18 15:42 Сейчас в теме
(13) Значит останавливайтесь в ПередЗаписью и смотрите РежимЗаписи = проведение. Кажется у вас не проводится документ а просто записывается
+
5. maks_20 164 15.10.18 12:23 Сейчас в теме
Если базы типовые, смотрите обработчики событий ПриЗаписи, ПриПроведении. Скорее всего как писали выше, у вас срабатывает проверка на флаг ОбменДанными.Загрузка.
+
14. Tym1980 15.10.18 14:27 Сейчас в теме
(5)
Базы самописные, даная проверка отсутствует
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот