АААААА!!!! Спасайте!
Есть план обмена, при интерактивном вызове процедуры которая пишет/читает файл обмена -- всё хорошо.
Но когда эта же процедура вызывается из регламентного задания -- номер отправленного сообщения какой-то не тот.
Даже сделал запись в лог номера сообщения:
ЗаписьЖурналаРегистрации("Выполнение обмена", УровеньЖурналаРегистрации.Информация, Метаданные.ПланыОбмена.Обмен, , "Номер исходящего сообщения "+Строка(ЗаписьСообщения.НомерСообщения));
Пишет в лог строку: Номер исходящего сообщения 8 452
или еще - если последовательно запускаешь обмен из источника - но при этом не принимаешь сообщения в приемнике - то нет ответа из него какое сообщение принято - и да, будет полный разброд в номерах сообщений.
алгоритм простой: отправил - принял.
если отправил 10 раз - принял 1 раз - будет бардак в номерах.
Если он вызывается из регламентного задания:
в лог пишется: Номер исходящего сообщения 8 452
в файл
<v8msg:MessageNo>8194</v8msg:MessageNo>
Причем: если этот же код вызвать кнопкой на форме -- всё в порядке, номера в логе и в файле совпадают.
Если смотреть сам узел плана обмена: номер сообщения 8452
В общем, загадка.
Решил удаление плана обмена и заведением такого же с такими же номерами сообщений.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс