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

01.12.25

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

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

Файлы

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

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

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

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

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

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

 

 

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

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

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

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

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

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

 

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

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

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

 

 

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

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

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

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

См. также

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

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

15500 руб.

02.09.2020    228435    1245    415    

1082

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

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

9900 руб.

25.08.2025    25178    61    10    

68

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

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

22200 руб.

06.10.2023    30050    78    30    

104

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

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

16000 руб.

10.11.2023    21107    86    42    

95

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

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

9500 руб.

17.05.2024    43524    156    57    

194

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36000 руб.

28.08.2025    2619    1    2    

4

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

В процессе работы в 1С часто возникает потребность получить данные из другой базы. Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение для 1С, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

5000 руб.

24.09.2019    27019    22    16    

40

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

5000 руб.

27.12.2024    5106    8    0    

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

Этот метод вдохновлён статьей https://infostart.ru/1c/articles/1924346/ и проверен на рабочих проектах интеграции.
Для отправки сообщения требуется регистрация/авторизация