Skip to content

firstBitMarksistskaya/bit_jsonschema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

БИТ. JSON схема

Внешняя компонента для 1С 8.3 с использованием Native API написанная на языке Rust реализует обертку над библиотекой jsonschema.

Свойства компоненты

Общие свойства

Свойство Property Описание Чтение Запись
Версия version Текущая версия компоненты + -

Свойства ошибки

Свойство Property Описание Чтение Запись
Объект instance Ошибочный объект/элемент + -
ПутьОбъекта instance_path Путь к объекту + -
ПутьСхемы schema_path Путь к правилу в схеме + -
ВидОшибки kind + -
ПараметрыОшибки kind_properties + -
ТекстОшибки error_text Развернутый текст ошибки + -

Методы

Инициализировать (init)

Параметры:

Параметр Тип Обязательность Описание
schema Строка + JSON схема
draft Строка - Версия Draft

Возвращаемое значение:

success - Булево - Успешная инициализация

Валиден (is_valid)

Параметры:

Параметр Тип Обязательность Описание
instance Строка + Валидируемый JSON

СледующаяОшибка (next_error)

Параметры:

Отсутствуют

Возвращаемое значение:

success - Булево - Успешное получение следующей ошибки

GetLastError

Текст ошибки вызвавшей исключительную ситуацию

Параметры:

Отсутствуют.

Возвращаемое значение:

error_text - Строка - Текст ошибки

Пример использования

Если Не ПодключитьВнешнююКомпоненту(ПутьККомпоненте, "Scope", ТипВнешнейКомпоненты.Native) Тогда
	ВызватьИсключение "Ошибка подключения внешней компоненты";
КонецЕсли;

Компонента = Новый("Addin.Scope.BitJsonschema");

Попытка
	Если Не Компонента.Инициализировать(Объект.Схема) Тогда
		Пока Компонента.СледующаяОшибка() Цикл
			ТекстОшибки = Компонента.ТекстОшибки;
			Сообщить(СтрШаблон("Ошибка чтения схемы: %1", ТекстОшибки));
		КонецЦикла;
	Иначе
		Если Не Компонента.Валиден(Объект.JSON) Тогда
			Сообщить("Ошибка валидации:");
			Пока Компонента.СледующаяОшибка() Цикл
				ТекстОшибки = Компонента.ТекстОшибки;
				Сообщить(СтрШаблон("    %1", ТекстОшибки));
			КонецЦикла;
		КонецЕсли;
	КонецЕсли;
Исключение
	ТекстОшибки = ИнформацияОбОшибке().Описание;
	Сообщить(ТекстОшибки);
	ТекстОшибки = Компонента.GetLastError();
	Если Не ПустаяСтрока(ТекстОшибки) Тогда
		Сообщить(ТекстОшибки);
	КонецЕсли;
КонецПопытки;

Используемые сторонние компоненты

см. Cargo.toml

About

БИТ.JSON схема

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages