Как работать с данными 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;