План обмена для одностороннего плана обмена с выгрузкой НЕ в XML #786687


#0 by Warlock
Создал план обмена. Планирую формировать сообщения в одностороннем порядке. Формат сообщения - не xml. По документации и примерам получился такой код: Для работы ЗаписьСообщения необходим ЗаписьXML, а мне совершенно не нужен xml. Может есть какие-то альтернативные методы для формирования сообщений обмена, о которых я не знаю?
#1 by aleks_default
Ну не используй ЗаписьСообщения, в чем проблема-то? тебе из этого нужно только ВыбратьИзменения
#2 by Cool_Profi
А зачем тебе все строки с XML?
#3 by Warlock
Мне нужны действия, которые выполняет НачатьЗапись: Вызывает начало записи сообщения обмена данными. При обращении к методу сообщению присваивается номер, определяемый как номер предыдущего отправленного сообщения увеличенный на 1, производится запись в XML заголовка сообщения, а также записывается начало элемента XML, соответствующего телу сообщения. При начале записи сообщения устанавливается блокировка на запись базы данных, соответствующую узлу плана обмена, чтобы предотвратить на время записи сообщения другие операции чтения и записи сообщений, относящихся к данному узлу, а также не допускать изменения данных узла. (увеличение номера сообщения и блокировка по узлу плана обмена)
#4 by DrShad
Свойства:
#5 by Warlock
ЗаписьСообщенияОбмена Параметры: <ЗаписьXML> (обязательный)!!!
#6 by DrShad
ну так не начинай ее - смоделируй те же действия но сам
#7 by DrShad
номер сообщения у тебя есть
#8 by Warlock
Вот это и вопрос темы - как? Инкрементировать номер сообщения - без проблем. Но блокировка? Тут уже проще отправить ЗаписьXML в /dev/null. Вот и вопрос - есть ли простой метод "смоделировать". Если нету, то просто проигнорирую ЗаписьXML
#9 by aleks_default
Вопрос как планируешь получать ответ? Когда считать что отправленное сообщение получено в базе приемнике?
#10 by aleks_default
Ответный файл будет тоже не XML?
#11 by aleks_default
Если это не волнует, то можно тупо удалять всю регистрацию в плане обмена и номер сообщения не нужен.
#12 by Warlock
Приемник просто ответит "я принял сообщение номер __" и я выполню УдалитьРегистрациюИзменений
#13 by Serg_1960
(имхо) А по мне, так проще доверить платформе сделать обмен в XML формате и постобработкой полученное сообщение обмена пересобрать в свой формат обмена. Не благодарное это дело - пытаться механизм платформы программно реализовать. Туфта получается :(
#14 by aleks_default
Хотя нет, номер сообщения все равно нужен, ведь операция обмена не мгновенная. За время выгрузки может что-то новое зарегистрироваться. Если блокировать узел на все время обмена, будут транзакции.
#15 by DrShad
если не секрет, в каком формате обмен будет?
#16 by Warlock
Обмен будет в формате XML :) Но это другой формат. Мне не нужны эти блоки v8msg: С тем же успехом это мог бы быть csv, txt, dbf...
#17 by DrShad
у меня нет таких блоков
#18 by Warlock
Вот тот минимум, что формирует ЗаписьСообщения:
#19 by DrShad
используй БСП-ную конвертацию объектов вот что она дает
#20 by Warlock
У меня просто уже есть готовая процедура формирования XML: ... Тут мы решили выгружать не за период, а по плану обмена. И выяснилось, что ЗаписьСообщения обязательно делает свою XML. Вот я и хотел спросить у общественности - может есть еще какие-то методы, где нету обязательного параметра ЗаписьXML
#21 by DrShad
ну так переобъяви переменную и пиши туда свой текст
#22 by Warlock
Спасибо за помощь PS Вопрос был в другом
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С