При подготовке собственного программного продукта к получению престижного статуса "1С:Совместимо" разработчики неизбежно сталкиваются с необходимостью прохождения строгой проверки качества кода. Главным инструментом для этого выступает конфигурация "Автоматизированная проверка конфигураций" (АПК). На практике часто возникает ситуация, когда при анализе решения, созданного на основе Библиотеки стандартных подсистем (БСП), АПК выдает огромное количество предупреждений и ошибок именно в модулях самой БСП. Давайте подробно разберем, нужно ли тратить время на исправление чужого кода, как правильно настроить инструменты проверки и как успешно пройти аудит в фирме "1С".
Рассмотрим официальную позицию фирмы "1С" по этому вопросу. Главное правило звучит так: код стандартных библиотек, поставляемых фирмой "1С", исправлять не требуется. Это относится ко всем неизмененным объектам метаданных, которые находятся на поддержке поставщика. Фирма "1С" прекрасно осведомлена о наличии предупреждений АПК в своих типовых решениях (таких как БСП, БПО, БЭД) и не требует от сторонних разработчиков приведения чужого кода к идеальному соответствию стандартам.
Однако из этого правила есть важнейшее исключение. Проанализируем ситуацию, когда вы вносили изменения в типовые объекты. Если вы модифицировали код в переопределяемых модулях БСП (например, в модуле ОбщегоНазначенияПереопределяемый) или добавляли собственный функционал в существующие типовые процедуры, то все ошибки АПК в измененных вами участках кода должны быть исправлены в обязательном порядке. Этот код уже считается вашим собственным, и к нему предъявляются самые строгие требования.
Для того чтобы проверяющие специалисты из фирмы "1С" не тратили время на ручную фильтрацию ошибок в коде поставщика, вам необходимо предоставить специальный документ — Протокол расхождений (или таблицу отклонений). Обычно этот файл создается в формате Excel и имеет стандартизированное имя, например Отсутствие_ошибок.xlsx.
Выясним, как правильно заполнить этот файл, чтобы избежать замечаний при аудите:
Посмотрим на пример структуры комментирования кода, если вам все же пришлось внести точечное изменение в переопределяемый модуль БСП:
// позиционируем начало доработки собственным префиксом
// _ДГ_НачалоДоработки
Если ПараметрыРегистрации = Неопределено Тогда
ПараметрыРегистрации = Новый Структура;
КонецЕсли;
// _ДГ_КонецДоработки
Чтобы упростить себе жизнь и не возиться со сбором огромных таблиц "мусорных" ошибок, мы можем настроить конфигурацию АПК так, чтобы она игнорировала стандартный код поставщика еще на этапе сканирования. Разберем по шагам, как это сделать:
СтандартныеПодсистемы и просто снимите с нее флаг. Таким образом, АПК проверит только ваши уникальные подсистемы и объекты.Помимо чистоты кода, проверяющие из фирмы "1С" будут оценивать корректность интеграции БСП в ваше прикладное решение. Обратите внимание на следующие ключевые моменты:
ДополнительныеОтчетыИОбработки, а хранение файлов — через механизмы подсистемы РаботаСФайлами. Дублирование этого функционала собственными силами считается грубым нарушением стандартов разработки._ДГ_). Это гарантирует, что при последующих обновлениях БСП ваши объекты не вступят в конфликт с новыми объектами вендора.Таким образом, мы выяснили, что паниковать из-за сотен ошибок АПК в модулях БСП не стоит. Достаточно один раз правильно настроить правила фильтрации в конфигурации проверки, составить грамотный протокол расхождений Отсутствие_ошибок.xlsx и сосредоточить все силы на исправлении замечаний в собственном уникальном коде.