|
работа с метаданными | ☑ | ||
---|---|---|---|---|
0
Black Dragon
27.08.13
✎
16:56
|
Доброго дня!
есть такой код: Для Каждого ТабЧасть Из МетаДок.ТабличныеЧасти Цикл Запись.ЗаписатьНачалоЭлемента("ТабличнаяЧасть"); Запись.ЗаписатьАтрибут("Имя",Строка(ТабЧасть.Имя)); Для Каждого Реквизит Из ТабЧасть.Реквизиты Цикл Запись.ЗаписатьНачалоЭлемента("Реквизит"); Запись.ЗаписатьАтрибут("Имя",Строка(Реквизит.Имя)); Запись.ЗаписатьАтрибут("Тип",Строка(Реквизит.Тип)); Запись.ЗаписатьАтрибут("Значение",Строка(ТабЧасть[Реквизит.Имя])); КонецЦикла; Запись.ЗаписатьКонецЭлемента(); КонецЦикла; как получить в атрибуте "Значение" само значение реквизита таб части? |
|||
1
Maxus43
27.08.13
✎
16:57
|
не проще сериализовать и записать в xml весь док сразу?
|
|||
2
Михаил Козлов
27.08.13
✎
17:00
|
Что-то не понял, насчет значения реквизита: откуда Вы собираетесь его получать? Цикл по реквизитам, а не по строкам ТЧ.
(1)+ |
|||
3
Black Dragon
27.08.13
✎
17:02
|
точно! Семен Семеныч! чего-то туплю)
|
|||
4
Black Dragon
27.08.13
✎
17:09
|
Премного благодарен!
|
|||
5
Black Dragon
28.08.13
✎
10:42
|
Однако есть ньюансы! получаю xml с выгрузкой доков
<Документы> <DocumentObject.ЗарплатаКВыплатеОрганизаций> <Ref>1d52d517-b4a5-11e2-82b2-001e6712e121</Ref> <DeletionMark>false</DeletionMark> <Date>2013-05-04T14:57:01</Date> <Number>ЦФС00000049</Number> <Posted>true</Posted> <Организация>2f268184-3f74-11e2-9ac4-001e6712e121</Организация> <ПериодРегистрации>2013-04-01T00:00:00</ПериодРегистрации> <СпособВыплаты>ЧерезКассу</СпособВыплаты> <Ответственный>1140641b-3ed0-11e2-9ac4-001e6712e121</Ответственный> <Комментарий/> <ДнейНеВыплаты>0</ДнейНеВыплаты> <КраткийСоставДокумента>Бурдович Е.В., Ванюшенков О.Ю., Гарипова Е.С., Селицкий А.А.</КраткийСоставДокумента> <ХарактерВыплаты>Зарплата</ХарактерВыплаты> <ПодразделениеОрганизации>00000000-0000-0000-0000-000000000000</ПодразделениеОрганизации> <ДокументОснование xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/> <ДатаНачала>0001-01-01T00:00:00</ДатаНачала> <ДатаОкончания>0001-01-01T00:00:00</ДатаОкончания> <Банк>00000000-0000-0000-0000-000000000000</Банк> <ПроцентВыплаты>100</ПроцентВыплаты> <ПредварительныйУчетУдержаний>false</ПредварительныйУчетУдержаний> <Округление/> <СуммаДокумента>18727.15</СуммаДокумента> <ДанныеПрошлойВерсии>false</ДанныеПрошлойВерсии> <Зарплата> <Row> <Физлицо>ad58d764-3d38-11e2-9ac4-001e6712e121</Физлицо> <Сумма>5999.4</Сумма> <ВыплаченностьЗарплаты>Выплачено</ВыплаченностьЗарплаты> <КомпенсацияЗаЗадержкуЗарплаты>0</КомпенсацияЗаЗадержкуЗарплаты> <Авторасчет>true</Авторасчет> <Начислено>5999.4</Начислено> <Удержано>0</Удержано> </Row> <Row> <Физлицо>147f20a8-b0c4-11e2-82b2-001e6712e121</Физлицо> <Сумма>726.95</Сумма> <ВыплаченностьЗарплаты>Выплачено</ВыплаченностьЗарплаты> <КомпенсацияЗаЗадержкуЗарплаты>0</КомпенсацияЗаЗадержкуЗарплаты> <Авторасчет>true</Авторасчет> <Начислено>726.95</Начислено> <Удержано>0</Удержано> </Row> <Row> <Физлицо>d2a43e45-8a0d-11e2-9d99-001e6712e121</Физлицо> <Сумма>6000.4</Сумма> <ВыплаченностьЗарплаты>Выплачено</ВыплаченностьЗарплаты> <КомпенсацияЗаЗадержкуЗарплаты>0</КомпенсацияЗаЗадержкуЗарплаты> <Авторасчет>true</Авторасчет> <Начислено>6000.4</Начислено> <Удержано>0</Удержано> </Row> <Row> <Физлицо>b58c45d1-70eb-11e2-82d8-001e6712e121</Физлицо> <Сумма>6000.4</Сумма> <ВыплаченностьЗарплаты>Выплачено</ВыплаченностьЗарплаты> <КомпенсацияЗаЗадержкуЗарплаты>0</КомпенсацияЗаЗадержкуЗарплаты> <Авторасчет>true</Авторасчет> <Начислено>6000.4</Начислено> <Удержано>0</Удержано> </Row> </Зарплата> </DocumentObject.ЗарплатаКВыплатеОрганизаций> но ведь здесь нет ни типов данных реквизитов ни их наименований как в конфигураторе) суть в том, что нужна полная картина взаимосвязей между объектами |
|||
6
Black Dragon
28.08.13
✎
10:52
|
хотел сделать универсальный механизм - по реквизитам и так все понятно, однако по табличной части есть вопросы - если у дока несколько таб частей, имена которых нам заранее не известны - тогда как? по метаданным могу получить список таб частей, как затем сделать перебор строк таб частей?
|
|||
7
Rie
28.08.13
✎
10:55
|
(6) Циклом по таб. части.
|
|||
8
Rie
28.08.13
✎
10:56
|
+(7) Только почему "строк" - реквизитов (если метаданных)?
Или имеется в виду - получить таб. часть объекта и её строки перебрать? Для каждого СтрокаТЧ из Док[ИмяТабЧасти] Цикл |
|||
9
Maxus43
28.08.13
✎
11:01
|
типы и т.д. у xml в xmlschema указывается
|
|||
10
Black Dragon
28.08.13
✎
11:23
|
я предполагаю такую систему:
<Документ "Имя"=... "Номер"=.... "Дата"=...> <Реквизиты> <Реквизит "Имя"=... "Тип"=... "Значение"=...> ..... </Реквизиты> <ТабличныеЧасти> <ТабличнаяЧасть "Имя"=...> <СтрокаТЧ "НомерСтроки"=...> <РевизитТЧ "Имя"=... "Тип"=... "Значение"=...> ... </СтрокаТЧ> </ТабличнаяЧасть> .... </ТабличныеЧасти> </Документ> как-то так |
|||
11
Serginio1
28.08.13
✎
11:35
|
Или создать свою схему по метаданным
v8: XSD схема программно с нуля. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |