
Тирика-Магазин
Заголовок файла накладной
Рассмотрим подробнее структуру XMl-файла накладной. Заголовок XML-файла - тег waybill - имеет следующие атрибуты:
- waybill_date: Дата создания накладной в формате Unix time, т.е. число секунд, прошедших с 01.01.1970 0:00. Если дата накладной не указана, то программа присваивает накладной дату загрузки накладной в программу
- waybill_number: Номер накладной: строка не более 20 символов. Если номер не указан, программа Тирика-магазин автоматически генерирует номер накладной при загрузке продажи и оставляет его пустым при загрузке накладных других типов
- record_type: Тип накладной. В случае, если тип накладной в XML-файле не указан, программа тирика-магазин автоматически считает накладную продажей (тип -1 в списке ниже):
- -3: возврат поставщику
- -2: списание
- -1: продажа
- 0: перемещение со склада на склад
- 1: закупка
- 2: возврат покупателя
- shop_id: для накладных перемещения со склада на склад: код склада-отправителя. Для накладных всех других типов: код склада, к которому относится накладная. Коды складов вы можете посмотреть в пункте меню Файл|Настройки|Склады; если код склада в файле XML не указан, программа при импорте прикрепляет загружаемую накладную к складу с кодом 0 (складу по умолчанию)
- currency_code: код валюты, записанный так же, как он указан в пункте меню Файл|Настройки|Валюты|КодВалюты. Если код валюты не указан, используется базовая валюта программы
- paid: сумма оплаченного по накладной, разделитель целой и дробной части - запятая. Если тег отсутствует, программа считает, что накладная оплачена полностью
- payment_type: код способа оплаты: 0=наличные, 1=безналично, 2=депозитом. Если этот тег отсутствует, программа считает, что накладная оплачена наличными
- is_reserve: является ли эта накладная накладной резервирования (1) или нет (0). Если этот тег отсутствует, программа считает, что это НЕ резервирование.
- reserve_until: дата окончания резервирования накладной в формате Unix time, т.е. число секунд, прошедших с 01.01.1970 0:00. Если тег отсутствует, программа считает, что дата окончания резервирования не задана (бессрочное резервирование)
- flags: Флажки накладной:
- 0: нет флажков
- 1: зеленый флажок
- 2: желтый флажок
- 4: красный флажок
- comment: комментарии к накладной
- contractor_id: в случае накладной перемещения товара со склада на склад (record_type=0) - код склада-получателя для накладной перемещения, обязательный тег, см. след.абзац. Для всех остальных типов накладных этот тег не используется
- contractor_name: наименование контрагента, т.е. покупателя в случае импорта продажи или поставщика в случае импорта закупки. Необязательный атрибут
- contractor_barcode: штрихкод дисконтной карты покупателя. Необязательный атрибут
- contractor_phone: телефон контрагента. Необязательный атрибут
- contractor_fax: номер факса контрагента. Необязательный атрибут
- contractor_address: почтовый адрес контрагента. Необязательный атрибут
- contractor_email: адрес электронной почты контрагента. Необязательный атрибут
- contractor_inn: ИНН контрагента. Необязательный атрибут
- contractor_kpp: КПП контрагента. Необязательный атрибут
- contractor_okpo: ОКПО контрагента. Необязательный атрибут
- contractor_bank: банковские реквизиты контрагента. Необязательный атрибут
- contractor_comment: комментарии к контрагенту. Необязательный атрибут
Хочется отдельно остановиться на информации о контрагенте. Если речь идет о загрузке накладной перемещения товара со склада на склад, то атрибут shop_id заголовка накладной используется для определения кода склада-отправителя товара, а атрибут contractor_id - кода склада-получателя; все остальные атрибуты contractor_* для накладных этого типа не используются.
Для накладных любых типов кроме накладных перемещения товара со склада на склад используются атрибуты contractor_* с информацией о контрагенте, т.е. покупателе в случае накладной продажи, поставщике в случае накладной закупки и т.п. Как вы видите из атрибутов contractor_* выше, в заголовке импортируемой накладной вы можете задать полную информацию по покупателю, а можете не задавать ничего или задать только часть этой информации: все эти атрибуты являются необязательными. При загрузке контрагента программа:
- Ищет контрагента по указанному ИНН
- Если контрагент не найден, ищет контрагента по штрихкоду дисконтной карты
- Если контрагент не найден, ищет контрагента по номеру телефона
- Если контрагент не найден, ищет контрагента по имени
Если контрагент будет найден, программа назначает найденного контрагента, например, покупателя, к загружаемой накладной. Если контрагент не будет найден и при этом имя контрагента указано в XML и непусто, программа создаст нового контрагента и назначит его к загружаемой накладной. Если контрагент не будет найден и имя его в XML-файле не указано или пусто, загружаемой накладной контрагент не назначается.
Продолжение статьи: Тело файла накладной