Перейти к содержанию

Как создать новый макет импорта

Вопрос:

Что делать, когда у существующего контрагента (например, поставщика) меняется формат электронных документов. Имеющиеся макеты (типы импорта) не позволяют загрузить такие электронные документы в БД «М-АПТЕКА плюс». Та же проблема возникает, когда появляется новый контрагент.

Ответ:

В таком случае следует создать новый макет (тип импорта).

Для создания макета нужно иметь данные о спецификации (структуре полей) файлов, присылаемых контрагентом. По этим спецификациям следует установить соответствия между полями файла поставщика и полями БД «М-АПТЕКА плюс».

Также необходимо выявить, какие преобразования форматов (например, даты в формате ДД.ММ.ГГ может быть нужно преобразовать в формат ДД.ММ.ГГГГ и тому подобное).

Спецификации со стороны «М-АПТЕКА плюс» приведены ниже на этой же странице:

Внимание

Создание макета «с нуля» требует навыков программирования и не рекомендуется. Вместо этого рекомендуется сделать копию существующего макета и изменить её под нужный формат.

Как сделать копию, см. Как найти макет поставщика и Что делать, если несколько поставщиков используют одинаковый формат накладной.

Если нужно создать макет для импорта накладной, нужно скопировать какой-либо из существующих макетов накладной, если для прайс-листа, то скопировать какой-либо макет прайс-листа.

Чтобы выбрать подходящий макет-прототип, следует сравнить состав импортируемых полей в прототипе и в спецификации на файл контрагента - лучше всего подойдёт макет, в котором задействовано максимальное количество используемых в программе «М-АПТЕКА плюс» полей из файла контрагента.

Примечание

Все обязательные поля в макете должны присутствовать.

Спецификация импорта накладной поставщика в «М-АПТЕКА плюс»

Назначение данных Имя поля в базе Тип данных Комментарий
1 Номер накладной поставщика Docs.Titles.NumberOfNakl Текст Произвольный текст длиной не более 50 знаков
2 Дата поставщика Docs.Titles.DateOfSupplier Дата Требование см. в Доп. условиях п.1
3 Код товара у поставщика CodeDrugS Число Требование см. в Доп. условиях п.3
4 Наименование товара Drugs.FullName Текст Произвольный текст длиной не более 250 знаков
5 Код производителя CodeOfProducer.ExtCode Число Целое положительное число (лучше не заполнять!)
6 Наименование производителя CodeOfProducer.FullName Текст Произвольный текст длиной не более 100 знаков
7 Код страны Country.ExtCode Число Целое положительное число (лучше не заполнять!)
8 Наименование страны Country.FullName Текст Произвольный текст длиной не более 100 знаков
9 Количество Quantity Число Положительное десятичное число
10 Цена изготовителя (производителя) без НДС CenaProiz Число Требование см. в Доп. условиях п.2
11 %наценки посредника PercNacDiler Число Требование см. в Доп. условиях п.2
12 Цена закупочная без НДС CenaUch Число Требование см. в Доп. условиях п.2
13 %НДС PercSupplier Число Целое число из допустимых значений 0, 10, 18
14 Цена закупочная с учётом НДС CenaZak Число Требование см. в Доп. условиях п.2
15 Сумма по цене закупочной без НДС sumCenaUch Число Требование см. в Доп. условиях п.2
16 Сумма по цене закупочной с НДС sumCenaZak Число Требование см. в Доп. условиях п.2
17 Цена реестровая CenaReest Число Требование см. в Доп. условиях п.2
18 Код лаборатории LabSert.ExtCode Число Целое положительное число (лучше не заполнять!)
19 Наименование лаборатории LabSert.FullName Текст Произвольный текст длиной не более 200 знаков
20 Сертификат ProductCertif Текст Произвольный текст длиной не более 50 знаков
21 Дата сертификата (действует до) DateSertif Дата Требование см. в Доп. условиях п.1
22 Дата выдачи сертификата DateSertifB Дата Требование см. в Доп. условиях п.1
23 ГТД - номер грузовой таможенной декларации NumberGTD Текст Произвольный текст длиной не более 50 знаков
24 Срок годности товара SrokGodn Дата Требование см. в Доп. условиях п.1
25 Серия товара ProductSerial Текст Произвольный текст длиной не более 100 знаков
26 Дата оплаты по документу Docs.Titles.DatePay Дата Требование см. в Доп. условиях п.1
27 Код грузополучателя в системе поставщика Subdiv Число Целое положительное число
28 Дата реализации производителя DateSale Дата См. в Примечании п.4

Дополнительные условия:

  1. Данные с типом Дата в файле могут быть в формате ДД.ММ.ГГГГ или ДД.ММ.ГГ или ДДММГГГГ. Для корректной записи в базу при описании макета необходимо подключить к колонке Тип функцию преобразования данных во внутренний формат Дату из формата ДДММГГГГ или ДД.ММ.ГГГГ или ДД.ММ.ГГ перевести в хоролог <User.MethodsOnConvert.ConvertDateToHorolog> (см. картинку в нижней таблице Как найти макет поставщика).

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

  3. Требования к данным Код товара у поставщика – данные должны быть представлены любым текстовым значением длиной не более 50 знаков и не содержащими ведущих пробелов и «нулей».

  4. Примечание

    Дату для поля Дата реализации производителя указывает поставщик в электронной накладной, в программу "М-АПТЕКА плюс" данные попадают при импорте этой накладной.

    Внимание

    Должен быть настроен макет импорта!

  5. При описании макета, если в файле поставщика нет данных о Цене закупочной с учётом НДС, а есть данные о закупочной цене без НДС, следует выбрать поле в базе Цена закупочная без НДС (CenaUch).

  6. Если в файле поставщика есть данные о сумме товара в закупочных ценах с НДС или без НДС, тогда при описании макета следует выбрать одно из полей базы Сумма по цене закупочной без НДС (sumCenaUch) или Сумма по цене закупочной с НДС (sumCenaZak). При этом при импорте система автоматически рассчитает цены закупки, причём расчёт суммы НДС будет выполняться от суммы товара. Таким образом, в макете не нужно описывать импорт данных по ценам закупки.

  7. Данные, которых нет в файле поставщика, система дополняет из справочников или рассчитывает. Например, если в файле по товару не указан %НДС, то эти данные берутся из Справочника товаров; если не указана цена производителя, то она рассчитывается на основании цены закупочной и %наценки посредника и так далее. Недостающие данные также могут заполняться на основании данных по предыдущим приходам, например, данные по сертификатам, срокам годности, лабораториям.

  8. Срок годности товара по умолчанию равен дате окончания действия сертификата, поэтому при описании макета не обязательно описывать обработку данных по обоим полям, достаточно указать обработку Срока годности товара.

  9. Данные из файла, которым нет соответствия в БД или они не нужны при обработке, следует присвоить имя, состоящее из нескольких одинаковых букв (произвольных), например, «zzzzz».

  10. Без данных, которые выделены жирным шрифтом, накладная в базу не запишется. Остальные данные используются системой для разных целей, а именно:

  11. Для расценки товара могут использоваться следующие данные:

    • Наименование производителя.
    • Наименование страны.
    • Цена изготовителя (производителя) без НДС.
    • %наценки посредника.
    • %НДС.
    • Цена реестровая.
    • Срок годности товара.
  12. Для контроля фальсификата могут использоваться следующие данные:

    • Наименование производителя.
    • Наименование страны.
    • Серия товара.
  13. Для контроля товара с истекшим сроком годности могут использоваться следующие данные:

    • Срок годности товара.

Спецификация импорта прайс-листа поставщика в «М-АПТЕКА плюс»

Назначение данных Имя поля в базе Тип данных Комментарий
1 Код товара у поставщика NomNS Текст Произвольный текст длиной не более 50 знаков
2 Наименование товара у поставщика FullNameS Текст Произвольный текст длиной не более 300 знаков
3 Количество KolS Число Положительное десятичное число 4 знака после запятой
4 Наименование производителя NIzg Текст Произвольный текст длиной не более 200 знаков
5 Наименование страны CountryName Текст Произвольный текст длиной не более 100 знаков
6 Количество в упаковке KolU Текст Длина 50 знаков
7 Цена изготовителя (производителя) без НДС Cpro Число Требование см. в Доп. условиях п.2
8 Цена реестровая Clst Число Требование см. в Доп. условиях п.2
9 %НДС PrNDS Число Целое число из допустимых значений 0, 10, 18
10 Цена закупочная с учётом НДС Copt Число Требование см. в Доп. условиях п.2
11 Срок годности Srok Дата Требование см. в Доп. условиях п.1
12 Дата создания прайса SprPrice.DateCreate Дата
13 Время создания прайса SprPrice.TimeCreate Дата
14 Код поставщика в таблице трансляции МАП CodeOfSupplier Число Положительное целое число (для КроссМаркета)
15 Наименование производителя NIzgTmp Текст То же самое что и Nizg
16 Дата создания прайс-листа SprPrice.DateCreate Дата Требование см. в Доп. условиях п.1
17 Время создания прайс-листа SprPrice.TimeCreate Время Требование см. в Доп. условиях п.6

Дополнительные условия:

  1. Данные с типом Дата в файле могут быть в формате ДД.ММ.ГГГГ или ДД.ММ.ГГ или ДДММГГГГ. Для корректной записи в базу при описании макета необходимо подключить к колонке Тип функцию преобразования данных во внутренний формат Дату из формата ДДММГГГГ или ДД.ММ.ГГГГ или ДД.ММ.ГГ перевести в хоролог <User.MethodsOnConvert.ConvertDateToHorolog> (см. картинку в нижней таблице Как найти макет поставщика).

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

  3. Требования к данным Код товара у поставщика – данные должны быть представлены любым текстовым значением длиной не более 50 знаков и не содержащими ведущих пробелов и «нулей».

  4. Данные из файла, которым нет соответствия в БД или они не нужны при обработке, следует присвоить имя, состоящее из нескольких одинаковых букв (произвольных), например, «zzzzz».

  5. Без данных, которые выделены жирным шрифтом, прайс-лист в базу не запишется.

  6. Данные с типом Время в файле могут быть в формате ЧЧ:ММ или ЧЧММ. Для корректной записи в базу при описании макета необходимо подключить к колонке Тип функцию преобразования данных во внутренний формат Конвертирует время из "ЧЧММ" или "ЧЧ:ММ" в хоролог <User.MethodsOnConvert.ConvertTime> (см. картинку в нижней таблице Как найти макет поставщика).

Back to top