Имя: Пароль:
1C
 
Вопрос по 1с:Шина?
0 1сПупс
 
13.03.26
10:33
Коллеги, доброго утра!
Приобрели данный продукт, разбираюсь. Делаю обмен между двумя базами на 1с. Базы тестовые, Блокировка регламентных заданий включена.

Из базы Источника передаю сообщение в шину, оно должно висеть в Канале пока я не выполню код (ниже), правильно?

СервисыИнтеграции.ВыполнитьОбработку();


У меня почему-то сразу когда я выгружаю сообщение из базы Источника оно попадает в Базу-Приемник без выполнения указанного выше кода, это баг?
1 d4rkmesa
 
13.03.26
08:47
(0) По идее, из канала (IntegChannelOutQueue*) сообщение этим кодом забирается.
Может это фича в платформе, чтобы какое-нибудь предопределенное рег. задание само дергало каналы, если есть Шина. Если разберетесь, напишите, пож.
2 Ненавижу 1С
 
гуру
13.03.26
09:00
(0) не понял...
так "висит в Канале" или "попадает в Базу-Приемник"?
3 1сПупс
 
13.03.26
09:09
(2) перефразировал вопрос,

Из базы Источника передаю сообщение в шину, оно должно висеть в Канале пока я не выполню код, правильно?
4 Redkiy
 
13.03.26
10:43
Нет, не правильно.
Сообщение  забирает сервис интеграции через фоновое задание которое постоянно слушает шину.
5 Fish
 
гуру
13.03.26
10:45
(4) Даже если регламентные задания заблокированы?
6 Redkiy
 
13.03.26
10:47
Заблокируй сервис интеграции в приемнике.
Сообщение останется в шине.
7 Redkiy
 
13.03.26
11:05
(5) В типовых запуск фонового задания сервиса интеграции реализован через регламентные задания. В принципе должно блокировать.
Что в консоле сервера?
8 1сПупс
 
13.03.26
12:00
(6) Как это сделать? регламентного по забору из шины - нет. Когда в приемнике надо забрать запускаю внешнюю обработку с кодом (СервисыИнтеграции.ВыполнитьОбработку();)
(7) да, в консоли сервера.
9 arsik
 
гуру
13.03.26
12:33
(8) А что в журнале регистраций?
10 Redkiy
 
13.03.26
13:53
(8) программно
<ТвойСервисИнтеграции>.УстановитьАктивность(Ложь)
11 Fish
 
гуру
13.03.26
12:38
(7) Ну у нас не типовая, но запуск  задания сервиса интеграции сделан тоже через регзадание. А есть какие-то иные варианты?
12 1сПупс
 
13.03.26
13:10
подозреваю что на уровне платформы когда выполняешь код

СервисыИнтеграции.ВыполнитьОбработку();


1с сама 2 минуты обращается к Шине и забирает всё что есть.


https://1cmycloud.com/console/help/esb/4.0/docs/topics/doc00798.html

(Для метода Формирование сообщений шины — каждый день; каждые 120 секунд;)

upd: да, затестил, так работает.
13 d4rkmesa
 
13.03.26
13:20
(12) Т.е. не нужно создавать рег. задание с СервисыИнтеграции.ВыполнитьОбработку(); ?