/meta-validate - валидация объекта метаданных 1С
Проверяет XML объекта метаданных из выгрузки конфигурации на структурные ошибки.
Параметры
| Параметр | Обяз. | Умолч. | Описание |
|---|---|---|---|
| ObjectPath | да | - | Путь к XML-файлу или каталогу. Через | для batch |
| Detailed | нет | - | Подробный вывод (все проверки, включая успешные) |
| MaxErrors | нет | 30 | Остановиться после N ошибок (per object) |
| OutFile | нет | - | Записать результат в файл (UTF-8 BOM) |
| IndexPath | нет | - | Индекс конфигурации от 1c-config-index: включает сверку ссылочных типов с остальной конфигурацией |
Команда
powershell.exe -NoProfile -File skills/1c-meta-validate/scripts/meta-validate.ps1 -ObjectPath "Catalogs/Номенклатура/Номенклатура.xml"
powershell.exe -NoProfile -File skills/1c-meta-validate/scripts/meta-validate.ps1 -ObjectPath "Catalogs/Банки|Documents/Заказ"
Сверка ссылочных типов (проверка 16)
Реквизит с типом CatalogRef.Контрагенты при отсутствующем справочнике проходил валидацию: объект
проверялся сам по себе. Проверка 16 закрывает это - она сверяет типы реквизитов, измерений,
ресурсов, реквизитов табличных частей и значение самого объекта с тем, что есть в конфигурации.
Два источника ответа:
-IndexPath- индекс от навыка1c-config-index. Точный ответ: индекс несет ВСЕ порождаемые типы конфигурации, включаяCharacteristic.ВидыСубконтоиDefinedType.МойТип. Строится один раз на прогон, поэтому годится для проверки всей конфигурации подряд.- Без него - резерв: объект ищется файлом в каталоге конфигурации. Для одного объекта дешево, на всей конфигурации - обход каталога на каждую ссылку.
Нет ни того, ни другого (одиночный файл вне выгрузки) - проверка не выполняется и прямо об этом сообщает. Молчать нельзя: молчание читалось бы как "нарушений нет".
Тяжесть всегда предупреждение, не ошибка. Проверяется ОДИН объект, и валидатор не знает, полна ли
выгрузка: файл могли достать из конфигурации побольше. В расширении и у заимствованного объекта
(ObjectBelonging = Adopted) формулировка мягче - там ссылка на основную конфигурацию нормальна.
Ссылочный тип узнается по форме имени: часть до первой точки кончается на Ref либо это
Characteristic или DefinedType. Прочее с точкой не трогается - ложное срабатывание дороже
пропуска.
python skills/1c-config-index/scripts/config-index.py -ConfigPath src -OutFile .cache/index.json
python skills/1c-meta-validate/scripts/meta-validate.py -ObjectPath src/Catalogs/Контрагенты.xml -IndexPath .cache/index.json