ChequeV3.xsd
Материал из Фабиус wiki
Версия от 16:46, 28 апреля 2021; Hisava (обсуждение | вклад)
<?xml version = "1.0" encoding = "utf-8"?> <xs:schema version = "1.0"
xmlns:ns = "http://fsrar.ru/WEGAIS/ChequeV3" targetNamespace = "http://fsrar.ru/WEGAIS/ChequeV3" xmlns:xs = "http://www.w3.org/2001/XMLSchema" elementFormDefault = "qualified" attributeFormDefault = "unqualified" xmlns:c = "http://fsrar.ru/WEGAIS/Common"
xmlns:pref = "http://fsrar.ru/WEGAIS/ProductRef_v2" >
<xs:import namespace = "http://fsrar.ru/WEGAIS/Common" schemaLocation = "EGCommon.xsd"/> <xs:import namespace = "http://fsrar.ru/WEGAIS/ProductRef_v2" schemaLocation = "ProductRef_v2.xsd"/>
<xs:complexType name = "ChequeV3Type">
<xs:annotation>
<xs:documentation>Чек, чек возврата, розница по безналу</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name = "Identity" type = "c:NoEmptyString50" nillable = "false" minOccurs = "0" maxOccurs = "1">
<xs:annotation>
<xs:documentation>Идентификатор чека</xs:documentation>
</xs:annotation>
</xs:element>
<xs:choice>
<xs:element name = "Header" type = "ns:Header" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "HeaderTTN" type = "ns:HeaderTTN" minOccurs = "1" maxOccurs = "1"/>
</xs:choice> <xs:element name = "Content">
<xs:annotation>
<xs:documentation>Содержимое чека</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs = "1" maxOccurs = "unbounded">
<xs:element name = "Bottle" type = "ns:Bottle"/>
<xs:element name = "Nomark" type = "ns:Nomark"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:unique name = "BAR">
<xs:selector xpath = "ns:Bottle"/>
<xs:field xpath = "ns:Barcode"/>
</xs:unique>
<xs:unique name = "posid">
<xs:selector xpath = "ns:Nomark"/>
<xs:field xpath = "ns:PosIdentity"/>
</xs:unique>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name = "Header">
<xs:annotation>
<xs:documentation>Чек, чек возврата</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name = "Date" type = "c:DateWTime" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Kassa" type = "c:NoEmptyString50" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Shift" type = "ns:COUNT" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Number" type = "ns:COUNT" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Type" type = "ns:TYPE" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "ConfirmOrder" type = "c:NoEmptyString50" minOccurs = "0" maxOccurs = "1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name = "HeaderTTN">
<xs:annotation>
<xs:documentation>Розничная продажа по безналичному расчету</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name = "Date" type = "c:DateNoTime" minOccurs = "1" maxOccurs = "1"/> <xs:element name = "BillNumber" type = "c:NoEmptyString50" minOccurs = "1" maxOccurs = "1"/> <xs:element name = "TTNNumber" type = "c:NoEmptyString50" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Type" type = "ns:TYPE" minOccurs = "1" maxOccurs = "1"/> </xs:sequence> </xs:complexType>
<xs:complexType name = "Bottle">
<xs:annotation>
<xs:documentation>Маркированная продукция</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name = "Barcode" type = "c:PDF417String" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "EAN" type = "c:EANType" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Price" type = "c:NoNegativeDecimalType" minOccurs = "1" maxOccurs = "1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name = "Nomark">
<xs:annotation>
<xs:documentation>Пиво</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name = "PosIdentity" type = "c:IdentityType" nillable = "false" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Product" type = "pref:ProductInfo_v2" minOccurs = "1" maxOccurs = "1">
<xs:annotation>
<xs:documentation>Информация о продукции</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name = "Quantity" type = "c:PositiveDecimalType" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "EAN" type = "c:EANType" minOccurs = "1" maxOccurs = "1"/>
<xs:element name = "Price" type = "c:NoNegativeDecimalType" minOccurs = "1" maxOccurs = "1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name = "COUNT">
<xs:annotation>
<xs:documentation>Целые не ноль и без ведущего нуля</xs:documentation>
</xs:annotation>
<xs:restriction base = "xs:integer">
<xs:pattern value = "[1-9][0-9]{0,9}" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name = "TYPE">
<xs:annotation>
<xs:documentation>Справочник типов чеков</xs:documentation>
</xs:annotation>
<xs:restriction base = "c:NoEmptyString50">
<xs:enumeration value = "Продажа">
<xs:annotation>
<xs:documentation>Чек продажи</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value = "Возврат">
<xs:annotation>
<xs:documentation>Чек возврата</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:schema>