Обработка отвечает на один вопрос: что в моей конфигурации сломается или изменится при переходе на 8.5. Работает на текущей платформе, до перехода, начиная с 8.3.20.
Две кнопки, отчёт с вердиктами по каждому пункту, ссылки на первоисточники. К СУБД не подключается, в базу ничего не пишет, в интернет не ходит.
Зачем это, если есть штатная «Проверка и конвертация»
Штатный механизм рефакторинга в конфигураторе работает, когда 8.5 уже установлена, и заточен под переход на новый интерфейс. Эта обработка работает на 8.3.20 и старше, до установки новой платформы, и покрывает кумулятивный путь по всем версиям, а не только интерфейс.
Разница простая: штатное средство помогает чинить, когда вы уже прыгнули. Эта обработка показывает, во что вы прыгаете, пока решение ещё не принято.
Две кнопки
«Проанализировать» - быстрый проход по живой базе: режим совместимости, свойства метаданных, настройки информационной базы, расширения, известные ошибки платформы по вашей функциональности. Ничего не спрашивает, занимает секунды.
«Проанализировать с учётом кода» - дополнительно ищет устаревшие вызовы в текстах модулей и формах. Обработка сама запускает конфигуратор, выгружает конфигурацию в XML, разбирает и собирает отчёт. Идёт минуты, с индикатором прогресса и кнопкой остановки.
Галочками выбирается, что именно разбирать: код конфигурации, код расширений, код внешних обработок из справочника дополнительных обработок.
Что проверяется
Без чтения кода: режим совместимости и его влияние на объём работ, разделение итогов регистров, длины строковых измерений против лимитов СУБД, неограниченные строки в измерениях и индексируемых реквизитах, полнотекстовый индекс, участие в РИБ, разделение данных, обзор подключённых расширений, версия платформы против доступности механизмов.
С чтением кода: устаревшие свойства и методы в модулях и формах, с указанием объекта, номера строки и самого фрагмента. Поиск идёт по тексту модулей, синтаксическое дерево не строится: комментарии отбрасываются, но ложные срабатывания на строковых литералах возможны. Это инструмент для составления списка мест, куда посмотреть, а не для автоматического рефакторинга.
Известные ошибки 8.5.1.1343 из Сервиса публикации ошибок 1С: показываются только те, что касаются функциональности вашей базы. Есть регистры расчёта - будет пункт про них, есть расширения - будет пункт про расширения, нет - не будет.
Откуда правила и как они обновляются
Каталог правил собран из официального документа «Список изменений и порядок обновления» платформы 8.5.1.1343 и Сервиса публикации ошибок 1С. Никаких пересказов с форумов.
Правила лежат данными: отдельный каталог в формате JSON внутри обработки, 63 правила. Движок только применяет их - отбирает по вашему режиму совместимости и запускает нужный тип проверки. Знания и код разделены, поэтому каталог можно пополнять, не трогая движок.
Отбор кумулятивный: показываются изменения, случившиеся ПОСЛЕ вашего режима совместимости. Поэтому база на 8.3.24 получает короткий отчёт, а база на 8.3.14 - длинный. Каждому свой реальный путь.
Отчёт
Открывается табличным документом отдельным окном: работают штатные печать и сохранение в XLSX, PDF, MXL. Вердикты сгруппированы по серьёзности:
- Предупреждение - поведение изменится либо перестанет поддерживаться, разобрать каждое;
- Информация и чек-лист - справочные пункты и то, что проверяется руками;
- Проверено, замечаний нет - правило применено, находок нет;
- Не проверялось - правило уровня кода в быстром режиме.
По каждому пункту: что именно меняется, что делать, ссылка на первоисточник и полный список затронутых объектов с номерами строк. По клику на строке открывается карточка правила.
Последняя категория важнее, чем кажется. Обработка не делает вид, что проверила код, если код ей не показали, и пишет об этом прямо.
Требования и ограничения
Платформа 8.3.20 и выше. Работает на файловой и клиент-серверной базе, в конфигурациях на управляемых формах: чистый встроенный язык, без БСП, без внешних компонент.
Для анализа кода нужен запуск конфигуратора, поэтому вторая кнопка работает в тонком и толстом клиенте Windows. В веб-клиенте доступен быстрый анализ и разбор готовой выгрузки, если она уже сделана.
Для выгрузки нужны имя пользователя и пароль с правом выгружать конфигурацию: вводите один раз в форме, обработка их не сохраняет и чистит после прогона.
Честная оговорка: пока работает конфигуратор, пароль виден в списке процессов машины - так устроен пакетный режим 1С, других способов передать учётные данные там нет. Если это неприемлемо, оставьте поле пустым: тогда конфигуратор спросит пароль своим окном на каждый запуск.
Можно указать уже готовую папку с выгрузкой конфигурации в файлы - тогда конфигуратор не запускается вовсе.
Чего обработка не делает
Не подключается к СУБД и не выполняет SQL. Ничего не пишет в информационную базу. Не обращается в интернет.
Не читает тексты модулей в быстром режиме: платформа этого не позволяет, и такие правила честно помечаются как непроверенные. Не находит проблемы, которые проявляются только под нагрузкой или на конкретных данных. Не заменяет тестовый прогон конфигурации на 8.5.1 - она сокращает список того, что надо проверить, а не отменяет проверку.
На чём проверялась
Платформы 8.3.20 и 8.3.27. Файловая и клиент-серверная база. Конфигурации: Бухгалтерия для Казахстана 3.0.39 и 3.0.73, Розница для Казахстана 2.2. Оба режима, база с расширениями и без, режимы совместимости 8.3.14 и 8.3.21.
На живых базах обработка находит и в типовой поставке: например, устаревшее свойство ГиперссылкаЯчейки нашлось в семи местах типовой Бухгалтерии. Разбор этих прогонов с цифрами - в статье Что проверить в конфигурации перед переходом на 1С 8.5.
Другие наши инструменты
- Проверка базы данных перед миграцией на PostgreSQL - что в базе помешает переезду на другую СУБД;
- Чек-ап СУБД под 1С - как сервер СУБД настроен под 1С, 40+ проверок с вердиктом;
- Карта объёмов базы 1С - из чего состоит база и что в ней растёт.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.73.60
Вступайте в нашу телеграмм-группу Инфостарт