h1. Загрузка файла заказа

h2. Описание

+Порядок строк должен обязательно совпадать+
+Невозможно в XML заводить несколько строчек у 1 позиции+

|_. Тег |_. Название поля |_. Обяз-ный |_. Тип данных |_. Тип данных|
|<DOC> |\4.  | 
|<DOC_OUT> |\4.  |	
|<NUMBER>
</NUMBER> | Номер заказа (В моем случае будет номер отгрузки) | Да | String || 
|<ID_DOC>
</ID_DOC> | Уникальный идентификатор другой  (внешней) системы | Да | String || 
|<PRIORITY>
</PRIORITY> | Приоритет заданий на подбор (чем больше число, тем выше приоритет) | Нет | integer || 
|<DELIVERY_DATE>
</DELIVERY_DATE | Планируемая дата и время доставки | Да | String | в формате 'dd.mm.yyyy hh24:mi:ss'|
|<SHIPMENT_DATE>
</SHIPMENT_DATE> | Планируемая дата и время отгрузки  | Да | String | в формате 'dd.mm.yyyy hh24:mi:ss'|
|<DESTINATION>
</DESTINATION> | Адрес доставки | Да | String || 
|<RESPONS_PERS>
</RESPONS_PERS> | Ответственное лицо | Нет | String || 
|<CAR_NUMBER>
</CAR_NUMBER> | Номер машины | Нет | String || 
|<CUSTOMER_ID>
</CUSTOMER_ID> | Код контрагента | Да | integer || 
|<CUSTOMER>
</CUSTOMER> | Получатель (наименование) | Нет | String || 
|<CUST_ADDRESS>
</CUST_ADDRESS> | Адрес получателя | Нет | String || 	
|<TYPE>
</TYPE> | Тип документа  | Нет | String | 1-заказ; 3-неофактуренное списание|
|<DSC>
</DSC> | Примечание к заказу | Нет| String || 
|<CONTENT> |\4.  | 
|<CODE CODE_ID=""> | Код товара | Да | String || 	
|<I_NOM_ID>
</I_NOM_ID> | Уникальный идентификатор номенклатуры | Нет | String | Можно использовать вместо CODE_ID|
|<CNT>
</CNT> | Количество | Да | String | |
|<UNIT_TYP>
</UNIT_TYP> | Сокращение ед. измерения (шт., кор) | Да | String | |
|<ST_PART>
</ST_PART> | номер партии | Да | String | |
|<EXPIRE_DATE>
</EXPIRE_DATE> | Срок годности | Нет | String | |
|<NOM_TYP>
</NOM_TYP> | Состояние единицы учета | Да | String | словарь №422 (кондиция - 1 /брак - 3)| 
|<PRICE>
</PRICE> | Цена продажи | Да | String | |
|<RESERVE_SCHEME>
</RESERVE_SCHEME> | Схема резерва | Нет | Integer | |
|<SUB_NOM_TYP>
</SUB_NOM_TYP> | Градация кондиции и брака  | Нет | integer | словарь №496 |
|<EXT_PARAMS> | Набор доп. параметров. | Нет |\2. Открывающий тег|
|<PARAM_NAME>
</PARAM_NAME> | Наименование дополнительного параметра | Нет | string||
|<PARAM_VALUE>
</PARAM_VALUE> | Значение дополнительного параметра | Нет | string||
|<PARAM_CAPTION>
</PARAM_CAPTION> | Описание / примечание | Нет | string	 ||
|</EXT_PARAMS> |\4. Закрывающий тег  |
|<NOM_CHANGE_NOM> | Открывающий тег | Нет |  | Идентичные номенклатуры|
|<NOM>| Открывающий тег | Нет ||  Одна из идентичных номенклатур|
|<CODE>
</CODE>| Код номенклатуры | Да | string || 	
|<ORD>
</ORD>| Порядок резерва | Нет | integer | По умолчанию 1|
|<COEFF>
</COEFF>| Коэффициент конвертации кол-ва| Да | number | По умолчанию 1|
|</NOM> |\4. Закрывающий тег|
|</NOM_CHANGE_NOM > |\4. Закрывающий тег|
|</CODE> |\4. |  	
|</CONTENT>|\4. | 
|<EXT_PARAMS> | Набор доп. параметров. | Нет |\2. Открывающий тег|
|<PARAM_NAME>
</PARAM_NAME> | Наименование дополнительного параметра | Нет | string||
|<PARAM_VALUE>
</PARAM_VALUE> | Значение дополнительного параметра | Нет | string ||
|<PARAM_CAPTION>
</PARAM_CAPTION> | Описание / примечание | Нет | string	 ||
|</EXT_PARAMS> |\4. Закрывающий тег |
|</DOC_OUT> |\4. | 
|</DOC>	|\4. |  

h2. Пример XML

<pre><code class="xml">
<?xml version="1.0" encoding="Windows-1251" standalone="yes"?>
<DOC>
    <DOC_OUT>
        <!-- ТЕГ заказа-->
        <NUMBER>10101</NUMBER>
        <!-- номер заказа-->
        <ID_DOC>b542c497-2310-11dd-8e3b-000423dc1d39</ID_DOC>
        <!--уникальный идентификатор другой системы -->
        <PRIORITY>100</PRIORITY>
        <!--уникальный идентификатор другой системы -->
        <DELIVERY_DATE>2019-11-22T19:00:00</DELIVERY_DATE>
        <!-- планируемая дата и время доставки в формате 'dd.mm.yyyy hh24:mi:ss'-->
        <SHIPMENT_DATE>2019-11-22T15:00:00</SHIPMENT_DATE>
        <!-- планируемая дата и время отгрузки в формате 'dd.mm.yyyy hh24:mi:ss'-->
        <DESTINATION>Адрес доставки</DESTINATION>
        <RESPONS_PERS>Иванов В.В.</RESPONS_PERS>
        <!-- ответственное лицо-->
        <CAR_NUMBER>о256вв90</CAR_NUMBER>
        <!-- номер машины-->
        <CUSTOMER_ID>134</CUSTOMER_ID>
        <!-- код контрагента-->
        <CUSTOMER>ООО "Магазин №12"</CUSTOMER>
        <!-- получаетель-->
        <CUST_ADDRESS>г.Покров, ул.Ленина 12</CUST_ADDRESS>
        <!-- адрес получателя-->
        <TYPE>1</TYPE>
        <!-- тип документа 1-заказ; 3-неофактуренное списание-->
        <DSC>Очень нужный товар </DSC>
        <!--- примечание к заказу-->
        <CONTENT>
            <!-- состав заказа-->
            <CODE CODE_ID="12RSS">
                <!-- код товара-->
                <CNT>10</CNT>
                <!-- количество-->
                <UNIT_TYP>шт</UNIT_TYP>
                <!--сокращение ед. измерения (шт кор и тд)-->
                <ST_PART>F12345</ST_PART>
                <!-- номер партии-->
                <EXPIRE_DATE>2020-05-01</EXPIRE_DATE>
                <!-- срок годности-->
                <NOM_TYP>1</NOM_TYP>
                <!-- состояние единицы учета словарь №422 (кондиция - 1 /брак - 3)-->
                <PRICE>
                </PRICE>
                <!-- цена продажи-->
                <RESERVE_SCHEME>11</RESERVE_SCHEME>
                <!-- схема резерва-->
                <SUB_NOM_TYP>10</SUB_NOM_TYP>
                <!-- Градация кондиции/брака-->
            </CODE>
            <!-- код товара-->
        </CONTENT>
        <!-- состав заказа-->
        <EXT_PARAMS>
            <PARAM_NAME>NAME</PARAM_NAME>
            <PARAM_VALUE>VALUE</PARAM_VALUE>
            <PARAM_CAPTION>CAPTION</PARAM_CAPTION>
        </EXT_PARAMS>
        <!-- дополнительные параметры, определяемые заказчиком-->
    </DOC_OUT>
</DOC>
</code>
</pre>

h2. Параметры DPC

|_. Параметр |_. Сокр
параметр |_. Описание |_. Обязательный |_. Значение по умолчанию|
| *contragent_n* |p1 |Номер контрагента |Да||
| *store_n* |p2 |Номер склада, должен быть согласован с типом док-та |Да||
| *file* |p3 |Маска для файла, напр, =D:\PI\DICT\IN\*.xml |Да||
| *UTF* |p4 |Если не пустой- файл в кодировке UTF-8. |Да||
| *DOC_TYP_1
DOC_TYP_2
...* |p5_1
p5_2
... |DOC_TYP_xxx=YYY - документ во внешней системе имеет тип xxx, такой тип указан в файле, в CWMS имеет тип YYY. Список типов- словарь 316|Да||
| *UpdateCustomer* |p6 |(0/1) Можно ли обновлять имя заказчика и его адрес, если заказчик есть в базе, но имеет другое имя или адрес |Нет|0|
| *DefaultDocStatus* |p8 |Какой статус имеет загруженный документ (0- создан)|Да||
| *DefaultDocType* |p9 |Если не удается определить тип документа- каким типом его считать (внутренний для CWMS тип заказа)|Да||
| *UpdatableStatuses* |p10 |В каких статусах можно обновлять (перезагружать) документ(,1, по ум.)|Да||
| *debug* |p14 |Статус претензии по умолчанию, используется, если не указан в файле|Нет|0|
| *debugEx* |p14ex|Расширенный режим отладки|Нет|0|
| *anchors* |p15|Якоря (строка)|Нет|0|
| *CustomerMustExists* |p16|(0/1) Поставщик указан в файле, не пустой, существующий. Если пустой или несуществующий- ошибка|Нет|0|
| *RespPersonMustExists* |p17|(0/1, по ум. 0) обязательность тега *<RESP_PERSON>*|Нет|0|
| *IgnoreNom* |p18 |Игнорировать неизвестную ном. Иначе- ошибка|Нет|0|
| *UpdateMode* |p19|Режим обновления: 1- дописывать, 0- перезаписывать (0 по ум.)|Нет|0|
| *CheckContent* |p20|Число (0/1),по ум. 0. Проверка состава, если 1- нельзя загружать накладные с пустым составом|Нет|0|