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

03.11.26

Разработка - СКД

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отчет "Задолженность клиентов по срокам с маркером Контур-Фокуса"
.erf 21,52Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Преамбула.

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

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

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

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

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

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

 

 

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

 

 

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

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

 

К Вашему вниманию другие мои публикации на Infostart.

Перенос, обмен и разделение баз

Универсальные инструменты 1С, СКД и печать

Зарплата, кадры и обмен с СФР

Администрирование баз, права и безопасность

Бухгалтерский учёт, налоги и отчётность

Финансовая аналитика, бюджетирование и дебиторка

Продажи, запасы и специализированные решения

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.19.74

Вступайте в нашу телеграмм-группу Инфостарт

Отчет

См. также

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    285459    1606    423    

1219

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Как решить проблему с отборами по полям СКД, когда с одинаковым отбором Отчет показывает одно, а Консоль запросов другое.

16.06.2026    6351    sapervodichka    45    

56

Инструментарий разработчика СКД Разработчик 1С 8.3 Бесплатно (free)

В этой статье представлен ПовелительОтчетов — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    9419    454    shapa_pro    31    

73

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    26982    ovetgana    112    

117

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    15751    krasnoshchekovpavel    7    

68

Статистика базы данных Разработчик 1С 8.3 Россия Абонемент ($m)

Отчёт показывает, сколько элементов и записей хранится в каждом справочнике, документе и регистре вашей базы, какой объём данных они занимают и сколько «весит» одна запись. Размер рассчитывается средствами платформы — без доступа к СУБД, поэтому отчёт работает в любой конфигурации на управляемых формах, в файловой и клиент-серверной базе. Помогает ответить на вопрос «за счёт чего растёт база», подготовиться к свёртке, переходу в облако или на PostgreSQL, найти «раздутые» регистры и документы. Есть расшифровки по табличным частям и движениям, диаграмма, выгрузка в Excel и PDF.

1 стартмани

13.05.2025    5693    104    SanchoD    24    

9

СКД Разработчик Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    15190    Neti    0    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Трактор 1297 19.11.24 13:59 Сейчас в теме
Месье знает толк в извращениях.
2. aximo 2770 19.11.24 15:23 Сейчас в теме
Заморочки с выражениями неудобны в использовании так-то
3. SerVer1C 1146 19.11.24 16:04 Сейчас в теме
Если так пойдет, то скоро будут парсить сайты в выражениях ресурсов.

Не проще ли было сделать в выражении: МойОбщийМодуль.МояФункцияПолученияЧисла(Расшифровка)
и в функции прописать типа такого:
Дж = Новый ЧтениеJSON;
Дж.УстановитьСтроку(Расшифровка);
Рез = ПрочитатьJSON(Дж);
Дж.Закрыть();
МнСтр = СтрРазделить(Рез.Расшифровка, " ");
Ч = СтрЗаменить(МнСтр[МнСтр.Количество() - 1], ",", ".");
Возврат Число(Ч);
4. user2114779 19.11.24 16:44 Сейчас в теме
(3) тоже хотел отметить. Проще уж было через модуль реализовать
5. SanchoD 393 19.11.24 17:00 Сейчас в теме
(3) Спасибо за комментарий.
Да, можно было использовать расширение, общий модуль с экспортной функцией.
Но решил так реализовать. Возможно кому-то пригодиться именно такое решение. Не всегда есть возможность вносить доработки через расширение, а допотчеты они и в Африке допотчеты.
10. TMV 1 30.11.24 12:13 Сейчас в теме
(3) визуально может и лучше, более никакого смысла нет.
если значение стркоа JSON хранится в регистре, то можно было добавить в регистр ресурс Расшифровка и рассчитывать его при записи регистра (или подключив обработчик заполнения). И тогда вообще красиво будет в скд
11. SanchoD 393 30.11.24 12:32 Сейчас в теме
(10) Здесь небольшая проблема. Этот регистр находится в расширении Контура. Трогать его, значит найти себе дополнительную работу с обновлением их расширения.
12. TMV 1 02.12.24 11:50 Сейчас в теме
(11) Да. Но отчет все равно будет на поддержке. Добавить подписку на запись рс(например) сложности не добавит
6. Kontakt 110 21.11.24 10:07 Сейчас в теме
расширение Контур-Фокус "отношение долга к EBITDA" у Вас самописаное или типовой модуль от Контура?
7. SanchoD 393 21.11.24 10:47 Сейчас в теме
(6) Модуль от Контура (Расширение + внешняя обработка). Маркер создан мной.
8. Kontakt 110 21.11.24 12:49 Сейчас в теме
(7) где его можно скачать у Контура?
9. SanchoD 393 21.11.24 15:31 Сейчас в теме
(8) Сервис платный.
Информацию можно посмотреть здесь:
https://support.kontur.ru/focus-1s8x
Для отправки сообщения требуется регистрация/авторизация