Проверка на заполненность обязательных полей в строке JSON

01.12.25

Разработка - Инструментарий разработчика

Обработка проверки заполненности и наличия обязательных полей в строке JSON.

Файлы

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

Наименование Скачано Купить файл
Проверка на заполненность обязательных полей в строке JSON
.epf 7,26Kb
6 2 500 руб. Купить

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

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

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

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

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

Попалась мне следующая задача:

 

 

Как задание для кандидата в программисты 1С имеет право на существование, но если рассматривать это как обычную рабочую задачу, то к ней имеется много вопросов.

Как быть, если поля вообще нет в строке? Поля нет, соответственно некорректно говорить о его заполненности. Я решил, что нужна отдельная проверка на то, что поля нет.

Также не очень понятно, что такое полный путь? Я решил включать в него индекс строки массива. Ведь может быть массив со строками, в части которых заполнено, в части – нет.

Еще одинаковое поле может быть вложено в разные элементы структуры. Надо найти все незаполненные или только с определенным путем?

Ну и список полей конечно лучше задавать не просто названием полей, а путем к этому полю.

Вообще лучше не делать отдельную проверку заполненности полей, а сверять с JSON Schema, ведь поле может быть заполнено, но строкой, а мы ожидаем число.

 

Решение в приложенной обработке. Код простой, может работать и на клиенте и на сервере, можно безболезненно переносить его в общий модуль.

Для преобразования строки JSON в объект используется метод глобального контекста ПрочитатьЗначениеJSON, так что работает только с платформы 8.3.23.

Получилась такая обработка. Заполняем текст JSON и список обязательных полей, по нажатию на кнопку Проверить получаем сообщение.

 

 

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

  • 1С:Управление холдингом 3.2 (русский и английский интерфейсы), релизы 3.2.10.10

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

JSON рекурсия проверка заполненности

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    72024    367    170    

319

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

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

16500 руб.

02.09.2020    262724    1462    421    

1172

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    39022    108    46    

122

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    58608    119    34    

129

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4178    14    1    

18

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    6958    29    41    

44

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    53806    185    63    

218

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

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    25815    95    46    

103
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2693 01.12.25 09:46 Сейчас в теме
Кстати, достаточно тривиальная и актуальная задача… в большинстве случаев необходимо, чтобы json содержал не просто гуиды, разложенные по метаданным, а именно что содержится в этих метаданных
2. infosoft-v 1095 01.12.25 11:07 Сейчас в теме
Кажется, что хорошим решением этой задачи будет будет проверка XDTO объекта по схеме XDTO. Иными словами:
1. В конфигурации создаем XDTO схему соответствующую проверяемому JSON. В схеме указываем, какие поля обязательно должны присутствовать, какие должны быть заполнены, какие типы должны быть у полей.
2. Создаем объект XDTO по схеме XDTO и загружаем в этот объект нашу строку JSON
3. Поверяем валидность XDTO объекта используя платформенные методы

Этот метод вдохновлён статьей https://infostart.ru/1c/articles/1924346/ и проверен на рабочих проектах интеграции.
Daruma; ardn; +2 Ответить
3. Daruma 09.12.25 11:37 Сейчас в теме
Актуально при работе с API. Решаем через XDTO.
Для отправки сообщения требуется регистрация/авторизация