Выбрать метаданные

  • Автор темы Автор темы nikh848
  • Дата начала Дата начала
N

nikh848

Привет всем!
Подскажите, пожалуйста, как можно извлечь данные из 1с 7.7 и 8.1:

Справочник1
____Реквизит1____Свойства
____Реквизит2____Свойства
Справочник2
____Реквизит1____Свойства
____Реквизит2____Свойства
.....
Документ1
____Реквизит1____Свойства
____Реквизит2____Свойства
Документ2
____Реквизит1____Свойства
____Реквизит2____Свойства
.....
 
// для 7.7
//RefList -список, содержащий все справочники конфигурации
//AttrList -список, содержащий все реквизиты выбранного справочника
for i = 1 to MetaData.Reference() do
RefKind = MetaData.Reference(i).Identifier;
RefList.AddValue(MetaData.Reference(i).Present());
enddo;
//N - выбранный справочник
for i = 1 to MetaData.Reference(N).Attribute() do
Ref = MetaData.Reference(N).Attribute(i);
AttrList.AddValue(MetaData.Reference(N).Attribute(i).Identifier);
enddo;

//DocList -список, содержащий все документы конфигурации
//DocAttrList -список, содержащий все реквизиты выбранного документа
//DocIndex- выбранный документ
for i = 1 to MetaData.Document() do
Doc = MetaData.Document(i);
DocList.AddValue(Doc.Identifier);
enddo;

//Заполнение списка общих реквизитов документа
for N = 1 to MetaData.CommonDocAttribute() do
DocAttrList.AddValue(N+1,MetaData.CommonDocAttribute(N).Identifier);
enddo;
CommonAttrN = MetaData.CommonDocAttribute();
//Заполнение списка реквизитов шапки документа
for i = 1 to MetaData.Document(DocIndex).HeadAttribute() do
DocAttrList.AddValue(i+CommonAttrN,MetaData.Document(DocIndex).HeadAttribute(i).
Identifier);
enddo;
AttrN = MetaData.HeadAttribute();
//Заполнение списка реквизитов таблицы документа
for i = 1 to MetaData.Document(DocIndex).TableAttribute() do
DocAttrList.AddValue(i+CommonAttrN+AttrN,MetaData.Document(DocIndex).TableAttrib
ute(i).Identifier);
enddo;
//Ну и свойства реквизитов можно вытащить по аналогии
 
большое спасибо!

// для 7.7
//RefList -список, содержащий все справочники конфигурации
//AttrList -список, содержащий все реквизиты выбранного справочника
for i = 1 to MetaData.Reference() do
RefKind = MetaData.Reference(i).Identifier;
RefList.AddValue(MetaData.Reference(i).Present());
enddo;
//N - выбранный справочник
for i = 1 to MetaData.Reference(N).Attribute() do
Ref = MetaData.Reference(N).Attribute(i);
AttrList.AddValue(MetaData.Reference(N).Attribute(i).Identifier);
enddo;

//DocList -список, содержащий все документы конфигурации
//DocAttrList -список, содержащий все реквизиты выбранного документа
//DocIndex- выбранный документ
for i = 1 to MetaData.Document() do
Doc = MetaData.Document(i);
DocList.AddValue(Doc.Identifier);
enddo;

//Заполнение списка общих реквизитов документа
for N = 1 to MetaData.CommonDocAttribute() do
DocAttrList.AddValue(N+1,MetaData.CommonDocAttribute(N).Identifier);
enddo;
CommonAttrN = MetaData.CommonDocAttribute();
//Заполнение списка реквизитов шапки документа
for i = 1 to MetaData.Document(DocIndex).HeadAttribute() do
DocAttrList.AddValue(i+CommonAttrN,MetaData.Document(DocIndex).HeadAttribute(i).
Identifier);
enddo;
AttrN = MetaData.HeadAttribute();
//Заполнение списка реквизитов таблицы документа
for i = 1 to MetaData.Document(DocIndex).TableAttribute() do
DocAttrList.AddValue(i+CommonAttrN+AttrN,MetaData.Document(DocIndex).TableAttrib
ute(i).Identifier);
enddo;
//Ну и свойства реквизитов можно вытащить по аналогии
 
Есть СП по метаданным, в т.ч. выкладывался на этом форуме.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab