|
|
Описание XML-схемы обмена коммерческой информациейВведение Данный документ описывает XML-схему обмена коммерческой информацией (версия 1.0) между торговыми системами. Эта XML-схема разработана совместно фирмами "1С" и Extra.RU при методологической поддержке специалистов представительства Microsoft в Москве. Схема не претендует на законченный стандарт, планируется ее дальнейшее развитие и совершенствование. Предусматривается использование данной схемы, в частности, для обмена:
Формирование коммерческих предложений по каталогу Предложение практически совпадает с одной строкой "обычного" прайс-листа. Предлагается такой-то товар по такой-то цене, имеющийся в наличии в таком-то количестве. Например, сахарный песок по цене 100 рублей за мешок, на складе имеется 125 мешков. Предложения группируются в Пакет предложений, в котором задается общая часть всех предложений (аналог "шапки" прайс-листа).Для того чтобы получатели предложений могли понять, какой товар предлагается, последний должен быть описан. Описание товара и его классификация "складываются" в Каталог. Каталог может быть "внутренним", т.е. вложенным в тот же документ, что и пакет предложений, и составленным непосредственно автором пакета предложений. Он также может быть "внешним" – составленным одной из известных фирм. В этом случае в пакете предложений оговаривается, на какой каталог (классификатор) он ориентирован. Для однозначного определения товара в последнем случае достаточно ссылки (идентификатора товара во внешнем каталоге), т.е. в тот же документ, что и пакет предложений, каталог товаров можно вообще не включать. Таким образом, каталог товаров можно рассматривать как некий классификатор. Следовательно, в каталоге должен быть оговорен список Свойств (по каким критериям производится классификация). Устойчивые сочетания свойств удобно фиксировать в Наборы свойств (например, "свойства видеомагнитофона", "свойства телевизора"). Для указания, какие свойства (или наборы свойств) доступны (могут быть определены, обязательно должны быть указаны) для всего каталога, для его группы или для отдельного товара, используются Ссылки на свойства (Ссылки на наборы Свойств). Каталог (классификатор) обычно создается многоуровневым (т.е. имеющим разветвленное дерево категорий (Групп), к которым можно отнести товар). Иногда однозначная классификация может вызвать затруднения, поэтому для удобства разрешается включать товары сразу в несколько категорий. Но при этом одна из них должна быть выбрана в качестве "основной". Например, радио-будильник можно отнести как к категории "Радиоприемники", так и к категории "Будильники", но в первую очередь, радио-будильник является радиоприемником. При разработке классификаторов принято для каждой позиции указывать Аналоги (например, для лекарства это – другие лекарства аналогичного действия, для запчастей – запчасти, которые можно поставить вместо данной). Указание, какими собственно свойствами из заданных в каталоге может обладать товар (или группа), достигается с помощью Ссылки на свойство (при этом еще можно задать обязательность заполнения данного свойства). Аналогичный тип элемента создан и для набора (Ссылка на набор свойств). Для хранения значений свойств, в том числе и дополнительной, не предусмотренной классификатором информации, служит специальный тип элемента ЗначениеСвойства. В итоге, для опубликования своего прайс-листа (составления своего пакета предложений) надо сделать следующее:
В задачу, решаемую с помощью данной схемы, не входит обмен произвольными документами. Также не входят задачи поддержки распределенной базы данных. Схема описывает документы, сопровождающие наиболее распространенные торговые (хозяйственные) операции:
Причем для предприятий (фирм) – отправителя и получателя XML-документа – указанные хозяйственные операции представляются разными документами. Например "Отпуск товара" для отправителя сопровождается оформлением "расходной накладной" ("накладной на отпуск товара"), а для получателя – оформлением "приходной накладной". Программа автоматизации учета может, исходя из вида хозяйственной операции и роли, которая указана для данного предприятия, "понять", является ли "собственное предприятие" (от лица которого автоматизируется учет в программе) получателем данного документа. Роли предусмотрены следующие:
Например, если в обрабатываемом XML-документе, описывающем "Отпуск товара" роль "собственного предприятия" обозначена как "Покупатель", то это означает, что XML-документ описывает расходную накладную поставщика, и ее следует импортировать в учетную систему как "накладную на поступление товара". Обозначения:
По умолчанию – все атрибуты и элементы являются не обязательными и имеют тип "строка", если специально не оговорено другое. КоммерческаяИнформация (CommerceInfo) Описание: Корневой элемент XML-документа, описывающего каталог (каталоги) товаров, список (списки) предложений. Содержит один или несколько каталогов товаров, включая список возможных свойств товаров в каталоге, один или несколько пакетов предложений. Атрибуты:
Содержит: Каталог (0-*), ПакетПредложений (0-*), Контрагент (0-*), Документ (0-*), Банк (0-*), Склад (0-*). Описание: Каталог товаров служит для "классификации" товаров. Может составляться разными предприятиями (например, классификация товаров "по 1С"). Определяется уникальным идентификатором каталога (для этой цели предлагается использовать GUID), чтобы можно было различать каталоги, составленные разными организациями. Содержит единицу измерения товаров в каталоге по умолчанию (Рекомендуется при задании единиц измерения придерживаться ОКЕИ), список самих товаров и их групп (категорий), список возможных свойств и наборов свойств товаров данного каталога, а также списки ссылок на наборы свойств и свойства, задающие присущие для всех товаров каталога свойства. Атрибуты:
Содержит: Группа (0-*), Товар (0-*), Свойство (0-*), НаборСвойств (0-*), СсылкаНаНаборСвойств (0-*), СсылкаНаСвойство (0-*). Контрагент (Company)Описание: Под контрагентом понимается "участник процесса". Т.е. отправитель и (или) получатель каталогов, предложений товаров, документов. Это может быть торговое предприятие, фирма, частное лицо. Содержит списки расчетных (банковских) счетов, складов, контактов, и значения дополнительных свойств. Атрибуты:
Содержит: РасчетныйСчет (0-*), Контакт (0-*), ДополнительныйРеквизит (0-*). РасчетныйСчет (BankAccount)Описание: Расчетный счет описывает банковский счет контрагента в объеме, необходимом для оформления (и передачи) документов. Атрибуты:
Содержит: ДополнительныйРеквизит (0-*). Банк (Bank)Описание: Содержит информацию о банке в объеме, необходимом для оформления (и передачи) документов. Атрибуты:
Содержит: ДополнительныйРеквизит (0-*). Склад (Storage)Описание: Содержит информацию о складе в объеме, необходимом для оформления (и передачи) документов. Атрибуты:
Содержит: Контакт (0-*), ДополнительныйРеквизит (0-*). Контакт (Contact)Описание: Контакт предназначен для ответа на вопросы: "Где найти?" и "Кого спросить?". Содержит список ФИО контактных лиц (например, список сотрудников отдела продаж), список телефонов, факсов, адресов электронной почты контакта, ICQ. Атрибуты:
Содержит: КонтактноеЛицо (0-*), Телефон (0-*), Факс (0-*), Почта (0-*), ICQ (0-*). КонтактноеЛицо (ContactMan)Описание: ФИО контактного лица. Представляет собой текстовую строку. Телефон (Telephone)Описание: Телефон контакта. Представляет собой текстовую строку. Факс (Fax)Описание: Факс контакта. Представляет собой текстовую строку. Почта (E-mail)Описание: Адрес электронной почты контакта. Представляет собой текстовую строку. ICQ (ICQ)Описание: Адрес в ICQ контакта. Представляет собой текстовую строку. ДополнительныйРеквизит (AdditionalFeature)Описание: Предназначен для задания дополнительных реквизитов элементов (документов и справочников). Атрибуты:
Содержит: – НаборСвойств (Profile)Описание: Определяет набор (устойчивых сочетаний) свойств в данном каталоге. Содержит ссылки на наборы свойств и свойства, с указанием, какие из них являются обязательными. Атрибуты:
Содержит: СсылкаНаСвойство (1-*), СсылкаНаНаборСвойств (0-*). СсылкаНаНаборСвойств (ProfileReference)Описание: Определяет наличие и обязательность задания того или иного набора свойств. Атрибуты:
Содержит: – Свойство (Property)Описание: Определяет одно из свойств, которым может в принципе обладать товар в данном каталоге, в том числе значение по умолчанию. Содержит списки возможных значений перечислений (для задания типов “enumeration”). Атрибуты:
Содержит: ВариантСвойства (0-*). СсылкаНаСвойство (PropertyReference)Описание: Определяет обязательность задания того или иного свойства. Атрибуты:
Содержит: – ВариантСвойства (PropertyVariant)Описание: Служит для задания значений перечислений. Атрибуты:
Содержит: – Товар (Product)Описание: Товар в каталоге характеризуется списком наборов свойств, которыми он может обладать (это определяется через задание ссылок на свойства и наборы свойств), базовой единицей измерения (в которой измеряются остальные единицы измерения, например, в пачке 10 штук). Товар может относиться к нескольким категориям (группам), но одна из групп выделяется и называется базовой. Товар может иметь аналоги (например, аналоги для лекарств и запчастей). При определении того, какими же свойствами может обладать товар в каталоге (и какие из них являются обязательными для указания) учитываются, кроме свойств самого товара, свойства всех его родителей вплоть до каталога. Содержит "базовую" единицу измерения товара, относительно которой рассчитываются все остальные единицы (шт, ящ, кг), список для задания дополнительных значений свойств, список аналогов, список ссылок на свойства и наборы свойств, список групп, в которые входит данный товар. Атрибуты:
Содержит: ЗначениеСвойства (0-*), Аналог (0-*), СсылкаНаНаборСвойств (0-*), СсылкаНаСвойство (0-*), СсылкаНаГруппу (0-*). Группа (Category)Описание: Группа (категория) обладает (характеризуется) практически теми же возможностями, что и "товар". За исключением того, что единица указывает на значение по умолчанию, группа не имеет аналогов. Атрибуты:
Содержит:
ЗначениеСвойства
(0-*), СсылкаНаНаборСвойств
(0-*), СсылкаНаСвойство
(0-*), СсылкаНаГруппу (CategoryReference)Описание: Определяет ссылку на группу определенного каталога. Атрибуты:
Содержит: – СсылкаНаТовар (ProductReference)Описание: Определяет ссылку на товар определенного каталога. Атрибуты:
Содержит: – Аналог (Relationship)Описание: Определяет аналог товара, т.е. устанавливает соответствие между одним товаром и другим товаром. Содержит ссылку на товар (обязателен). Атрибуты:
Содержит: СсылкаНаТовар (1-1). ПакетПредложений (OffersList)Описание: Определяет общие свойства выдвигаемых предложений товара. Период действия, в какой валюте составлен (валюта по умолчанию, может быть изменена для конкретного предложения), какой классификатор (каталог) используется для идентификации товаров и т.д. Содержит: валюту цены по умолчанию (может быть переопределено для конкретного предложения), собственно предложения и поля для задания значений. Атрибуты:
Содержит: Предложение (0-*), ЗначениеСвойства (0-*). Предложение (Offer)Описание: Определяет выдвигаемое предложение товара (фирма предлагает такой-то товар, в таком-то количестве, по такой-то цене). Предполагается, что разбиение по группам будет производиться в соответствии с указанным каталогом (классификатором). В свойствах задаются дополнительные условия (например, условия поставки товара). Содержит единицу измерения данного товара в предложении (например, 100 руб. за погонный метр, если не заполнен, то равен базовой единице товара), валюты цены (если не заполнено, то берется из списка предложений). Атрибуты:
Содержит: ЗначениеСвойства (0-*), СсылкаНаТовар (0-*). ЗначениеСвойства (PropertyValue)Описание: Определяет наименование поля и его значение Атрибуты:
Содержит: – Документ (Document)Описание: Определяет набор свойств документа. Содержит списки позиций документа (состав), список дополнительных (накладных) расходов, суммы налогов, значения дополнительных свойств документа. Атрибуты:
Содержит: ПредприятиеВДокументе (1-*), ТоварнаяПозиция (0-*), ДополнительныйРасход (0-*), СуммаНалога (0-*), ДополнительныйРеквизит (0-*). Предприятие в документе (CompanyInDocument)Описание: Определяет одно из предприятий (собственную фирму или контрагента) - действующих лиц документа. Содержит списки позиций документа (состав), список дополнительных (накладных) расходов, суммы налогов, значения дополнительных свойств документа. Атрибуты:
Содержит: – ТоварнаяПозиция (Article)Описание: Определяет информацию о товарной позиции (строке документа) в объеме, необходимом для оформления (и передачи) документов. Содержит, список дополнительных (накладных) расходов, суммы налогов, значения дополнительных свойств позиции. Атрибуты:
Содержит: ДополнительныйРасход (0-*), СуммаНалога (0-*), ДополнительныйРеквизит (0-*). СуммаНалога (TaxSum)Описание: Определяет информацию о сумме налога. Атрибуты:
Содержит: – Дополнительный Расход денег (AdditionalExpense)Описание: Определяет дополнительные расходы по документу в целом или по отдельной товарной позиции. Атрибуты:
Содержит: – |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||