如何从 XML 文件导入数据?我找不到任何使用 IMPORT XML 的示例。我不明白如何正确使用它。如果不同嵌套级别存在迭代,如何迭代对象?导入应该在什么结构中进行?
具体来说,我需要从 1c 以 EnterpriseData 格式导入发票
它看起来像这样:
标题
<?xml version="1.0"?>
<Message xmlns:msg="http://www.1c.ru/SSL/Exchange/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<msg:Header>
<msg:Format>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.3</msg:Format>
<msg:CreationDate>2024-12-12T09:38:51</msg:CreationDate>
<msg:AvailableVersion>1.3</msg:AvailableVersion>
</msg:Header>
<Body xmlns="http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.3">
然后是账单本身
<Документ.ЗаказКлиента>
<КлючевыеСвойства>
<Ссылка>98c212ed-c377-11e5-b9f7-88532ee9a795</Ссылка>
<Дата>2016-01-11T12:00:00</Дата>
<Номер>0000-000001</Номер>
<Организация>
<Ссылка>98c212d9-c377-11e5-b9f7-88532ee9a795</Ссылка>
<Наименование>***</Наименование>
<НаименованиеСокращенное>***</НаименованиеСокращенное>
<НаименованиеПолное>***</НаименованиеПолное>
<ИНН>***</ИНН>
<ЮридическоеФизическоеЛицо>ФизическоеЛицо</ЮридическоеФизическоеЛицо>
</Организация>
</КлючевыеСвойства>
<Ответственный>
<Ссылка>aa00559e-ad84-4494-88fd-f0826edc46f0</Ссылка>
<Наименование><Не указан></Наименование>
</Ответственный>
<Валюта>
<Ссылка>d85dd251-c377-11e5-b9f7-88532ee9a795</Ссылка>
<Код>643</Код>
<Наименование>руб.</Наименование>
</Валюта>
<Сумма>***</Сумма>
<Контрагент>
<Ссылка>98c212e9-c377-11e5-b9f7-88532ee9a795</Ссылка>
<Наименование>***</Наименование>
<НаименованиеПолное>***</НаименованиеПолное>
<ИНН>***</ИНН>
<КПП>***</КПП>
<ЮридическоеФизическоеЛицо>ЮридическоеЛицо</ЮридическоеФизическоеЛицо>
<СтранаРегистрации>
<Ссылка>a85e20f9-c377-11e5-b9f7-88532ee9a795</Ссылка>
<Код>643</Код>
<Наименование>РОССИЯ</Наименование>
</СтранаРегистрации>
</Контрагент>
<ДанныеВзаиморасчетов>
<КурсВзаиморасчетов>1</КурсВзаиморасчетов>
<КратностьВзаиморасчетов>1</КратностьВзаиморасчетов>
</ДанныеВзаиморасчетов>
<СуммаВключаетНДС>true</СуммаВключаетНДС>
<БанковскийСчетОрганизации>
<Ссылка>98c212dd-c377-11e5-b9f7-88532ee9a795</Ссылка>
<НомерСчета>***</НомерСчета>
<Банк>
<Ссылка>98c212dc-c377-11e5-b9f7-88532ee9a795</Ссылка>
<БИК>***</БИК>
<КоррСчет>***</КоррСчет>
<Наименование>***</Наименование>
</Банк>
<Владелец>
<ОрганизацииСсылка>
<Ссылка>98c212d9-c377-11e5-b9f7-88532ee9a795</Ссылка>
<Наименование>***</Наименование>
<НаименованиеСокращенное>***</НаименованиеСокращенное>
<НаименованиеПолное>***</НаименованиеПолное>
<ИНН>***</ИНН>
<ЮридическоеФизическоеЛицо>ФизическоеЛицо</ЮридическоеФизическоеЛицо>
</ОрганизацииСсылка>
</Владелец>
</БанковскийСчетОрганизации>
<Услуги>
<Строка>
<Номенклатура>
<Ссылка>98c212ec-c377-11e5-b9f7-88532ee9a795</Ссылка>
<НаименованиеПолное>***</НаименованиеПолное>
<КодВПрограмме>00-00000001</КодВПрограмме>
<Наименование>***</Наименование>
</Номенклатура>
<Количество>3</Количество>
<Сумма>***</Сумма>
<Цена>***</Цена>
<СтавкаНДС>БезНДС</СтавкаНДС>
<Содержание>***</Содержание>
</Строка>
</Услуги>
</Документ.ЗаказКлиента>
IDEA 插件有一个特殊的按钮,用于生成从输入 XML 文件导入的表单。它位于菜单项LSF/Generate form/From xml中。
接下来,您需要获取生成的代码并简单地运行IMPORT (
IMPORT <form> XML FROM file
) 语句。导入的数据将位于相应的本地属性中。可以根据需要更改这些属性的名称,而无需更改 EXTID。唯一的问题是,建议在 XML 中重复标签(可能有多个)。在本例中,这是组织的银行帐户(如果可能有多个)。这样,平台将能够确定哪里应该有表(OBJECTS INTEGER)以及哪里应该只有组(GROUP)。
您还可以使用生成的表单预览导入的数据。我使用提供的示例为解释器生成了代码。导入成功并在屏幕上显示结果。 :