(ВНИМАНИЕ: используем компоненту 1С++) //infostart.ru/public/158407/
Описание формата файлов обмена «Дистрибьютор-Поставщик»
Файл обмена «Дистрибьютор-Поставщик» представляет собой XML-документ, с иерархией составляющих его содержание структурных элементов, выделяемых тегами разметки.
Файл обмена существует в двух вариантах нотации – русской и англоязычной. Смешивания двух нотаций в одном файле обмена не допускается.
Документ XML начинается с пролога, который заключается между символами «». В прологе указываются обязательные атрибуты версии стандарта XML (в данном случае «1.0») и кодировки.
Признаются допустимыми и поддерживаются различные кодировки, в том числе «windows-1251», «utf-8», а также другие кодировки, основанные на стандарте ISO/IEC 8859. Важно, чтобы указанная кодировка совпадала с фактической кодировкой файла, иначе файл не будет считаться валидным.
Корневой элемент «ФайлОбмена» (или «ExchangeFile» в англоязычной нотации), то есть XML-элементом верхнего уровня, который содержит все остальные элементы. Для данного элемента атрибутами определяются тип, версия формата и дата/время создания. Тип и версия формата – предопределенные значения, изменения которых для данного вида файла не допускаются.
Корневой элемент может содержать один или несколько вложенных элементов «ОтчетДистрибьютора» (или «DistributorReport» в англоязычной нотации). Данный элемент содержит атрибуты, определяющие конкретный отчет дистрибьютора – код отправителя, код получателя, период отчета, валюта, в которой указаны цены и суммы в отчете.
Код получателя (в данном случае ОАО «Компания «Арнест») – «ka01001». Период отчета указывается в виде дат начала и окончания периода (без указания времени). Валюта определяется кодом, в соответствии с символьным кодом Общероссийским классификатором валют (Russian classification of currencies) Приложение 1.
Код отправителя – используемый в настоящее время код дистрибьютора, используемый ранее для настройки программы «СВД Клиент».
Каждый элемент, определяющий отчет дистрибьютора содержит следующие узлы:
- «Номенклатура» — содержит элементы, определяющие список номенклатуры, используемой в элементах «ДвиженияТоваров» и «Продажи»;
- «Контрагенты» — содержит элементы, определяющие список контрагентов, используемых в элементах «ТорговыеТочки»;
- «ТорговыеТочки» — содержит элементы, определяющие список торговых точек, используемых в элементах «Продажи»;
- «Склады» — содержит элементы, определяющие список складов, используемых в элементах «ДвиженияТоваров» и «Продажи»;
- «ДвиженияТоваров» — содержит элементы, отражающие движение товаров на складах в разрезах «склад/номенклатура» с указанием остатков и оборотов.
- «Продажи» — содержит элементы, отражающие реализацию товаров (а также возвратов товаров от покупателей) в разрезе складов, торговых точек и документов реализации (или возврата).
Порядок следования данных узлов не важен, но присутствие всех в отчете обязательно.
Номенклатура. Конкретная позиция номенклатуры определяется кодом и наименованием. Код номенклатуры должен быть уникальным для каждой позиции номенклатуры, так как он используется для поиска и сопоставления номенклатуры при загрузке данных отчета в информационную базу поставщика.
Контрагенты. Для каждого контрагента определяются реквизиты – код, наименование, юридический адрес, ИНН, КПП. Код должен быть уникальным для каждого контрагента, так как он используется для поиска и сопоставления при загрузке данных отчета в информационную базу поставщика.
Склады. Для каждого склада определяются реквизиты – код, наименование. Код должен быть уникальным, так как он используется для поиска и сопоставления при загрузке данных отчета в информационную базу поставщика.
Торговые точки. Для каждого контрагента определяются реквизиты – код, наименование, фактический адрес, контрагент, к которому привязана данная торговая точка (код контрагента). Код должен быть уникальным для каждой торговой точки, так как он используется для поиска и сопоставления при загрузке данных отчета в информационную базу поставщика.
Движения товаров. Определяется склад (код склада), номенклатура (код), начальный остаток, приход, расход и конечный остаток
Продажи. Определяется дата/время документа реализации, склад (код склада), номенклатура (код), торговая точка (код), количество товара, цена, сумма, а также номер первичного документа. Цена и сумма указываются в той валюте, которая определена для всего отчета дистрибьютора.
Возврат товаров от покупателя идентичен реализации, но с обратными знаками чисел в атрибутах «Количество» и «Сумма»:
Форматы
Формат атрибутов типа «Дата/время»: в представлении даты используется разделитель «точка» («.»). В представлении времени используется разделитель «двоеточие» («:»). Дата отделяется от времени пробелом. Шаблон формата, используемый для выгрузки на платформе «1С Предприятие» – «ДФ=дд.ММ.гггг чч:мм:сс» или «ДФ=dd.MM.yyyy hh:mm:ss».
Формат атрибутов типа «Число»: в представлении числа в качестве разделителя целой и десятичной части используется разделитель «точка» («.») или «запятая» («,»). Наличие разделителей групп целой части числа не допускается. Шаблон формата, используемый для выгрузки на платформе «1С Предприятие» – «ЧРД=.; ЧГ=0».
Формат строковых атрибутов: для формирования валидного XML-документа важно, чтобы в строковых атрибутах не допускались запрещенные для XML символы. Их требуется либо заменять специальными последовательностями, либо удалять.