Открыть главное меню

Dataexchange.view orders

Примеры интерфейса для просмотра заказов

Просмотр списка заказов
Просмотр позиций выбранного заказа

Методы

Портал может обращаться к вашей 1С через специальный веб-интерфейс (подробнее смотрите тут: https://v8.1c.ru/overview/Term_000000273.htm#1). Для организации online-доступа портала к данным по заказам, вам необходимо реализовать в своей системе учета следующие SOAP-методы.

Общий вид

Метод Назначение функции Входящие параметры Возвращаемые данные
GetListOrders Получение списка заказов для клиента Параметры запроса:
  • CodeClient - код клиента,
  • DateStart - начальная дата,
  • DateEnd - конечная дата.

Обе даты являются необязательными параметрами. Если не указана ни одна, то ожидаем получения заказов в работе. Если указана только одна, то получаются заказы от или до указанной для начальной и конечной даты соответственно. Дата передается в виде строки ГГГГММДДччммсс, например 20120210000000. Если передается только код клиента, то веб-сервис не должен возвращать все имеющиеся заказы в большом кол-ве. В таком случае, необходимо показывать актуальные заказы для клиента, но не более 100 шт. В противном случае сработает ограничение и заказы не будут показаны.

Результатом работы должен являться узел orders содержащий набор объектов типа order следующего вида:

  • orderNumber - онлайн-номер (номер заказа в портале),
  • orderCode - номер заказа (номер заказа в 1С)
  • orderDate - дата заказа,
  • contractName - название клиента,
  • summ - сумма заказа,
  • status - статус,
  • statusCode - код статуса (необязательный),
  • comment - комментарий к заказу,
  • waybills - набор элементов типа waybill,
  • invoices - набор элементов типа invoice,
  • shipments - набор элементов типа shipment.

Узел waybills должен содержать набор элементов типа waybill следующего вида:

  • waybillNumber - номер накладной,
  • waybillDate - дата накладной.

Узел invoices должен содержать набор элементов типа invoice следующего вида:

  • invoiceNumber - номер счёт-фактуры,
  • invoiceDate - дата счёт-фактуры.

Узел shipments должен содержать набор элементов типа shipment следующего вида:

  • shipmentNumber - номер отгрузки,
  • shipmentDate - дата отгрузки.
GetListPositions Получение списка позиций всех заказов для клиента.

Данный метод необходимо использовать в случае, когда статус является признаком не заказа в целом, а его отдельных позиций.

Параметры запроса:
  • CodeClient - код клиента,
  • DateStart - начальная дата,
  • DateEnd - конечная дата,

Обе даты являются необязательными параметрами. Если не указана ни одна, то ожидаем получения заказов в работе. Если указана только одна, то получаются заказы от или до указанной для начальной и конечной даты соответственно. Дата передается в виде строки ГГГГММДДччммсс, например 20120210000000. Если передается только код клиента, то веб-сервис не должен возвращать все имеющиеся заказы в большом кол-ве. В таком случае, необходимо показывать актуальные заказы для клиента, но не более 100 шт. В противном случае сработает ограничение и заказы не будут показаны.

  • ArticleNumber - номер запчасти. Будут отобраны все позиции с указанным номером.
  • OrderCode - фильтр по номеру заказа в 1С.
  • OrderNumber - фильтр по номеру заказа в портале.
  • WaybillNumber - фильтр по номеру накладной.
  • Status - статус позиции заказа.

Результатом работы должен являться узел positions содержащий набор объектов типа position следующего вида:

  • orderNumber - онлайн-номер (номер заказа в портале),
  • orderCode - номер заказа (номер заказа в 1С)
  • orderDate - дата заказа,
  • contractName - название клиента,
  • waybillNumber - номер накладной,
  • waybillDate - дата накладной,
  • invoiceNumber - номер счёт-фактуры,
  • invoiceDate - дата счёт-фактуры,
  • shipmentNumber - номер отгрузки,
  • shipmentDate - дата отгрузки,
  • brand - бренд,
  • articleNumber - номер (артикул),
  • description - описание,
  • unit - ед.измерения,
  • quantity - кол-во,
  • quantityActual - фактическое кол-во,
  • pricePerUnit - цена за единицу измерения,
  • priceWithoutTax - стоимость без налога,
  • taxRate - налоговая ставка,
  • amountOfTax - сумма налога,
  • price - стоимость с учётом налога,
  • country - страна производитель,
  • customsDeclaration - ГТД,
  • status - статус позиции заказа,
  • statusCode - код статуса позиции заказа,
  • deliveryPeriod - срок поставки,
  • comment - комментарий к позиции,
  • supplierDescription - описание поставщика позиции заказа (из настроек маршрута).
GetListOrdersPos Получение списка позиций для заказа клиента Параметры запроса:
  • CodeClient - код клиента,
  • OrderCode - номер заказа в 1С
Результатом работы должны быть данные следующего вида:
  • orderNumber - онлайн-номер (номер заказа в портале),
  • orderCode - номер заказа (номер заказа в 1С)
  • orderDate - дата заказа,
  • contractName - название клиента,
  • summ - сумма заказа,
  • status - статус,
  • statusCode - код статуса (необязательный),
  • comment - комментарий к заказу,
  • waybills - набор элементов типа waybill следующего вида:
    • waybillNumber - номер накладной,
    • waybillDate - дата накладной.
  • invoices - набор элементов типа invoice, следующего вида:
    • invoiceNumber - номер счёт-фактуры,
    • invoiceDate - дата счёт-фактуры.
  • shipments - набор элементов типа shipment следующего вида:
    • shipmentNumber - номер отгрузки,
    • shipmentDate - дата отгрузки.
  • positions - набор элементов типа position следующего вида:
    • brand - бренд,
    • articleNumber - номер (артикул),
    • description - описание,
    • unit - ед.измерения,
    • quantity - кол-во,
    • quantityActual - фактическое кол-во,
    • pricePerUnit - цена за единицу измерения,
    • priceWithoutTax - стоимость без налога,
    • taxRate - налоговая ставка,
    • amountOfTax - сумма налога,
    • price - стоимость с учётом налога,
    • country - страна производитель,
    • customsDeclaration - ГТД,
    • status - статус позиции заказа,
    • statusCode - код статуса позиции заказа,
    • deliveryPeriod - срок поставки,
    • comment - комментарий к позиции,
    • supplierDescription - описание поставщика позиции заказа (из настроек маршрута).
GetListOrdersInvoice Получение списка позиций для счета-фактуры клиента Параметры запроса:
  • CodeClient - код клиента,
  • OrderCode - номер заказа в 1С
  • InvoiceNumber - номер счета-фактуры в 1С
Результатом работы должны быть данные следующего формата:
  • invoiceNumber - номер счёт-фактуры,
  • invoiceDate - дата счёт-фактуры,
  • positions - узел, содержащий набор объектов типа position следующего вида:
    • brand - бренд,
    • articleNumber - номер (артикул),
    • description - описание,
    • unit - ед.измерения,
    • quantity - колво,
    • pricePerUnit - цена за единицу измерения,
    • priceWithoutTax - стоимость без налога,
    • taxRate - налоговая ставка,
    • amountOfTax - сумма налога,
    • price - стоимость с учётом налога,
    • country - страна производитель,
    • customsDeclaration - ГТД,
    • status - статус позиции заказа,
    • statusCode - код статуса позиции заказа,
    • deliveryPeriod - срок поставки.
GetListOrdersShipment Получение списка позиций для отгрузки Параметры запроса:
  • CodeClient - код клиента,
  • OrderCode - номер заказа в 1С
  • ShipmentNumber - номер отгрузки в 1С
Результатом работы должны быть данные следующего формата:
  • shipmentNumber - номер отгрузки,
  • shipmentDate - дата отгрузки,
  • positions - узел, содержащий набор объектов типа position следующего вида:
    • brand - бренд,
    • articleNumber - номер (артикул),
    • description - описание,
    • unit - ед.измерения,
    • quantity - колво,
    • pricePerUnit - цена за единицу измерения,
    • priceWithoutTax - стоимость без налога,
    • taxRate - налоговая ставка,
    • amountOfTax - сумма налога,
    • price - стоимость с учётом налога,
    • country - страна производитель,
    • customsDeclaration - ГТД,
    • status - статус позиции заказа,
    • statusCode - код статуса позиции заказа,
    • deliveryPeriod - срок поставки.

Техническая информация

Все входящие параметры - текстового типа.

В целях безопасности рекомендуется ограничить доступность сервиса по IP-адресу и/или закрыть его HTTPS-авторизацией.

Создать XDTO-пакеты в 1С можно с помощью импорта следующих схем:

GetListOrders

<xs:schema xmlns:tns="GetListOrdersResult" xmlns:xs="https://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="comment" 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="https://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="position">
		<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:element name="comment" 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="https://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="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="comment" 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: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="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:element name="comment" 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="https://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="https://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>

Как самостоятельно тестировать разработанные функции?

Инструкция по тестированию