Разработка тиражных решений на платформе «1С:Предприятие 8» практически всегда базируется на использовании «Библиотеки стандартных подсистем» (БСП). Это позволяет не изобретать велосипед и использовать готовые механизмы авторизации, администрирования, печати и интеграции. Однако при подготовке конфигурации к сертификации на получение статуса «1С:Совместимо» разработчики неизбежно сталкиваются с проверкой кода через инструмент АПК (Автоматизированная проверка конфигураций). Типовой отчет АПК может содержать сотни и тысячи предупреждений в модулях БСП. Выясним, стоит ли тратить время на их исправление, и разберем ключевые требования фирмы «1С» к программному коду.
Проанализируем ситуацию: ваш собственный уникальный код написан идеально, АПК показывает по нему нулевое количество ошибок, но в заимствованных модулях БСП программа находит множество предупреждений. Официальная позиция фирмы «1С» и опыт практикующих разработчиков однозначны: исправлять стандартный код БСП не требуется.
Выделим основные причины, почему не нужно вмешиваться в модули БСП:
ОбщегоНазначенияПереопределяемый) предусмотрено самой архитектурой БСП. Это точки расширения, созданные для того, чтобы вы могли внедрить свой функционал без изменения основного ядра библиотеки.Рассмотрим, как правильно настроить инструмент АПК, чтобы не видеть лишних предупреждений и сосредоточиться на своем коде. Во вкладке «Исключения из проверки» настроим фильтрацию объектов. Для этого укажем префиксы ваших уникальных объектов или ограничим область проверки только вашей собственной подсистемой. Это сэкономит время и позволит отправлять на проверку чистые отчёты.
Для успешного прохождения проверки с первой попытки обратим внимание на критически важные требования к оформлению кода и проектированию метаданных в управляемом приложении.
1. Использование областей вместо групповых комментариев
Если ваша конфигурация ориентирована на актуальные версии платформы «1С:Предприятие», забудьте о старых многострочных комментариях-разделителях. Используйте конструкцию #Область. Это делает код структурированным и удобочитаемым.
Проанализируем правильное оформление модуля:
#Область СлужебныеПроцедурыИФункции
Процедура ВыполнитьРасчетПараметров() Экспорт
// Логика расчета
КонецПроцедуры
#КонецОбласти
2. Отказ от синхронных вызовов
В управляемом приложении (особенно при работе в веб-клиенте) использование синхронных методов категорически запрещено. Все модальные окна и синхронные вызовы должны быть заменены на их асинхронные аналоги.
Посмотрим на пример замены вызова предупреждения:
// НЕПРАВИЛЬНО (вызовет ошибку при сертификации)
Предупреждение("Данные успешно сохранены!");
// ПРАВИЛЬНО (асинхронный метод)
ПоказатьПредупреждение(Новый ОписаниеОповещения("ПослеПредупреждения", ЭтотОбъект), "Данные успешно сохранены!");
3. Комментирование экспортных процедур и функций
Все процедуры и функции общего назначения, доступные для вызова из других модулей, должны быть снабжены подробным комментарием по стандарту 1С (описание параметров, типов принимаемых значений и возвращаемого результата).
Процесс получения статуса «1С:Совместимо» регулярно претерпевает изменения. Разберем ключевые нововведения, которые действуют на сегодняшний день:
sovmestimo@1c.ru.Перед отправкой файла конфигурации .cf экспертам «1С», протестируем программу по следующим пунктам, на которых чаще всего срезаются разработчики:
Инициализация на «пустой» базе
Убедимся, что ваша конфигурация запускается без единой ошибки на абсолютно «чистой» информационной базе (без предзаполненных данных). Для этого рекомендуется реализовать функционал «Стартового помощника» или «Мастера первоначальной настройки», который автоматически запускается при первом входе пользователя в систему и помогает заполнить ключевые константы.
Качество демонстрационной базы данных
Если вы предоставляете демо-базу для ручного тестирования экспертами, наполните её реалистичной информацией. Проверяющие сразу отклонят решение, если увидят элементы справочников с названиями типа «Тест», «Товар 1», «Услуга 123» или контрагента «Иванов». Все бизнес-сценарии должны быть заполнены правдоподобными данными, чтобы отчеты формировали осмысленные показатели.
Проверка заполнения обязательных реквизитов
Проверим структуру метаданных. Для всех полей, заполнение которых критично для логики проведения документов или записи справочников, должно быть установлено свойство Проверка заполнения в значение Выдавать ошибку.
Стандарты проектирования командного интерфейса
Разработаем эргономичный интерфейс согласно гайдлайнам «1С». Рабочий стол (начальная страница) должен быть назначен главным разделом системы. Самым последним разделом в панели разделов меню обязательно должен располагаться раздел для администрирования, сервисных функций и настроек вашей программы.