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

19.11.24

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 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)
Конец

 

 

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

 

 

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

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

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

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

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

Отчет

См. также

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

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

16500 руб.

02.09.2020    257887    1426    421    

1163

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

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

29.01.2026    6725    346    shapa_pro    27    

69

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

29.10.2025    19458    ovetgana    112    

112

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

01.07.2025    11249    krasnoshchekovpavel    7    

68

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

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

10.04.2025    10779    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    16704    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    14377    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    11254    AlexeyPROSTO_1C    1    

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

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