Вход | Регистрация
 
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) спасибо коллеги =)

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