Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

При записи или обработка проведения?

При записи или обработка проведения?
Я
   andryscha1c
 
31.03.21 - 10:31
Есть потребность отправлять данные документов одного вида из одной базы в другую. Логично это делать тогда когда ссылка в базе данных сформируется, это значит в событии при записи и обработка проведения. Где правильней разместить HHTP запрос на отправку данных проводимого документа? Замечу что параметр режим записи есть только у события перед записью. Склоняюсь к обработке проведения, что бы гарантированно отправить только данные проводимого документа.
   Волшебник
 
1 - 31.03.21 - 10:32
Надо регистрировать в плане обмена, потом регламентным заданием отправлять изменения.
   andryscha1c
 
2 - 31.03.21 - 10:35
(1) плана обмена нет, просто произвольная отправка данных документов одного вида посредством hhtp запроса. ЕСть вариант разместить это в регламентные задания и там каждую минуту делать отправку.
   Волшебник
 
3 - 31.03.21 - 10:39
(2) создайте план обмена
   andryscha1c
 
4 - 31.03.21 - 10:42
(3) и обмениваться через xml файл?)
   Волшебник
 
5 - 31.03.21 - 10:43
(4) Обмениваться точно так же через HTTP-запрос.
План обмена нужен для регистрации изменений и быстрого выполнения рег.задания каждые N минут.
   acht
 
6 - 31.03.21 - 10:43
(0) > Склоняюсь к обработке проведения
Что ты будешь делать, если последующая подписка на событие отменит транзакцию, а ты уже радостно запихал данные в другую систему?
   acht
 
7 - 31.03.21 - 10:44
Или транзакция просто поломается сразу после отправки...
   fisher
 
8 - 31.03.21 - 10:50
(4) Планы обмена не имеют отношения к транспорту обмена. Это просто механизм регистрации изменений. А отправлять уже будешь в своем регламентном задании по http. В транзакции записи это делать плохо по двум основным причинам:
- сбои связи приведут к невозможности проводить документы
- возникает гемор с корректной фиксацией распределенной транзакции (ведь она может откатиться на любой стороне).
   DGorgoN
 
9 - 31.03.21 - 10:52
Да и вопрос тормоза при проведении тоже есть.
   andryscha1c
 
10 - 31.03.21 - 10:53
(8) документ создается программно и запись происходит через "попытку", что если после записи программной в удачной попытке отправить его?
   andryscha1c
 
11 - 31.03.21 - 10:54
попытка        
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
//тут отправитьего
исключение
конецпопытки
   fisher
 
12 - 31.03.21 - 10:56
(11) Это упрощает. Только не попытка нужна а транзакция. Чтобы при неудачной отправке можно было ее откатить. Но я бы все равно делал через план обмена и регламент. Это более гибкое и надежное решение.
   andryscha1c
 
13 - 31.03.21 - 10:59
(12) (3) да но с планом обмена придется скорее повозиться дольше =)
   fisher
 
14 - 31.03.21 - 10:59
Хотя, если это чисто утилитарная фигня, которая не помешает оперативной работе если станет колом, то можно и так.
   Волшебник
 
15 - 31.03.21 - 11:01
(13) Оно окупится.
   fisher
 
16 - 31.03.21 - 11:01
(13) Не. Там очень просто. Грубо говоря активированный план обмена просто пишет табличку изменений, а ты в регламенте ее обходишь, отправляешь и чистишь.
   fisher
 
17 - 31.03.21 - 11:04
Точнее не табличку изменений, а табличку измененных с прошлого сеанса обмена документов (ведь ты ее будешь зачищать при отправке изменений).
   andryscha1c
 
18 - 31.03.21 - 11:08
(15) (17) спасибо коллеги =)

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.