|
Как расковырять реквизиты документа в ХранилищеЗапросов
| ☑ |
0
ampfer11
19.01.16
✎
14:38
|
Всем доброго дня,
Столкнулся с такой проблемой: Номера документов урезали, поэтому все правые части у них отрезались,а левые оставшиеся одни нули.
Чтобы их восстановить необходимо расковырять поле ВерсияОбъекта ВерсииДокументов из РС ВерсииОбъектов. Это поле с типом ХранилищеЗначений. Моэжно получить доступ к этому полю метод
Получить() и записать в файл методом Записать(). А Вот как добраться до реквизитов (мне нужен номер документа) не нашел.
Пробовал найти в отчете "История изменения Объектов" Похоже что как то через XML можно добраться. Может решал подобную задачку ?
|
|
1
shuhard
19.01.16
✎
14:43
|
(0) дык в результате Получить() и сидит твой документ
|
|
2
ampfer11
19.01.16
✎
15:59
|
Это понятно что там сидит двоичный файл.
Допустим запросом получил выборку
Пока Выборка.Следующий() Цикл
Док = Выборка.ВерсияОбъекта.Получить();
// получили ссылку на этот самый двоичный файл
КонецЦикла;
А как мне обратиться к реквизиту документа (Номер)
Док.Номер ??
|
|
3
runoff_runoff
19.01.16
✎
16:23
|
сначала надо в отладчике посмотреть.. какой тип у переменной Док
|
|
4
tznimble
19.01.16
✎
16:29
|
(2) В полученном XML-документе прочитать значение узла <Номер>
|
|
5
tznimble
19.01.16
✎
16:34
|
(2) Ну или того лучше.
В БСП в модуле ВерсионированиеОбъектов есть функция ОбъектИзДвоичныхДанных(ДвоичныеДанные)
Где двоичные данные - это как раз то, что будет в переменной Док.
Функция вернёт готовый объект (но не сохранённый в базе).
|
|
6
ampfer11
19.01.16
✎
17:04
|
(5) При отладке я уже понял что Док имеет тип Двоичный файл.Эта функция как раз то что мне надо. Только вот где взять этот самый БСП. И насчет варианта с XML. Как его получить из Дока. Спасибо
|
|