Каталог решений - Преобразование строковых реквизитов в СКД

Преобразование строковых реквизитов в СКД

Преобразование строковых реквизитов в СКД

В наличии

Пример извлечения числового значения из реквизита строкового типа в отчете на СКД.

Описание

Преамбула.

Была поставлена задача классифицировать контрагентов в отчете "Задолженность клиентов по срокам" на основании маркера Контур-Фокус "отношение долга к EBITDA".

В чем заключалась сложность.

Значение этого маркера хранилось в регистре сведений в виде строки JSON. Примерно в таком виде: {"Расшифровка": "Отношение долга к EBITDA: 1,001717688985921371582681842","Параметры": []}. Нужно было вытащить из этой строки числовой показатель 1,001717688985921371582681842 и вывести в отчет.

Что было сделано.

В запросе набора данных схемы СКД получал указанную выше строку из регистра — поле Расшифровка. Затем в выражении ресурса преобразовывал в числовое значение следующим образом:

Выбор Когда Расшифровка ЕСТЬ NULL Тогда 0
Когда Расшифровка = "" Тогда 0
Когда Лев(ВычислитьВыражение("СтрСоединить(СтрРазделить(Расшифровка, СтрСоединить(СтрРазделить(Расшифровка, ""0123456789,-""))))","Партнер"),1) = "," Тогда 0
Иначе Окр(Лев(ВычислитьВыражение("СтрСоединить(СтрРазделить(Расшифровка, СтрСоединить(СтрРазделить(Расшифровка, ""0123456789,-""))))","Партнер"),10),3)
Конец

 

 

В итоге получаем данные в отчете в таком виде:

 

 

Отчет для примера прикладываю к публикации.

ВНИМАНИЕ, если у вас не установлено соответствующее расширение Контур-Фокус, отчет работать НЕ будет.