Rusart (обсуждение | вклад) |
Rusart (обсуждение | вклад) |
||
| Строка 87: | Строка 87: | ||
* status - статус позиции заказа, | * status - статус позиции заказа, | ||
* statusCode - код статуса позиции заказа, | * statusCode - код статуса позиции заказа, | ||
| − | * deliveryPeriod - срок поставки. | + | * deliveryPeriod - срок поставки, |
| + | * comment - комментарий к позиции. | ||
|- | |- | ||
! '''GetListOrdersPos''' | ! '''GetListOrdersPos''' | ||
| Строка 95: | Строка 96: | ||
* OrderCode - номер заказа в 1С | * OrderCode - номер заказа в 1С | ||
| Результатом работы должны быть данные по формату совпадающие с типом order (для конкретного заказа), а так же узел positions, содержащий набор объектов типа position следующего вида: | | Результатом работы должны быть данные по формату совпадающие с типом order (для конкретного заказа), а так же узел positions, содержащий набор объектов типа position следующего вида: | ||
| − | * brand - бренд, | + | * orderNumber - онлайн-номер (номер заказа в портале), |
| − | * articleNumber - номер (артикул), | + | * orderCode - номер заказа (номер заказа в 1С) |
| − | * description - описание, | + | * orderDate - дата заказа, |
| − | * unit - ед.измерения, | + | * contractName - название клиента, |
| − | * quantity - кол-во, | + | * summ - сумма заказа, |
| − | * quantityActual - фактическое кол-во, | + | * status - статус, |
| − | * pricePerUnit - цена за единицу измерения, | + | * statusCode - код статуса (необязательный), |
| − | * priceWithoutTax - стоимость без налога, | + | * comment - комментарий к заказу, |
| − | * taxRate - налоговая ставка, | + | * waybills - набор элементов типа waybill следующего вида: |
| − | * amountOfTax - сумма налога, | + | ** waybillNumber - номер накладной, |
| − | * price - стоимость с учётом налога, | + | ** waybillDate - дата накладной. |
| − | * country - страна производитель, | + | * invoices - набор элементов типа invoice, следующего вида: |
| − | * customsDeclaration - ГТД, | + | ** invoiceNumber - номер счёт-фактуры, |
| − | * status - статус позиции заказа, | + | ** invoiceDate - дата счёт-фактуры. |
| − | * statusCode - код статуса позиции заказа, | + | * shipments - набор элементов типа shipment следующего вида: |
| − | * deliveryPeriod - срок поставки. | + | ** shipmentNumber - номер отгрузки, |
| + | ** shipmentDate - дата отгрузки. | ||
| + | * positions - набор элементов типа position следующего вида: | ||
| + | ** brand - бренд, | ||
| + | ** articleNumber - номер (артикул), | ||
| + | ** description - описание, | ||
| + | ** unit - ед.измерения, | ||
| + | ** quantity - кол-во, | ||
| + | ** quantityActual - фактическое кол-во, | ||
| + | ** pricePerUnit - цена за единицу измерения, | ||
| + | ** priceWithoutTax - стоимость без налога, | ||
| + | ** taxRate - налоговая ставка, | ||
| + | ** amountOfTax - сумма налога, | ||
| + | ** price - стоимость с учётом налога, | ||
| + | ** country - страна производитель, | ||
| + | ** customsDeclaration - ГТД, | ||
| + | ** status - статус позиции заказа, | ||
| + | ** statusCode - код статуса позиции заказа, | ||
| + | ** deliveryPeriod - срок поставки, | ||
| + | ** comment - комментарий к позиции. | ||
|- | |- | ||
! '''GetListOrdersInvoice''' | ! '''GetListOrdersInvoice''' | ||
Версия 10:34, 16 марта 2012
Содержание
Примеры интерфейса для просмотра заказов
Методы
Портал может обращаться к вашей 1С через специальный веб-интерфейс (подробнее смотрите тут: http://v8.1c.ru/overview/Term_000000273.htm#1). Для организации online-доступа портала к данным по заказам, вам необходимо реализовать в своей системе учета следующие SOAP-методы.
Общий вид
| Метод | Назначение функции | Входящие параметры | Возвращаемые данные |
|---|---|---|---|
| GetListOrders | Получение списка заказов для клиента | Параметры запроса:
Обе даты являются необязательными параметрами. Если не указана ни одна, то ожидаем получения заказов в работе. Если указана только одна, то получаются заказы от или до указанной для начальной и конечной даты соответственно. Дата передается в виде строки ГГГГММДДччммсс, например 20120210000000. |
Результатом работы должен являться узел orders содержащий набор объектов типа order следующего вида:
Узел waybills должен содержать набор элементов типа waybill следующего вида:
Узел invoices должен содержать набор элементов типа invoice следующего вида:
Узел shipments должен содержать набор элементов типа shipment следующего вида:
|
| GetListPositions | Получение списка позиций всех заказов для клиента.
Данный метод необходимо использовать в случае, когда статус является признаком не заказа в целом, а его отдельных позиций. |
Параметры запроса:
Обе даты являются необязательными параметрами. Если не указана ни одна, то ожидаем получения заказов в работе. Если указана только одна, то получаются заказы от или до указанной для начальной и конечной даты соответственно. Дата передается в виде строки ГГГГММДДччммсс, например 20120210000000. |
Результатом работы должен являться узел positions содержащий набор объектов типа position следующего вида:
|
| GetListOrdersPos | Получение списка позиций для заказа клиента | Параметры запроса:
|
Результатом работы должны быть данные по формату совпадающие с типом order (для конкретного заказа), а так же узел positions, содержащий набор объектов типа position следующего вида:
|
| GetListOrdersInvoice | Получение списка позиций для счета-фактуры клиента | Параметры запроса:
|
Результатом работы должны быть данные следующего формата:
|
| GetListOrdersShipment | Получение списка позиций для отгрузки | Параметры запроса:
|
Результатом работы должны быть данные следующего формата:
|
Техническая информация
Все входящие параметры - текстового типа.
В целях безопасности рекомендуется ограничить доступность сервиса по IP-адресу и/или закрыть его простой HTTP-авторизацией.
Создать XDTO-пакеты в 1С можно с помощью импорта следующих схем:
GetListOrders
<xs:schema xmlns:tns="GetListOrdersResult" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="GetListOrdersResult" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="GetListOrdersResult" type="tns:GetListOrdersResult"/>
<xs:complexType name="GetListOrdersResult">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="orders" type="tns:order" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="order">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="orderNumber" type="xs:string"/>
<xs:element name="orderCode" type="xs:string"/>
<xs:element name="orderDate" type="xs:string"/>
<xs:element name="contractName" type="xs:string"/>
<xs:element name="summ" type="xs:string"/>
<xs:element name="statusCode" type="xs:string"/>
<xs:element name="status" type="xs:string"/>
<xs:element name="waybills" type="tns:waybill" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="invoices" type="tns:invoice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="shipments" type="tns:shipment" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="waybill">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="waybillNumber" type="xs:string"/>
<xs:element name="waybillDate" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="invoice">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="invoiceNumber" type="xs:string"/>
<xs:element name="invoiceDate" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="shipment">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="shipmentNumber" type="xs:string"/>
<xs:element name="shipmentDate" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
GetListPositions
<xs:schema xmlns:tns="GetListPositionsResult" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="GetListPositionsResult" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="GetListPositionsResult" type="tns:GetListPositionsResult"/>
<xs:complexType name="GetListPositionsResult">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="positions" type="tns:position" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="order">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="orderNumber" type="xs:string"/>
<xs:element name="orderCode" type="xs:string"/>
<xs:element name="orderDate" type="xs:string"/>
<xs:element name="contractName" type="xs:string"/>
<xs:element name="waybillNumber" type="xs:string"/>
<xs:element name="waybillDate" type="xs:string"/>
<xs:element name="invoiceNumber" type="xs:string"/>
<xs:element name="invoiceDate" type="xs:string"/>
<xs:element name="shipmentNumber" type="xs:string"/>
<xs:element name="shipmentDate" type="xs:string"/>
<xs:element name="statusCode" type="xs:string"/>
<xs:element name="status" type="xs:string"/>
<xs:element name="deliveryPeriod" type="xs:string"/>
<xs:element name="brand" type="xs:string"/>
<xs:element name="articleNumber" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="unit" type="xs:string"/>
<xs:element name="quantity" type="xs:string"/>
<xs:element name="quantityActual" type="xs:string"/>
<xs:element name="pricePerUnit" type="xs:string"/>
<xs:element name="priceWithoutTax" type="xs:string"/>
<xs:element name="taxRate" type="xs:string"/>
<xs:element name="amountOfTax" type="xs:string"/>
<xs:element name="price" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="customsDeclaration" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
GetListOrdersPos
<xs:schema xmlns:tns="GetListOrdersPosResult" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="GetListOrdersPosResult" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="GetListOrdersPosResult" type="tns:GetListOrdersPosResult"/>
<xs:complexType name="GetListOrdersPosResult">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="positions" type="tns:position" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="orderNumber" type="xs:string"/>
<xs:element name="orderCode" type="xs:string"/>
<xs:element name="orderDate" type="xs:string"/>
<xs:element name="contractName" type="xs:string"/>
<xs:element name="summ" type="xs:string"/>
<xs:element name="statusCode" type="xs:string"/>
<xs:element name="status" type="xs:string"/>
<xs:element name="waybills" type="tns:waybill" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="invoices" type="tns:invoice" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="shipments" type="tns:shipment" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="position">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="brand" type="xs:string"/>
<xs:element name="articleNumber" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="unit" type="xs:string"/>
<xs:element name="quantity" type="xs:string"/>
<xs:element name="quantityActual" type="xs:string"/>
<xs:element name="pricePerUnit" type="xs:string"/>
<xs:element name="priceWithoutTax" type="xs:string"/>
<xs:element name="taxRate" type="xs:string"/>
<xs:element name="amountOfTax" type="xs:string"/>
<xs:element name="price" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="customsDeclaration" type="xs:string"/>
<xs:element name="statusCode" type="xs:string"/>
<xs:element name="status" type="xs:string"/>
<xs:element name="deliveryPeriod" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="waybill">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="waybillNumber" type="xs:string"/>
<xs:element name="waybillDate" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="invoice">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="invoiceNumber" type="xs:string"/>
<xs:element name="invoiceDate" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="shipment">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="shipmentNumber" type="xs:string"/>
<xs:element name="shipmentDate" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
GetListOrdersInvoice
<xs:schema xmlns:tns="GetListOrdersInvoiceResult" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="GetListOrdersInvoiceResult" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="GetListOrdersInvoiceResult" type="tns:GetListOrdersInvoiceResult"/>
<xs:complexType name="GetListOrdersInvoiceResult">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="invoiceNumber" type="xs:string"/>
<xs:element name="invoiceDate" type="xs:string"/>
<xs:element name="positions" type="tns:position" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="position">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="brand" type="xs:string"/>
<xs:element name="articleNumber" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="unit" type="xs:string"/>
<xs:element name="quantity" type="xs:string"/>
<xs:element name="pricePerUnit" type="xs:string"/>
<xs:element name="priceWithoutTax" type="xs:string"/>
<xs:element name="taxRate" type="xs:string"/>
<xs:element name="amountOfTax" type="xs:string"/>
<xs:element name="price" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="customsDeclaration" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
GetListOrdersShipment
<xs:schema xmlns:tns="GetListOrdersShipmentResult" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="GetListOrdersShipmentResult" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="GetListOrdersShipmentResult" type="tns:GetListOrdersShipmentResult"/>
<xs:complexType name="GetListOrdersShipmentResult">
<xs:complexContent>
<xs:extension base="xs:complexType">
<xs:choice>
<xs:element name="shipmentNumber" type="xs:string"/>
<xs:element name="shipmentDate" type="xs:string"/>
<xs:element name="positions" type="tns:position" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="position">
<xs:complexContent>
<xs:extension base="xs:complexRestrictionType">
<xs:all>
<xs:element name="brand" type="xs:string"/>
<xs:element name="articleNumber" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="unit" type="xs:string"/>
<xs:element name="quantity" type="xs:string"/>
<xs:element name="pricePerUnit" type="xs:string"/>
<xs:element name="priceWithoutTax" type="xs:string"/>
<xs:element name="taxRate" type="xs:string"/>
<xs:element name="amountOfTax" type="xs:string"/>
<xs:element name="price" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="customsDeclaration" type="xs:string"/>
<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:all>
<xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>