Имя: Пароль:
1C
1С v8
Работа с объектом БД
, ,
0 Gamer367
 
01.08.19
12:04
Добрый день!
Необходимо выгрузить в XML некий реквизит, которого нет в ДокументОбъект, но файле он должен быть привязан к документу. Есть ли способ программно его добавить для выгрузки? Просто обратил внимание, что локальные переменные модуля объекта так же доступны как отдельные реквизиты.
Платформа 8.2.19.130
За ранее спасибо!
1 mikecool
 
01.08.19
12:16
я не против
2 mikecool
 
01.08.19
12:17
хмл вообще пофик - есть у тебя реквизит или нет
3 Gamer367
 
01.08.19
12:22
(2) Да я тоже только за. Просто в xml я сразу пишу весь документобъект. Вопрос в том, могу ли я в сам документобъект воткнуть свой реквизит, или нужно обязательно каждый элемент этого объекта отдельно пройти и в процессе свои значения добавлять?
4 hhhh
 
01.08.19
12:31
(3) ну это же обычная строка, можешь туда вставить всё что хочешь.
5 mikecool
 
01.08.19
12:32
(3) как ты его пишешь? через Сериализатор или формируя текст тегами?
6 Garykom
 
гуру
01.08.19
12:38
(5) А прикинь не тегами а строками
7 Gamer367
 
01.08.19
12:53
(4) Строка получится на выходе уже. Выборкой получаю объекты, зарегистрированные на обмен. (5) Через сериализатор, но без XDTO. Средствами стандартного механизма обмена
В кратце:
ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения();
Хмл = Новый ЗаписьXML();
ЗаписьСообщения.НачатьЗапись(ХМЛ, Узел);
Выборка = ПланыОбмена.ВыбратьИзменения(Узел, НомерСообщения);
Пока Выборка.Следующий() Цикл
  Данные = Выборка.Получить();
  ЗаписатьXML(хмл, Данные);
КонецЦикла;
ЗаписьСообщения.ЗакончитьЗапись();
8 Gamer367
 
01.08.19
13:24
(7) В продолжение - мне нужно в объект "Данные" добавить свои значения. Вот отсюда и вопрос - реализуемо ли такое действие?
9 тарам пам пам
 
01.08.19
13:24
(7) (8) Здесь используется схема на основе текущей конфигурации - т. е. если в конфигурации у документа нет какого-то реквизита, то впихнуть его можно разве что костылем.

Например, записывая не прямо объект, а структуру, которая заполнена на основе объекта. Вот в эту структуру уже можно будет что угодно запихать. При чтении соответственно тоже будет получаться не ДокументОбъект, а структура, а объект придется создавать руками.
10 Gamer367
 
01.08.19
13:28
(9) Именно такой костыль мне и интересен. Спасибо!)
11 тарам пам пам
 
01.08.19
13:37
(10) Сейчас попробовал - я неверно написал, структура не сериализуется ничерта.
Тогда наверное можно просто сразу после объекта дописывать вручную недостающие свойства.
12 Gamer367
 
01.08.19
14:13
(11) Да, я тоже ощутил про структуру. Отдельно дописывать в файл как-то даже грустно. Попробую ещё что-нибудь. Если получится что-то накостылить - напишу, если нет - тоже напишу)