vchikalkin 8836b358c2 В разделе ELT в таблицу "ОСАГО" добавить изменения в формирование списка СК - должны отображаться записи Контрагентов, у которых "Тип полиса" evo_type_ins_policy содержит "ОСАГО" 100 000 001 И ("ID Наш расчет ОСАГО" evo_osago_id содержит данные или "ID ELT ОСАГО" evo_id_elt_osago содержит данные).
В массив записей надо добавить признак "metodCalc", который заполняется следующим образом:

если в Контрагенте поле "ID ELT ОСАГО"  evo_id_elt_osago содержит данные, то указывается "ELT"
если в Контрагенте поле "ID Наш расчет ОСАГО" evo_osago_id  содержит данные, то указывается "CRM"
иначе указывается null
    "osago": {
      "id": "YUGORIA",
      "key": "a48b3d07-7b40-eb11-bae6-00155d088a12",
      "message": "",
      "name": "ГСК ЮГОРИЯ",
      "numCalc": 3890624,
      "requestId": "",
      "skCalcId": "0",
      "status": null,
      "sum": 28243.98,
      "totalFranchise": 0

       "methodCalc": CRM

В момент нажатия кнопки "Расчет ОСАГО по ELT" (отдельную кнопку не делаем, т.к. проверки на расчет ЕЛТ должны и тут действовать) необходимо добавить развилку:

если у записи "metodCalc": ELT, то отправляется запрос в ELT по текущей логике
если у записи "metodCalc": CRM, то ищется запись Типа дополнительных продуктов evo_addproduct_type, у которой:
"Статус" statecode = активная

И "Тип продукта" evo_product_type = ОСАГО 100 000 008

И "Отображать для расчета в ЛК" evo_visible_calc = Да

И "Провайдер услуг"  evo_accountid = "key" данной записи

И "Начало действия" evo_datefrom меньше или равно текущей даты

И "Окончание действия" evo_dateto больше или равно текущей даты

И "Категория ТС" evo_category = значению из поля Категория ТС на форме (значение "Не выбрано" на форме должно быть равно "пусто" в поле карточки)

И "Min мощность, л.с." evo_min_power меньше или равна значению из поля Мощность на форме

И "Max мощность, л.с." evo_max_power больше или равна значению из поля Мощность на форме

И "Min количество мест" evo_min_seats_count меньше или равна значению из поля Количество мест на форме

И "Max количество мест" evo_max_seats_count если больше или равна значению из поля Количество мест на форме

И "Min Разрешенная макс.масса, кг" evo_min_mass меньше или равна значению из поля Разрешенная макс.масса на форме

И "Max Разрешенная макс.масса, кг" evo_max_mass больше или равна значению из поля Разрешенная макс.масса на форме

Если найдена одна запись,то в массиве записываются  значения:

"numCalc" = значение поля evo_addproduct_type.evo_id ID,
"sum"= evo_addproduct_type.evo_graph_price_withoutnds Стоимость (закладываем в график), без НДС, руб.,
"totalFranchise" = 0
Если не найдена такая запись, то в массиве записываются  значения:

"numCalc" = null,
"sum"= 0.00,
"totalFranchise" = 0
Если найдено несколько записей, то берем последнюю по дате создания и по ней записываем в массив значения:

"numCalc" = значение поля evo_addproduct_type.evo_id ID,
"sum"= evo_addproduct_type.evo_graph_price_withoutnds Стоимость (закладываем в график), без НДС, руб.,
"totalFranchise" = 0
2024-03-26 11:15:49 +03:00
..
2024-03-24 10:56:29 +03:00
2023-05-12 11:34:09 +03:00
2024-03-24 10:59:02 +03:00
2023-05-12 11:34:09 +03:00