Имя: Пароль:
1C
1С v8
Планы обмена, не тот номер сообщения
0 fleant
 
21.02.17
20:40
АААААА!!!! Спасайте!
Есть план обмена, при интерактивном вызове процедуры которая пишет/читает файл обмена -- всё хорошо.
Но когда эта же процедура вызывается из регламентного задания -- номер отправленного сообщения какой-то не тот.
Даже сделал запись в лог номера сообщения:

ЗаписьЖурналаРегистрации("Выполнение обмена",        УровеньЖурналаРегистрации.Информация, Метаданные.ПланыОбмена.Обмен, , "Номер исходящего сообщения  "+Строка(ЗаписьСообщения.НомерСообщения));

Пишет в лог строку: Номер исходящего сообщения  8 452

в файле:

  <v8msg:MessageNo>8194</v8msg:MessageNo>
  <v8msg:ReceivedNo>8430</v8msg:ReceivedNo>

в чём прикол? может кто-то сталкивался с подобным?
1 anatoly
 
21.02.17
20:42
а ты раньше сталкивался с обменами?

есть номер записанного сообщения, есть номер принятого сообщения - они вовсе не обязательно совпадают. даже почти всегда разные.

советую покурить ЖКК по планам обмена.
2 Hans
 
21.02.17
20:43
Файлы могут подтягиваться с разных мест. Т.е действительно разные файлы. Рег задание на сервере.
3 anatoly
 
21.02.17
20:45
или еще - если последовательно запускаешь обмен из источника - но при этом не принимаешь сообщения в приемнике - то нет ответа из него какое сообщение принято - и да, будет полный разброд в номерах сообщений.

алгоритм простой: отправил - принял.
если отправил 10 раз - принял 1 раз - будет бардак в номерах.
4 fleant
 
21.02.17
20:56
Смотрите, вот код:

Сообщение = Новый ЗаписьXML;
Сообщение.ОткрытьФайл(ИмяИсходящегоФайла);
    
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
ЗаписьСообщения.НачатьЗапись(Сообщение, Узел);
ЗаписьЖурналаРегистрации("Выполнение обмена",         УровеньЖурналаРегистрации.Информация, Метаданные.ПланыОбмена.Обмен, ,"Номер исходящего сообщения  "+Строка(ЗаписьСообщения.НомерСообщения));
ЗаписьСообщения.ЗакончитьЗапись();
Сообщение.Закрыть();

Если он вызывается из регламентного задания:
в лог пишется: Номер исходящего сообщения  8 452
в файл
<v8msg:MessageNo>8194</v8msg:MessageNo>

Причем: если этот же код вызвать кнопкой на форме -- всё в порядке, номера в логе и в файле совпадают.
Если смотреть сам узел плана обмена: номер сообщения 8452
5 fleant
 
21.02.17
21:57
В общем, загадка.
Решил удаление плана обмена и заведением такого же с такими же номерами сообщений.
Независимо от того, куда вы едете — это в гору и против ветра!