Расширенный синтаксический контроль


Расширенный синтаксический контроль: поиск ошибочных вызовов функций и процедур общих модулей.

ВНИМАНИЕ!!! АВТОР ОБРАБОТКИ НЕ Я! БУДУ РАД, ЕСЛИ АВТОР ОТКЛИКНЕТСЯ (НАЙДЕТСЯ); И ЕЩЕ БОЛЬШЕ БУДУ РАД, ЕСЛИ ПРЕДСАВИТ НАМ БОЛЕЕ СВЕЖУЮ ВЕРСИЮ ДАННОЙ ОБРАБОТКИ:) ЕСЛИ БУДЕТ НЕОБХОДИМО УДАЛЮ ЕЕ ПО ПЕРВОМУ ТРЕБОВАНИЮ: НЕ ХОЧУ НАРУШАТЬ АВТОРСКИЕ ПРАВА.

НО ПОДЕЛИТЬСЯ ЭТОЙ ОБРАБОТКОЙ Я ХОТЕЛ БЫ.

Обработка ищет ошибочные вызовы функций и процедур общих модулей.

Что обработка находит?

Распознаются следующие типы ошибок:

1. Функция (процедура) отсутствует в общем модуле.

2. Функция (процедура) есть в общем модуле, но она не экспортная.

3. Функция (процедура) есть в общем модуле, но она может быть не доступна в контексте вызова. Например, функция располагается в общем модуле у которого установлен только флаг "Клиент", а вызывается она из модуля объекта документа. Возможен случай что вызов будет осуществляться в контексте "Сервер" или "Внешнее соединение". Для этого типа ошибки в колонках "К","С","В" выводимого табличного документа указывается символом "Х" контекст, в котором не доступен будет вызов функции.

Дополнительно, делаюстя следующие проверки:

1. В общих модулях находятся дубли имен функций и процедур.

2. Во всех модулях конфигурации анализируются инструкции препроцессору (#Если, #Иначе, ...). В качестве предупреждения выводится те инструкции, которые являются избыточными (будут всегда выполнены) и которые никогда не будут выполнены.

Как воспользоваться обработкой?

1. В режиме конфигуратора сделать проверку конфигурации, установить все флажки входящие в группу "Синтаксический контроль".

2. Выгрузить тексты всех модулей в каталог. Это можно сделать одним из двух способов:

а) В меню "Конфигурация - Выгрузить файлы конфигурации", выбрать все объекты, оставить флажок "Модули" и нажать "Выполнить".

б) В каталоге с базой данных создать каталог Module и выполнить в коммандной строке:

"C:\Program Files\1cv81\bin\1cv8.exe" CONFIG /F"./" /Out test.log /DumpConfigFiles Module -Module

3. В режиме Предприятие открыть обработку, выбрать каталог в который выгрузили модули и нажать "Выполнить".

P.S. Для тех, кто воспользовался данной обработкой, думаю еще интересна будет и эта:

"Поиск не существующих объектов метаданных в текстах модулей конфигурации".

И эту тоже используйте (я за чистоту русского языка, автору однозначный плюс): "Орфографическая проверка конфигурации".

Не забываем про типовую 1С:Автоматизированная проверка конфигураций.

P.P.S.

Наиболее функциональная разработка для анализа и тестирвания кода конфигурации: Конфигурация «Анализ конфигурации» - рекомендую ознакомиться.

Если знаете еще какие-нибудь обработки для проверки программного кода, напишите про них в комментариях.

Файлы обработки:

-