Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Порядок и особенности создания конфигурационного файла тарификатора показан на примере.



Требования и особенности формирования конфигурационного файла описаны в виде комментариев в примере ниже.

ПРИМЕЧАНИЕ

Если для ИП и ЮЛ действуют одинаковые тарифы, то можно один и тотже конфигурационный файл использовать у продукта для ЮЛ и ИП.

ВНИМАНИЕ

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


Например, в примере ниже есть следующие варианты значений поля field:

"BG:productDealState.amount"

"BG:productDealState.termDays"

"BG:productDealState.tender.federalLaw"

"BG:productDealState.isPrepayment"

Т.к. все эти значения типа "PRODUCT_FIELDS", то в настройках продукта перечисленные значения должны быть указаны в блоке  productFields.required

ПРИМЕЧАНИЕ

Рекомендуется перед импортом проверить файл с помощью любого валидатора yaml, чтобы исключить явные ошибки форматирования.

Скачать пример можно также по ссылке Пример для документации - Тарификатор Банка БАНК1 для БГ(И) (ред. 06-06-2019).yaml

#-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#тарифы, связанные с продуктом
#тарифов может быть несколько в зависимости от ограничений, для каждого набора ограничений свой тариф, если тариф зависит от набора ограничений
tariffs:
- #tariff:
  #name varchar(250) NOT NULL
  name: "Тарифы по 185 ФЗ/615 ПП для банковской гарантии на исполнение, БАНК1"
  #shortName varchar(50) NOT NULL
  #выводится в списке тарифов продукта в личном кабинете поставщика сервиса
  shortName: "185 ФЗ/615 ПП, БГ(И), БАНК1"
  #description varchar(500) NULL
  #может использоваться при выводе подсказки по тарифу в списке тарифов продукта в личном кабинете поставщика сервиса
  description: "185 ФЗ/615 ПП, БГ(И), БАНК1"
  #указание на тип продукта, для которого создается тариф, по нему выполняется явная валидация связанных продуктов и ограничений внутри тарифа
  #мнемокод типа продукта, выбирается из справочника product_types
  #Например, "BG" или "PARTICIPATION_BG" или "TENDER_LOAN"
  productType: "BG"
  #startDate date NOT NULL, Дата начала действия тарифа в системе в формате "yyyy-mm-dd"
  startDate: "2017-01-01"
  #endDate date NULL, Дата окончания действия тарифа в системе, если EndDate = Null и текущая дата > StartDate, то считаем, что тариф действует
  #endDate в формате "yyyy-mm-dd"
  endDate: NULL
  #раздел settings, состав блока зависит от типа тарификатора
  #на текущий момент поддерживается только тип тарифа = INTERNAL
  #тариф может быть встроенный = INTERNAL, при котором в goodfin импортируются данные для расчета предварительного тарифа, который выводится в предложениях клиенту
  #тариф может определяться по запросу к API сервиса в момент рассмотрения предложения. Пока не реализовано
  #тариф может определяться сервисом только в момент рассмотрения заявки, следовательно на нашей стороне мы можем только указать "Определяется в сервисе". Пока не реализовано
  settings:
    #на текущий момент поддерживается только тип тарифа = INTERNAL
    type: "INTERNAL"
    #fieldColumn - это поле, по диапазонам значений которого будут рисоваться колонки тарификатора
    #Надо выбирать поле того типа продукта, для которого строится тариф
    #Поле также должно быть указано обязательным для продукта
    fieldColumn:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.amount" или "PARTICIPATION_BG:productDealState.amount" или "TENDER_LOAN:productDealState.amount"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.amount"
    #fieldRow - это поле, по диапазонам значений которого будут рисоваться строки тарификатора.
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    fieldRow:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.termDays" или "PARTICIPATION_BG:productDealState.termDays" или "TENDER_LOAN:productDealState.termDays"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.termDays"
    #calcField - это поле, которое является базовым для определения тарифа.
    #От значения данного поля будут браться проценты, суммироваться надбавки или вычитаться скидки и пр.
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    calcField:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.amount" или "PARTICIPATION_BG:productDealState.amount" или "TENDER_LOAN:productDealState.amount"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.amount"
    #строки тарифа
    tariffСalculatingRows:
    #rowStartValue - указание, с какой величины начинается расчет
    #rowStartValue < проверяемое значение <= rowEndValue,  другими словами диапазон указывается по правилу (rowStartValue,rowEndValue]
    #rowName - имя строки, которое используется как код диапазона значений строки тарифа при описании ячеек тарифа
    -
      rowName: "row1_365"
      rowStartValue: 1
      rowEndValue: 365
    -
      rowName: "row365_732"
      rowStartValue: 365
      rowEndValue: 732
    -
      rowName: "row732_1095"
      rowStartValue: 732
      rowEndValue: 1095

    #колонка тарифа
    tariffСalculatingColumns:
    #columnStartValue < период <= columnEndValue, другими словами диапазон указывается по правилу (columnStartValue,columnEndValue]
    #columnName - имя колонки, которое используется как код диапазона значений колонки тарифа при описании ячеек тарифа
    -
      columnName: "col0_50000"
      columnStartValue: 0
      columnEndValue: 50000
    -
      columnName: "col50000_100000"
      columnStartValue: 50000
      columnEndValue: 100000
    -
      columnName: "col100000_500000"
      columnStartValue: 100000
      columnEndValue: 500000
    -
      columnName: "col500000_1000000"
      columnStartValue: 500000
      columnEndValue: 1000000
    -
      columnName: "col1000000_3000000"
      columnStartValue: 1000000
      columnEndValue: 3000000
    -
      columnName: "col3000000_7000000"
      columnStartValue: 3000000
      columnEndValue: 7000000
    -
      columnName: "col7000000_10000000"
      columnStartValue: 7000000
      columnEndValue: 10000000
    -
      columnName: "col10000000_50000000"
      columnStartValue: 10000000
      columnEndValue: 50000000
    -
      columnName: "col50000000_100000000"
      columnStartValue: 50000000
      columnEndValue: 100000000
    -
      columnName: "col100000000_150000000"
      columnStartValue: 100000000
      columnEndValue: 150000000

    tariffCells:
    #rowName - ссылка на строку, NOT NULL
    #columnName - ссылка на колонку, NOT NULL
    #cellValue - ставка
    #cellValueType - тип значения. Возможные варианты значений см. в справочнике tariff_cell_types
    #cellMinValue - минимальная ставка, может быть NULL
    #cellMinValueType - тип значения, может быть NULL, если cellMinValue = NULL. Возможные варианты значений см. в справочнике tariff_cell_types

    - {rowName: "row1_365", columnName: "col0_50000", cellValue: 2400.00, cellValueType: "RUB", cellMinValue: 2400.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col50000_100000", cellValue: 4200.00, cellValueType: "RUB", cellMinValue: 4200.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col100000_500000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 6000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col500000_1000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 12000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col1000000_3000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16800.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col3000000_7000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col7000000_10000000", cellValue: 3.96, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col10000000_50000000", cellValue: 3.96, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col50000000_100000000", cellValue: 3.74, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col100000000_150000000", cellValue: 3.48, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col0_50000", cellValue: 3000.00, cellValueType: "RUB", cellMinValue: 3000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col50000_100000", cellValue: 4800.00, cellValueType: "RUB", cellMinValue: 4800.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col100000_500000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 6000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col500000_1000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 12000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col1000000_3000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16800.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col3000000_7000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col7000000_10000000", cellValue: 3.96, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col10000000_50000000", cellValue: 3.96, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col50000000_100000000", cellValue: 3.74, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col100000000_150000000", cellValue: 3.48, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col0_50000", cellValue: 3000.00, cellValueType: "RUB", cellMinValue: 3000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col50000_100000", cellValue: 6000.00, cellValueType: "RUB", cellMinValue: 6000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col100000_500000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 6000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col500000_1000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 12000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col1000000_3000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16800.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col3000000_7000000", cellValue: 4.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col7000000_10000000", cellValue: 3.96, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col10000000_50000000", cellValue: 3.96, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col50000000_100000000", cellValue: 3.74, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col100000000_150000000", cellValue: 3.48, cellValueType: "ANNUAL_PERCENT", cellMinValue: 18000.00, cellMinValueType: "RUB"}

    tariffConstraints:
    #блок повторяется столько раз, сколько ограничений в применимости тарифа
    #type и field - это блок для указания поля, по которому будет определяться ограничение применимости тарифа
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    #valueType varchar(50) NOT NULL. Это может быть простое перечисление значений ENUM, может быть диапазон значений RANGE.
    #для типа valueType = ENUM values оформляется списком допустимых значений
    #для типа valueType = RANGE values оформляется обязательным списком из двух значений: начального и конечного
    -
      type: "PRODUCT_FIELDS"
      field: "BG:productDealState.tender.federalLaw"
      valueType: "ENUM"
      values:
      - "185FL615PP"
- #tariff:
  #name varchar(250) NOT NULL
  name: "44,223-ФЗ, без аванса, БГ(И), БАНК1"
  #shortName varchar(50) NOT NULL
  #выводится в списке тарифов продукта в личном кабинете поставщика сервиса
  shortName: "44,223-ФЗ, без аванса, БГ(И), БАНК1"
  #description varchar(500) NULL
  #может использоваться при выводе подсказки по тарифу в списке тарифов продукта в личном кабинете поставщика сервиса
  description: "44,223-ФЗ, без аванса, БГ(И), БАНК1"
  #указание на тип продукта, для которого создается тариф, по нему выполняется явная валидация связанных продуктов и ограничений внутри тарифа
  #мнемокод типа продукта, выбирается из справочника product_types
  #Например, "BG" или "PARTICIPATION_BG" или "TENDER_LOAN"
  productType: "BG"
  #startDate date NOT NULL, Дата начала действия тарифа в формате "yyyy-mm-dd"
  startDate: "2017-01-01"
  #endDate date NULL, Дата окончания действия тарифа, если EndDate = Null и текущая дата > StartDate, то считаем, что тариф действует
  #endDate в формате "yyyy-mm-dd"
  endDate: NULL
  #раздел settings, состав блока зависит от типа тарификатора
  #на текущий момент поддерживается только тип тарифа = INTERNAL
  #тариф может быть встроенный = INTERNAL, при котором в goodfin импортируются данные для расчета предварительного тарифа, который выводится в предложениях клиенту
  #тариф может определяться по запросу к API сервиса в момент рассмотрения предложения. Пока не реализовано
  #тариф может определяться сервисом только в момент рассмотрения заявки, следовательно на нашей стороне мы можем только указать "Определяется в сервисе". Пока не реализовано
  settings:
    #на текущий момент поддерживается только тип тарифа = INTERNAL
    type: "INTERNAL"
    #fieldColumn - это поле, по диапазонам значений которого будут рисоваться колонки тарификатора
    #Надо выбирать поле того типа продукта, для которого строится тариф
    #Поле также должно быть указано обязательным для продукта
    fieldColumn:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.amount" или "PARTICIPATION_BG:productDealState.amount" или "TENDER_LOAN:productDealState.amount"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.amount"
    #fieldRow - это поле, по диапазонам значений которого будут рисоваться строки тарификатора.
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    fieldRow:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.termDays" или "PARTICIPATION_BG:productDealState.termDays" или "TENDER_LOAN:productDealState.termDays"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.termDays"
    #calcField - это поле, которое является базовым для определения тарифа.
    #От значения данного поля будут браться проценты, суммироваться надбавки или вычитаться скидки и пр.
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    calcField:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.amount" или "PARTICIPATION_BG:productDealState.amount" или "TENDER_LOAN:productDealState.amount"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.amount"
    #строки тарифа
    tariffСalculatingRows:
    #rowStartValue - указание, с какой величины начинается расчет
    #rowStartValue < проверяемое значение <= rowEndValue,  другими словами диапазон указывается по правилу (rowStartValue,rowEndValue]
    #rowName - имя строки, которое используется как код диапазона значений строки тарифа при описании ячеек тарифа
    -
      rowName: "row1_365"
      rowStartValue: 1
      rowEndValue: 365
    -
      rowName: "row365_732"
      rowStartValue: 365
      rowEndValue: 732
    -
      rowName: "row732_1095"
      rowStartValue: 732
      rowEndValue: 1095

    #колонка тарифа
    tariffСalculatingColumns:
    #columnStartValue < период <= columnEndValue, другими словами диапазон указывается по правилу (columnStartValue,columnEndValue]
    #columnName - имя колонки, которое используется как код диапазона значений колонки тарифа при описании ячеек тарифа
    -
      columnName: "col0_50000"
      columnStartValue: 0
      columnEndValue: 50000
    -
      columnName: "col50000_100000"
      columnStartValue: 50000
      columnEndValue: 100000
    -
      columnName: "col100000_500000"
      columnStartValue: 100000
      columnEndValue: 500000
    -
      columnName: "col500000_1000000"
      columnStartValue: 500000
      columnEndValue: 1000000
    -
      columnName: "col1000000_3000000"
      columnStartValue: 1000000
      columnEndValue: 3000000
    -
      columnName: "col3000000_7000000"
      columnStartValue: 3000000
      columnEndValue: 7000000
    -
      columnName: "col7000000_10000000"
      columnStartValue: 7000000
      columnEndValue: 10000000
    -
      columnName: "col10000000_50000000"
      columnStartValue: 10000000
      columnEndValue: 50000000
    -
      columnName: "col50000000_100000000"
      columnStartValue: 50000000
      columnEndValue: 100000000
    -
      columnName: "col100000000_150000000"
      columnStartValue: 100000000
      columnEndValue: 150000000

    tariffCells:
    #rowName - ссылка на строку, NOT NULL
    #columnName - ссылка на колонку, NOT NULL
    #cellValue - ставка
    #cellValueType - тип значения. Возможные варианты значений см. в справочнике tariff_cell_types
    #cellMinValue - минимальная ставка, может быть NULL
    #cellMinValueType - тип значения, может быть NULL, если cellMinValue = NULL. Возможные варианты значений см. в справочнике tariff_cell_types
    - {rowName: "row1_365", columnName: "col0_50000", cellValue: 2000.00, cellValueType: "RUB", cellMinValue: 2000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col50000_100000", cellValue: 3500.00, cellValueType: "RUB", cellMinValue: 3500.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col100000_500000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col500000_1000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 10000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col1000000_3000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 14000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col3000000_7000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col7000000_10000000", cellValue: 3.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col10000000_50000000", cellValue: 3.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col50000000_100000000", cellValue: 3.05, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col100000000_150000000", cellValue: 2.90, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col0_50000", cellValue: 2500.00, cellValueType: "RUB", cellMinValue: 2500.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col50000_100000", cellValue: 4000.00, cellValueType: "RUB", cellMinValue: 4500.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col100000_500000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col500000_1000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 10000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col1000000_3000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 14000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col3000000_7000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col7000000_10000000", cellValue: 3.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col10000000_50000000", cellValue: 3.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col50000000_100000000", cellValue: 3.05, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col100000000_150000000", cellValue: 2.90, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col0_50000", cellValue: 2500.00, cellValueType: "RUB", cellMinValue: 2500.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col50000_100000", cellValue: 5000.00, cellValueType: "RUB", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col100000_500000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col500000_1000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 10000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col1000000_3000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 14000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col3000000_7000000", cellValue: 3.40, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col7000000_10000000", cellValue: 3.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col10000000_50000000", cellValue: 3.20, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col50000000_100000000", cellValue: 3.05, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col100000000_150000000", cellValue: 2.90, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    tariffConstraints:
    #блок повторяется столько раз, сколько ограничений в применимости тарифа
    #type и field - это блок для указания поля, по которому будет определяться ограничение применимости тарифа
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    #valueType varchar(50) NOT NULL. Это может быть простое перечисление значений ENUM, может быть диапазон значений RANGE.
    #для типа valueType = ENUM values оформляется списком допустимых значений
    #для типа valueType = RANGE values оформляется обязательным списком из двух значений: начального и конечного
    -
      type: "PRODUCT_FIELDS"
      field: "BG:productDealState.isPrepayment"
      valueType: "ENUM"
      values:
      - "false"
    -
      type: "PRODUCT_FIELDS"
      field: "BG:productDealState.tender.federalLaw"
      valueType: "ENUM"
      values:
      - "223FL"
      - "44FL"
- #tariff:
  #name varchar(250) NOT NULL
  name: "44,223-ФЗ, с авансом, БГ(И), БАНК1"
  #shortName varchar(50) NOT NULL
  #выводится в списке тарифов продукта в личном кабинете поставщика сервиса
  shortName: "44,223-ФЗ, с авансом, БГ(И), БАНК1"
  #description varchar(500) NULL
  #может использоваться при выводе подсказки по тарифу в списке тарифов продукта в личном кабинете поставщика сервиса
  description: "44,223-ФЗ, с авансом, БГ(И), БАНК1"
  #указание на тип продукта, для которого создается тариф, по нему выполняется явная валидация связанных продуктов и ограничений внутри тарифа
  #мнемокод типа продукта, выбирается из справочника product_types
  #Например, "BG" или "PARTICIPATION_BG" или "TENDER_LOAN"
  productType: "BG"
  #startDate date NOT NULL, Дата начала действия тарифа в формате "yyyy-mm-dd"
  startDate: "2017-01-01"
  #endDate date NULL, Дата окончания действия тарифа, если EndDate = Null и текущая дата > StartDate, то считаем, что тариф действует
  #endDate в формате "yyyy-mm-dd"
  endDate: NULL
  #раздел settings, состав блока зависит от типа тарификатора
  #на текущий момент поддерживается только тип тарифа = INTERNAL
  #тариф может быть встроенный = INTERNAL, при котором в goodfin импортируются данные для расчета предварительного тарифа, который выводится в предложениях клиенту
  #тариф может определяться по запросу к API сервиса в момент рассмотрения предложения. Пока не реализовано
  #тариф может определяться сервисом только в момент рассмотрения заявки, следовательно на нашей стороне мы можем только указать "Определяется в сервисе". Пока не реализовано
  settings:
    #на текущий момент поддерживается только тип тарифа = INTERNAL
    type: "INTERNAL"
    #fieldColumn - это поле, по диапазонам значений которого будут рисоваться колонки тарификатора
    #Надо выбирать поле того типа продукта, для которого строится тариф
    #Поле также должно быть указано обязательным для продукта
    fieldColumn:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.amount" или "PARTICIPATION_BG:productDealState.amount" или "TENDER_LOAN:productDealState.amount"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.amount"
    #fieldRow - это поле, по диапазонам значений которого будут рисоваться строки тарификатора.
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    fieldRow:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.termDays" или "PARTICIPATION_BG:productDealState.termDays" или "TENDER_LOAN:productDealState.termDays"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.termDays"
    #calcField - это поле, которое является базовым для определения тарифа.
    #От значения данного поля будут браться проценты, суммироваться надбавки или вычитаться скидки и пр.
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    calcField:
      #type varchar(50) NOT NULL - указывает на один из справочников - источник поля field
      #по умолчанию, PRODUCT_FIELDS. Также может быть COMPANY_FIELDS
      type: "PRODUCT_FIELDS"
      #field varchar(100) NOT NULL указание на поле, участвующее в расчете
      #Например, "BG:productDealState.amount" или "PARTICIPATION_BG:productDealState.amount" или "TENDER_LOAN:productDealState.amount"
      #полный перечень возможных значений для типа COMPANY_FIELDS см. в company_fields
      #полный перечень возможных значений для типа PRODUCT_FIELDS см. в product_types_fields
      field: "BG:productDealState.amount"
    #строки тарифа
    tariffСalculatingRows:
    #rowStartValue - указание, с какой величины начинается расчет
    #rowStartValue < проверяемое значение <= rowEndValue,  другими словами диапазон указывается по правилу (rowStartValue,rowEndValue]
    #rowName - имя строки, которое используется как код диапазона значений строки тарифа при описании ячеек тарифа
    -
      rowName: "row1_365"
      rowStartValue: 1
      rowEndValue: 365
    -
      rowName: "row365_732"
      rowStartValue: 365
      rowEndValue: 732
    -
      rowName: "row732_1095"
      rowStartValue: 732
      rowEndValue: 1095

    #колонка тарифа
    tariffСalculatingColumns:
    #columnStartValue < период <= columnEndValue, другими словами диапазон указывается по правилу (columnStartValue,columnEndValue]
    #columnName - имя колонки, которое используется как код диапазона значений колонки тарифа при описании ячеек тарифа
    -
      columnName: "col0_50000"
      columnStartValue: 0
      columnEndValue: 50000
    -
      columnName: "col50000_100000"
      columnStartValue: 50000
      columnEndValue: 100000
    -
      columnName: "col100000_500000"
      columnStartValue: 100000
      columnEndValue: 500000
    -
      columnName: "col500000_1000000"
      columnStartValue: 500000
      columnEndValue: 1000000
    -
      columnName: "col1000000_3000000"
      columnStartValue: 1000000
      columnEndValue: 3000000
    -
      columnName: "col3000000_7000000"
      columnStartValue: 3000000
      columnEndValue: 7000000
    -
      columnName: "col7000000_10000000"
      columnStartValue: 7000000
      columnEndValue: 10000000
    -
      columnName: "col10000000_50000000"
      columnStartValue: 10000000
      columnEndValue: 50000000
    -
      columnName: "col50000000_100000000"
      columnStartValue: 50000000
      columnEndValue: 100000000
    -
      columnName: "col100000000_150000000"
      columnStartValue: 100000000
      columnEndValue: 150000000

    tariffCells:
    #rowName - ссылка на строку, NOT NULL
    #columnName - ссылка на колонку, NOT NULL
    #cellValue - ставка
    #cellValueType - тип значения. Возможные варианты значений см. в справочнике tariff_cell_types
    #cellMinValue - минимальная ставка, может быть NULL
    #cellMinValueType - тип значения, может быть NULL, если cellMinValue = NULL. Возможные варианты значений см. в справочнике tariff_cell_types
    - {rowName: "row1_365", columnName: "col0_50000", cellValue: 2000.00, cellValueType: "RUB", cellMinValue: 2000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col50000_100000", cellValue: 3500.00, cellValueType: "RUB", cellMinValue: 3500.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col100000_500000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col500000_1000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 10000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col1000000_3000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 14000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col3000000_7000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col7000000_10000000", cellValue: 3.80, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col10000000_50000000", cellValue: 3.60, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col50000000_100000000", cellValue: 3.05, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row1_365", columnName: "col100000000_150000000", cellValue: 2.90, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col0_50000", cellValue: 2500.00, cellValueType: "RUB", cellMinValue: 2500.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col50000_100000", cellValue: 4000.00, cellValueType: "RUB", cellMinValue: 4500.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col100000_500000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col500000_1000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 10000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col1000000_3000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 14000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col3000000_7000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col7000000_10000000", cellValue: 3.80, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col10000000_50000000", cellValue: 3.60, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col50000000_100000000", cellValue: 3.05, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row365_732", columnName: "col100000000_150000000", cellValue: 2.90, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col0_50000", cellValue: 2500.00, cellValueType: "RUB", cellMinValue: 2500.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col50000_100000", cellValue: 5000.00, cellValueType: "RUB", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col100000_500000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 5000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col500000_1000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 10000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col1000000_3000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 14000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col3000000_7000000", cellValue: 3.70, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col7000000_10000000", cellValue: 3.80, cellValueType: "ANNUAL_PERCENT", cellMinValue: 16000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col10000000_50000000", cellValue: 3.60, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col50000000_100000000", cellValue: 3.05, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    - {rowName: "row732_1095", columnName: "col100000000_150000000", cellValue: 2.90, cellValueType: "ANNUAL_PERCENT", cellMinValue: 15000.00, cellMinValueType: "RUB"}
    tariffConstraints:
    #блок повторяется столько раз, сколько ограничений в применимости тарифа
    #type и field - это блок для указания поля, по которому будет определяться ограничение применимости тарифа
    #Надо выбирать поле того типа продукта, для которого строится тарификатор
    #Поле также должно быть указано обязательным для продукта
    #valueType varchar(50) NOT NULL. Это может быть простое перечисление значений ENUM, может быть диапазон значений RANGE.
    #для типа valueType = ENUM values оформляется списком допустимых значений
    #для типа valueType = RANGE values оформляется обязательным списком из двух значений: начального и конечного
    -
      type: "PRODUCT_FIELDS"
      field: "BG:productDealState.isPrepayment"
      valueType: "ENUM"
      values:
      - "true"
    -
      type: "PRODUCT_FIELDS"
      field: "BG:productDealState.tender.federalLaw"
      valueType: "ENUM"
      values:
      - "223FL"
      - "44FL"

  • Нет меток