Утилита tn2xml: различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
(Пример XML-файла, созданного программой:)
 
(не показано 9 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
=== ТНВЭД в XML-формате ===
 
=== ТНВЭД в XML-формате ===
Программа '''tn2xml07.exe''' (версия tn2xml.exe - устаревшая) переводит файл ТНВЭД из бинарного и не документированного '''REF\tn2.tnf''' в общедоступный XML-формат. Также может работать с английским вариантом '''REF\tn2eng.tnf'''. Используется рядом крупных фирм (DHL, iRU, IKEA) для интеграции в собственные корпоративные информационные системы. Утилита платная.
+
Программы Альта-ГТД и Такса используют для работы со справочником ТНВЭД собственный бинарный формат (файл tn2.tnf). Для сторонних разработчиков существует возможность получения актуальной версии ТНВЭД в XML-формате, на разовой или на регулярной основе. Доступны русская и английская версии. Услуга платная, обращайтесь в отдел техподдержки.
  
 
=== Пример XML-файла, созданного программой: ===
 
=== Пример XML-файла, созданного программой: ===
Строка 19: Строка 19:
 
     <Next>25</Next>
 
     <Next>25</Next>
 
     <Level>4</Level>
 
     <Level>4</Level>
     <Code>0101210000</Code>
+
     <Сode>0101210000</Сode>
 
     <CodeEx>01 01 210000</CodeEx>
 
     <CodeEx>01 01 210000</CodeEx>
 
     <Date1>2012-01-01</Date1>
 
     <Date1>2012-01-01</Date1>
Строка 28: Строка 28:
 
   </tnved>
 
   </tnved>
 
   ...
 
   ...
 +
 +
[[file:st_imp_sample.zip]]
 +
 +
[[file:tnved.zip]]
 +
 
=== Описание тэгов ===
 
=== Описание тэгов ===
 
;dataroot:корневой тэг, начало и конец всего документа.
 
;dataroot:корневой тэг, начало и конец всего документа.
Строка 33: Строка 38:
 
;ID:порядковый номер записи, служит для связывания отдельных элементов в деревянную структуру.
 
;ID:порядковый номер записи, служит для связывания отдельных элементов в деревянную структуру.
 
;Child:для промежуточных уровней классификации - ID первого из вложенных кодов, для окончательных 10-значных кодов = 0
 
;Child:для промежуточных уровней классификации - ID первого из вложенных кодов, для окончательных 10-значных кодов = 0
;Next:ID следующего по порядку элемента того же уровня, для последнего в списке = 0
+
;Next:ID следующего по порядку элемента того же уровня, для последнего = 0
;Level:Уровень вложенности элемента в дереве: 1 для разделов, 2 для групп и т.д. Наибольший на данный момент уровень = 11
+
;Level:Уровень вложенности элемента в дереве: 0 для разделов, 1 для групп и т.д. Наибольший на данный момент уровень = 11
;Сode:Код ТНВЭД, число от 2 до 10 знаков, может содержать ведущие 0. Для самого верхнего уровня (разделов), а также для некоторых промежуточных подразделов 3 уровня обозначенных римскими цифрами - не заполняется. Для всех остальных коды строго отсортированы по возрастанию.
+
;Сode:Код ТНВЭД, число от 2 до 10 знаков, может содержать ведущие 0. Для самого верхнего уровня (разделов), а также для некоторых промежуточных подразделов обозначенных римскими цифрами - не заполняется. Для всех остальных коды строго отсортированы по возрастанию.
 
;CodeEx:Код ТНВЭД отформатированный для красивого отображения. Первые 2 и 4 знака отделены пробелами, для промежуточных кодов добавлено '...', для первого уровня (разделов) указывается интервал вложенных групп через черточку.
 
;CodeEx:Код ТНВЭД отформатированный для красивого отображения. Первые 2 и 4 знака отделены пробелами, для промежуточных кодов добавлено '...', для первого уровня (разделов) указывается интервал вложенных групп через черточку.
 
;Date1:Дата начала действия кода. Указывается не для всех, а только для кодов добавленных или измененных после выхода действующего "импортного тарифа ТС".
 
;Date1:Дата начала действия кода. Указывается не для всех, а только для кодов добавленных или измененных после выхода действующего "импортного тарифа ТС".
 
;Date2:Дата окончания действия кода. Указывается не для всех, а только для кодов исключенных или измененных после выхода действующего "импортного тарифа ТС".
 
;Date2:Дата окончания действия кода. Указывается не для всех, а только для кодов исключенных или измененных после выхода действующего "импортного тарифа ТС".
 
;Text:Название раздела (группы, позиции). Обязательное поле, заполнен для всех элементов. В точности совпадает с текстом "импортного тарифа ТС". В случае с английским ТНВЭД - является его дословным переводом. В отличие от печатного варианта не содержит ведущих черточек "- - -". Их число можно посчитать как <Level>-2.  
 
;Text:Название раздела (группы, позиции). Обязательное поле, заполнен для всех элементов. В точности совпадает с текстом "импортного тарифа ТС". В случае с английским ТНВЭД - является его дословным переводом. В отличие от печатного варианта не содержит ведущих черточек "- - -". Их число можно посчитать как <Level>-2.  
;TextEx:Только для полных 10-значных кодов. Полное описание для вставки в гр.31 ДТ, собрано из названий всех более высоких уровней классификации. Не является юридически значимым, так как составлено специалистами Альты. Часто содержит слово "ПРОЧИЕ". Длина ограничена 255 знаками, поэтому может содержать сокращения. Всегда заполняется заглавными буквами (требование инструкции по заполнению ДТ). В английской версии ТНВЭД полное описание на данный момент отсутствует.
+
;TextEx:Только для полных 10-значных кодов. Полное описание для вставки в гр.31 ДТ, собрано из названий всех более высоких уровней классификации. Не является юридически значимым, так как составлено специалистами Альты. Часто содержит слово "ПРОЧИЕ". Длина ограничена 255 знаками, поэтому могут использоваться сокращения. Всегда заполняется заглавными буквами (требование инструкции по заполнению ДТ). В английской версии ТНВЭД полное описание на данный момент отсутствует.
 +
;DatePrev:Дата предыдущей редакции наименования. Заполняется если описание кода недавно изменилось без смены самого кода.
 +
;TextPrev:Название раздела (предыдущая редакция). Только если заполнено DatePrev.
 
;Unit:Только для полных 10-значных кодов. Наименование дополнительной единицы измерения согласно импортному тарифу. Если заполнено - требуется обязательно указать количество в этих единицах в гр.41 ДТ. Оно может использоваться при расчете импортной пошлины со специфической ставкой.
 
;Unit:Только для полных 10-значных кодов. Наименование дополнительной единицы измерения согласно импортному тарифу. Если заполнено - требуется обязательно указать количество в этих единицах в гр.41 ДТ. Оно может использоваться при расчете импортной пошлины со специфической ставкой.
 
;UnitCode:Только для полных 10-значных кодов. Трехзначный цифровой код ДЕИ, если заполнен - обязательно указывается в гр.41 ДТ.
 
;UnitCode:Только для полных 10-значных кодов. Трехзначный цифровой код ДЕИ, если заполнен - обязательно указывается в гр.41 ДТ.
=== Параметры командной строки ===
+
 
;/C:Влияет на количество незначащих "0" на конце у промежуточных кодов. Без этого параметра они могут отличаться от того, как написано в "импортном тарифе ТС". При транзите часто указываются неполные коды, и таможенная программа требует их ровно с определенным числом "00" на конце. Для ДТ не важно, там код всегда полный, 10-значный.
+
=== Дополнительные настройки ===
 +
;/C:Влияет на количество незначащих "0" на конце у промежуточных кодов. Без этого параметра они могут отличаться от того, как написано в "импортном тарифе ТС". При транзите часто указываются неполные коды, и таможенная программа требует их ровно с определенным числом "00" на конце. Более того, некоторые позиции в импортном тарифе указаны совсем без кода, а мы его проставляем по порядку для удобства поиска. С параметром /C поле <Сode> в этом случае останется не заполненным. Для ДТ всё это не важно, там всегда указывается полный, 10-значный код.
 
;/D:Не заполнять поля <Date1> и <Date2>. В этом случае в файл попадают только действующие коды на текущую дату. То есть или вообще без дат, или коды у которых дата <Date1> меньше сегодняшней, а <Date2> больше сегодняшней.
 
;/D:Не заполнять поля <Date1> и <Date2>. В этом случае в файл попадают только действующие коды на текущую дату. То есть или вообще без дат, или коды у которых дата <Date1> меньше сегодняшней, а <Date2> больше сегодняшней.
;/I:Выгружать только окончательные 10-значные коды ТНВЭД. Дерево в этом случае построить нельзя, только сплошной список.
+
;/I:Выгружать только окончательные 10-значные коды ТНВЭД. Дерево в этом случае построить нельзя, только сплошной список. Созданный таким образом XML можно отличить по наличию атрибута <dataroot list="1">
 
;/N:Не заполнять расширенное описание <TextEx>
 
;/N:Не заполнять расширенное описание <TextEx>
;/S:устарел.
+
 
 +
[[Категория:Автоматизация]]

Текущая версия на 10:53, 16 мая 2019

ТНВЭД в XML-формате

Программы Альта-ГТД и Такса используют для работы со справочником ТНВЭД собственный бинарный формат (файл tn2.tnf). Для сторонних разработчиков существует возможность получения актуальной версии ТНВЭД в XML-формате, на разовой или на регулярной основе. Доступны русская и английская версии. Услуга платная, обращайтесь в отдел техподдержки.

Пример XML-файла, созданного программой:

 <?xml version="1.0" encoding="windows-1251"?>
 <dataroot>
 <tnved>
   <ID>0</ID>
   <Child>21</Child>
   <Next>1</Next>
   <Level>0</Level>
   <CodeEx>01 - 05</CodeEx>
   <Text>I. Живые животные; продукты животного происхождения (Группы 01-05)</Text>
 </tnved>
 ...
 <tnved>
   <ID>24</ID>
   <Child>0</Child>
   <Next>25</Next>
   <Level>4</Level>
   <Сode>0101210000</Сode>
   <CodeEx>01 01 210000</CodeEx>
   <Date1>2012-01-01</Date1>
   <Text>чистопородные племенные животные</Text>
   <TextEx>ЧИСТОПОРОДНЫЕ ПЛЕМЕННЫЕ ЛОШАДИ ЖИВЫЕ</TextEx>
   <Unit>ШТ</Unit>
   <UnitCode>796</UnitCode>
 </tnved>
 ...

Файл:St imp sample.zip

Файл:Tnved.zip

Описание тэгов

dataroot
корневой тэг, начало и конец всего документа.
tnved
запись об отдельном коде, содержит как окончательные, так и промежуточные узлы дерева ТНВЭД (разделы, группы, подгруппы и т.д.).
ID
порядковый номер записи, служит для связывания отдельных элементов в деревянную структуру.
Child
для промежуточных уровней классификации - ID первого из вложенных кодов, для окончательных 10-значных кодов = 0
Next
ID следующего по порядку элемента того же уровня, для последнего = 0
Level
Уровень вложенности элемента в дереве: 0 для разделов, 1 для групп и т.д. Наибольший на данный момент уровень = 11
Сode
Код ТНВЭД, число от 2 до 10 знаков, может содержать ведущие 0. Для самого верхнего уровня (разделов), а также для некоторых промежуточных подразделов обозначенных римскими цифрами - не заполняется. Для всех остальных коды строго отсортированы по возрастанию.
CodeEx
Код ТНВЭД отформатированный для красивого отображения. Первые 2 и 4 знака отделены пробелами, для промежуточных кодов добавлено '...', для первого уровня (разделов) указывается интервал вложенных групп через черточку.
Date1
Дата начала действия кода. Указывается не для всех, а только для кодов добавленных или измененных после выхода действующего "импортного тарифа ТС".
Date2
Дата окончания действия кода. Указывается не для всех, а только для кодов исключенных или измененных после выхода действующего "импортного тарифа ТС".
Text
Название раздела (группы, позиции). Обязательное поле, заполнен для всех элементов. В точности совпадает с текстом "импортного тарифа ТС". В случае с английским ТНВЭД - является его дословным переводом. В отличие от печатного варианта не содержит ведущих черточек "- - -". Их число можно посчитать как <Level>-2.
TextEx
Только для полных 10-значных кодов. Полное описание для вставки в гр.31 ДТ, собрано из названий всех более высоких уровней классификации. Не является юридически значимым, так как составлено специалистами Альты. Часто содержит слово "ПРОЧИЕ". Длина ограничена 255 знаками, поэтому могут использоваться сокращения. Всегда заполняется заглавными буквами (требование инструкции по заполнению ДТ). В английской версии ТНВЭД полное описание на данный момент отсутствует.
DatePrev
Дата предыдущей редакции наименования. Заполняется если описание кода недавно изменилось без смены самого кода.
TextPrev
Название раздела (предыдущая редакция). Только если заполнено DatePrev.
Unit
Только для полных 10-значных кодов. Наименование дополнительной единицы измерения согласно импортному тарифу. Если заполнено - требуется обязательно указать количество в этих единицах в гр.41 ДТ. Оно может использоваться при расчете импортной пошлины со специфической ставкой.
UnitCode
Только для полных 10-значных кодов. Трехзначный цифровой код ДЕИ, если заполнен - обязательно указывается в гр.41 ДТ.

Дополнительные настройки

/C
Влияет на количество незначащих "0" на конце у промежуточных кодов. Без этого параметра они могут отличаться от того, как написано в "импортном тарифе ТС". При транзите часто указываются неполные коды, и таможенная программа требует их ровно с определенным числом "00" на конце. Более того, некоторые позиции в импортном тарифе указаны совсем без кода, а мы его проставляем по порядку для удобства поиска. С параметром /C поле <Сode> в этом случае останется не заполненным. Для ДТ всё это не важно, там всегда указывается полный, 10-значный код.
/D
Не заполнять поля <Date1> и <Date2>. В этом случае в файл попадают только действующие коды на текущую дату. То есть или вообще без дат, или коды у которых дата <Date1> меньше сегодняшней, а <Date2> больше сегодняшней.
/I
Выгружать только окончательные 10-значные коды ТНВЭД. Дерево в этом случае построить нельзя, только сплошной список. Созданный таким образом XML можно отличить по наличию атрибута <dataroot list="1">
/N
Не заполнять расширенное описание <TextEx>