Задача ТИС 7.7
Выгрузка на фтп по следющим параметрам
1) пример инвойса (1101.xml). в нем видно, как заполнять файл, если:
- в поставке несколько препаратов
- препарат поставляется несколькими серями, у которых одна и таже отпускная цена (без НДС) - обратите внимание на заполнение тегов manufacturerPrice и price
- у препарата, поставленного несколькими сериями, для каждой из них разные отпускные цены (без НДС) - обратите внимание на заполнение тегов manufacturerPrice и price
2) кодировка файла должна быть или UTF-8 или ANSI. в зависимости от этого должна заполняться первая строка файла:
или
<?xml version="1.0" encoding="UTF-8"?>
или
<?xml version="1.0" encoding="WINDOWS-1251"?>
3) регистр написания тегов важен для дальнейшей обработки файлов (см. вложенный файл - структура)
4) выкладка файлов должна осуществляться на фтп-ресурс ftp://farvater.protek.ru/ в папку INVOICE. После выкладки ваши инвойсы будут обработаны и перемещены из INVOICE в папку ARCHIVE.
5) логин и пароль для доступа на ftp организуем в процессе подготовки.
6) тег number - номер инвойса.
7) форматы дат могут быть следующими:
2014-09-01
2011-11-24T09:30:47
2011-11-24T09:30:47+03:00
8) если в написании названия препарата (тег description ) используются спецсимволы (или & или < или > или " и т.п.), то при заполнении xml они должны быть заменены - базовое требование XML,
варианты замены:
& нужна Замена на &
> нужна Замена на >
< нужна Замена на <
" нужна Замена на "
9) высылаю обработку для 1С Предприятие.
Кроме того прошу обратить внимание на следующий момент:
xml-файл должен содержать только уникальные позиции (itemIdSupplier) в рамках одной поставки, и если какая-то номенклатурная позиция будет поставляться нам несколькими сериями (партиями,Lot,ГТД), то структура файла должна быть следующей:
<invoice>
<invoiceItemSet>
<invoiceLotSet>
</invoiceLotSet>
<invoiceLotSet>
</invoiceLotSet>
</invoiceItemSet>
<invoiceItemSet>
<invoiceLotSet>
</invoiceLotSet>
<invoiceLotSet>
</invoiceLotSet>
</invoiceItemSet>
</invoice>
При этом обратите, пожалуйста, внимание на тот факт, что количество блоков invoiceLotSet для каждой позиции (блок invoiceItemSet) должно быть равно количеству серий (партий,Lot,ГТД) по каждой номенклатурной позиции.
При исправлении реализации выгрузки учтите, пожалуйста, и следующие моменты:
1. что количество единиц по позиции (поле qty в блоке invoiceItemSet) должно суммироваться из серий, относящихся к этой номенклатурной позиции (поля qty в блоках invoiceLotSet для одного и того же блока invoiceItemSet);
2. что также корректно должны отображаться сумма с НДС (и без НДС) по каждой позиции, отгружаемой несколькими сериями (партиями,Lot,ГТД);
3. что если номенклатурная позиция поставляется несколькими сериями (партия, lot, ГТД), но по разной отпускной цене за каждую серию (поле manufacturerPrice), то значение поля price (отпускная цена без НДС за единицу товара) должно быть пустым, в обратном случае - заполненным. При этом поле manufacturerPrice (отпускная цена без НДС за единицу товара конкретной серии) должна заполняться всегда.