Как работать с данными Bitrix24

Дата:

Сделки с пользовательскими полями

Для получения дополнительных полей сделок вам необходимо выполнить следующий sql-запрос, в котором укажите домен "<domain>" вашего Bitrix24 и названия пользователских полей "field_name_1", "field_name_2" и т.д:

  select di.deal_id, 
   max(
           case
               when df.field_name = 'field_name_1' and uf.user_type_id = 'enumeration' then ufv.value
               when df.field_name = 'field_name_1' and uf.user_type_id <> 'enumeration' then df.value
               else cast(null as text)
               end) as field_name_1, 
   max(
           case
               when df.field_name = 'field_name_2' and uf.user_type_id = 'enumeration' then ufv.value
               when df.field_name = 'field_name_2' and uf.user_type_id <> 'enumeration' then df.value
               else cast(null as text)
               end) as field_name_2

   from "bitrix24_<domain>_deals" di
     left join "bitrix24_<domain>_deals_fields" df
         on (df.deal_id)::text = (di.deal_id)::text
     left join "bitrix24_<domain>_user_fields_values" ufv
         on (ufv.field_name = df.field_name and (ufv.value_id)::text = (df.value)::text)
     left join "bitrix24_<domain>_user_fields" uf
         on (uf.field_name = df.field_name) group by 1;