Автоматизированная проверка кода измененных конфигураций и расширений 1С на наличие ошибок (версия 3)

02.11.25

Разработка - Рефакторинг и качество кода

Представляю вашему вниманию конфигурацию "Проверка конфигураций (версия 3)", которая позволяет проверять любые конфигурации и расширения на наличие ошибок, связанных с вызовом экспортных функций и процедур общих модулей и модулей менеджеров объектов. Проверяются ошибки: 1) Метод объекта не обнаружен 2) Недостаточно фактических параметров. 3) Слишком много фактических параметров. Рекомендуется выполнять при подготовке обновлений.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Проверка конфигураций на ошибки (версия 3)
.7z 1,73Mb
20 4 550 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Доброго времени суток!

Для сильно измененных конфигураций 1С я разработал универсальный механизм автоматической проверки корректности вызова глобальных функций и процедур основной конфигурации и всех подключенных расширений, который позволит выявить следующие ошибки:

  1. Метод объекта не обнаружен.
  2. Недостаточно фактических параметров.
  3. Слишком много фактических параметров.
     

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

Цель: исправить потенциальные ошибки при обновлении заранее, а не в срочном порядке динамически обновлять рабочую базу 1С (в том числе с выгоном всех пользователей).
 

Механизм был протестирован мной на всех основных конфигурациях:

ERP+КА, Бухгалтерия, УТ, ЗУП, УНФ+Розница, ДО.

Даже на стандартных конфигурациях 1С было выявлено около 45 различных ошибок – файл прикреплён к публикации.

Вы можете сами проверить в коде этих конфигураций выявленные ошибки, скачав указанный в файле релиз.
Также механизм был протестирован в достаточно сильно «переписанной» ERP, было выявлено около 70 ошибок.


Механизм реализован в небольшой самописной конфигурации "Проверка конфигураций", которая проверяет по определенной логике любые конфигурации 1С, и стандартные и самописные.
 

Далее описываю более подробно механизм проверки:

История и причины создания данной проверки:

После очередного обновления на новый релиз переписанной ERP у пользователей стали выходить ошибки:

 

Пришлось оперативно искать ошибку, исправлять и выполнять динамическое обновление.
Дело в том, что компания 1С в новом релизе перенесла часть процедур и функций для работы с XML в другой глобальный модуль, например функцию «ОбъектXDTOВСтруктуру» перенесли из общего модуля «ИнтеграцияИС» в общий модуль «РаботаСXMLИС». А в нашем дописанном расширении оставался вызов к «старому» глобальному модулю: ИнтеграцияИС.ОбъектXDTOВСтруктуру(...)

Данное перемещение практически невозможно проверить перед обновлением. Ошибки программиста в этом случае нет.

Проблема в том, что 1С НЕ подсвечивает в конфигураторе ошибки в случаях, когда происходит вызов несуществующих экспортных процедур и функций общих модулей и модулей менеджеров (справочников, документов и т.п.).

Помимо этого, 1С так же НЕ проверяет количество параметров вызываемых экспортных функций и процедур. Т.е. в объявлении функции или процедуры может быть указано 2 обязательных параметра, а в вызове быть 1 или 3 параметра, и эту ошибку 1С тоже НЕ подсвечивает в конфигураторе.

У 1С есть стандартный механизм в конфигураторе, меню «Конфигурация» - > «Проверка конфигурации», но он долго ищет, выводит кучу всего лишнего и не даёт нужного результата, не ищет между основной конфигурацией и расширениями. Стандартный механизм выявил лишь несколько ошибок из 70 штук, выявленных при помощи моей проверки.

У меня возникла идея, сделать проверку существования в конфигурации экспортных функций и процедур общих модулей и менеджеров объектов, а так же сравнить количество объявленных и вызываемых параметров.

Для этой цели я сделал свою конфигурацию 1С: "Проверка конфигураций", проверил конфигурацию на обновление, ошибки перенесённой функции "ОбъектXDTOВСтруктуру" были успешно выявлены.

Внешний вид конфигурации "Проверка конфигураций":

Принцип работы и результаты механизма проверки:

  1. Файлы проверяемой основной конфигурации и всех расширений выгружаем в файлы на жесткий диск. Существует 2 варианта выгрузки: ручная и автоматическая.

  2. Разворачиваем конфигурацию "Проверка конфигураций", указываем путь к папке выгруженных файлов.

  3. Запускаем обработку "Отобрать процедуры и функции", которая используя регулярные выражения (компоненты на выбор: VBScript.RegExp или RegEx1CAddin_14) отбирает все экспортные функции и процедуры общих модулей и модулей менеджеров объектов и их вызовы и записывает их 2 соответствующих регистра сведений.
    Вызовы отбираются, в том числе, вложенные друг в друга, например функция2(функция1()), в стандартных конфигурациях используется до четырех уровней вложенности.

На основании данных этих двух регистров формируются отчеты:

1) Отчет «Отсутствующие экспортные процедуры и функции» т.е. в программном модуле есть вызов, а в общем модуле / модуле менеджера нет такой процедуры или функции по разным причинам: перенесли в другой модуль, закомментировали, переименовали, убрали Экспорт, неудачно обновили (^_^) и т.п.
 

Отчет позволяет определять следующие ошибки:

"Метод объекта не обнаружен"

При вызове отсутствующей процедуры или функции 1С выдаст ошибку:



3 штуки отчета, которые сравнивают количество параметров:

2) Отчет "Переданных параметров больше, чем всех вместе взятых"

3) Отчет "Переданных параметров меньше, чем обязательных"

4) Отчет "Различное количество параметров все обязательные"

 – различается количество параметров в вызове и в объявлении функции и процедуры.

Отчеты позволяют определить 2 ошибки:


1) "Недостаточно фактических параметров":
Ошибка:


Вызов (с 1 параметром):

ИнтеграцияМОТПУНФ.ЗаполнитьШтрихкоды(ДанныеПоШтрихкодам);

Объявление (с 2-мя параметрами):

Процедура ЗаполнитьШтрихкоды(ДанныеПоШтрихкодам, ИмяКолонкиЗаполнения) Экспорт

 

2) "Слишком много фактических параметров":
Ошибка:

Вызов (с 1 параметром):

Запрос.УстановитьПараметр("ТребующиеДействия", Документы.ТТНВходящаяЕГАИС.ВсеТребующиеДействия(Истина));

Объявление (без параметров):

Функция ВсеТребующиеДействия() Экспорт

 

Пример одного из отчетов:

Удобной особенностью является вывод в отчете всех мест вызова функций/процедур, т.е. потенциальные ошибки даже не нужно искать глобальным поиском по конфигурациям, всё выводится в отчете. Так же выводятся все ключевые поля для визуального контроля, в данном случае это количество обязательных параметров и количество параметров вызов.

 

Результаты проверки 8-ми стандартных конфигураций 1С я поместил в состав публикации, файлы называется "Найденные ошибки стандартных конфигураций 1С", смотрите, там всё достаточно понятно и доступно. Выявлено 48 потенциальных ошибок. У меня не было цели проверить за 1С вызовы, я лишь демонстрирую то, что по определенному алгоритму эти вызовы не соответствуют объявлениям функций и процедур.

Также к публикации прикладываю очень подробную инструкцию, как развернуть конфигурацию, как выгрузить файлы, как отобрать процедуры/функции и их вызовы.


Хочу обратить внимание, что механизм проверки выводит ПОТЕНЦИАЛЬНЫЕ ошибки, и не факт, что они вообще будут вызваны в процессе работы.

Я встречал обработчики, у которых кнопка на форме имела видимость Ложь, т.е. не отображалась на форме.

Т.е. в обработчике есть ошибка, но он не вызывается.


Или, например, в коде стандартных релизов встречается следующее:

1) Проверка существование отчета перед вызовом:
Отчеты.РегламентированноеУведомлениеИсключениеПроверки.ПолучитьНазваниеОргана

	ИначеЕсли Объект.ВидУведомления = Перечисления.ВидыУведомленийОСпецрежимахНалогообложения.ЗаявлениеИсключенииПроверки
		И Метаданные.Отчеты.Найти("РегламентированноеУведомлениеИсключениеПроверки") <> Неопределено Тогда 
		
		ВидКонтролирующегоОргана	= Перечисления.ТипыКонтролирующихОрганов.ПустаяСсылка();
		КодКонтролирующегоОргана	= Отчеты.РегламентированноеУведомлениеИсключениеПроверки.ПолучитьНазваниеОргана(Объект);
		Если Не ЗначениеЗаполнено(КодКонтролирующегоОргана) Тогда 
			КодКонтролирующегоОргана = "-";
		КонецЕсли;

Т.е. вызывается функция несуществующего отчета, но вызывается с проверкой его существования, поэтому ошибки не будет.

2) Вызов в безопасном режиме:
РегламентированнаяОтчетностьПереопределяемый.ИПИспользуетТрудНаемныхРаботников

Исключение
			ОбщегоНазначения.ВыполнитьВБезопасномРежиме("Параметры.ИПИспользуетТрудНаемныхРаботников = РегламентированнаяОтчетностьПереопределяемый.ИПИспользуетТрудНаемныхРаботников(Параметры.Организация)", ПараметрыБР); //BRO118
		КонецПопытки;

Т.е. вызывается несуществующая функция, но в безопасном режиме, поэтому ошибки не будет.



Механизм проверки позволяет выявить такие случаи как опечатки: в данном случае специалисты 1С забыли запятую при вызове:
БюджетнаяОтчетностьВыводСервер.Подключаемый_ПересчитатьПоКурсу


В том же модуле аналогичные вызовы, но уже С ЗАПЯТОЙ:




Также хочу привести пример, выявленной мной ошибки в релизе ERP 2.5.17 и исправленной в релизе 2.5.22 компанией 1С:
Общий модуль: ПроизводствоСерверПовтИсп
Функция: ПараметрыПроизводственногоПодразделения
Место вызова: Обработки\ПомощникИсправленияОстатковТоваровОрганизаций\Формы\ОсновнаяФорма
Текст вызова в 2.5.17: 

ПроизводствоСерверПовтИсп.ПараметрыПроизводственногоПодразделения()

Т.е. вызывается БЕЗ параметров.
А вот в объявлении функции есть 1 обязательный параметр – это Подразделение:

ПараметрыПроизводственногоПодразделения(Подразделение) Экспорт

А в релизе 2.5.22 они уже её исправили:

ПроизводствоСерверПовтИсп.ПараметрыПроизводственногоПодразделения(Подразделение)


Список конфигураций, на которых проверялся механизм:

  • ERP Управление предприятием 2 (2.5.22.106)
  • Комплексная автоматизация 2 (2.5.24.57)
  • Бухгалтерия предприятия, редакция 3.0 (3.0.184.16)
  • Управление торговлей, редакция 11 (11.5.22.109)
  • Управление нашей фирмой, редакция 3.0 (3.0.12.185)
  • Розница, редакция 3.0 (3.0.12.185)
  • Зарплата и управление персоналом, редакция 3.1 (3.1.35.48)
  • Документооборот КОРП, редакция 3.0 (3.0.18.19)


Механизм проверялся на технологической платформе 1С:
1С:Предприятие 8.3 (8.3.27.1719)

Операционная система:
Windows 10 Pro


Состав архива публикации:

  1. ПроверкаКонфигураций_v3.0.cf
  2. Инструкция v3.docx
  3. Найденные ошибки стандартных конфигураций 1С.xlsx
  4. Сводная таблица. Длительность выполнения. Количество отобранных функций и процедур.xlsx
  5. История версий.txt

Ограничения и необходимые системные требования :

  • Скорость выгрузки файлов и обработки отбора процедур и функций зависит от конфигурации ПК, тестировалось на Ryzen 5 3600 + 16 GB + HDD, если у вас ПК слабее, скорее всего будет медленнее :) Сохранение основной конфигурации на HDD занимает от 5 до 30 минут, в зависимости от конфигурации.
  • Отбор процедур и функций занимает время. Развернутые (чистые) стандартные конфигурации, выгруженные конфигурации в файлы на жесткий диск и заполненные конфигурации "Проверка конфигураций" занимают место на жестком диске.
    • ERP = 120 минут / 16,5 Гб (чистая 4 Гб / файлы 8,5 Гб / заполненная 4 Гб)
    • КА = 115 минут / 14,9 Гб (чистая 3,9 Гб / файлы 7,1 Гб / заполненная 3,9 Гб)
    • Бухгалтерия = 80 минут / 10,6 Гб (чистая 2,2 Гб /   файлы 5,4 Гб / заполненная 3 Гб)
    • УНФ/Розница = 50 минут / 6,6 Гб (чистая 1,8 Гб / файлы 2,9 Гб / заполненная 1,9 Гб)
    • УТ = 40 минут / 5,8 Гб (чистая 2,3 Гб / файлы 1,9 Гб / заполненная 1,6 Гб)
    • ЗУП = 40 минут / 3,8 Гб (чистая 1 Гб / файлы 1,5 Гб / заполненная 1,3 Гб)
    • ДО = 15 минут / 2,0 Гб (чистая 700 Мб / файлы 600 Мб  / заполненная 700 Гб)
      На более мощном ПК (i7+SSD) отбор выполнялся в 2 раза быстрей !
  • Из проверки намеренно исключены стандартные методы и свойства объектов конфигурации, такие как "добавить", "вставить", "выгрузить", "количество" и так далее. Список исключений прописаны жестко в коде. Допускаю, что мог прописать не все исключения и в будущих релизах они могут встретиться.
  • При повторном перезаполнении процедур и функций файловая база прибавляет в весе, рекомендую выполнять "сжатие таблиц информационной базы" с опцией "тестирование и исправление", это поможет освободить место на диске.

Функционал и история версий:

Версия 1 :
 1) Для выполнения регулярных выражений используется компонента: VBScript.RegExp, работает только под Windows
 2) Предварительная обработка текстов модулей, для того, что бы поиск по шаблону искал правильно:

  • заменить "//" в конструкциях "http://" и "https://" в тексте
  • удалить все комментарии
  • удалить двойные кавычки
  • исключить вызовы из конструкции ВызватьИсключение ""
  • исключить вызовы из конструкции НСтр("")
  • исключить вызовы из конструкции "ИмяПроцедуры = """
  • заменить круглые скобки внутри текстовых параметров функций и процедур (для корректного поиска по шаблонам вызовов)
  • заменить символы "запятые" и "равно" внутри текстовых параметров функций и процедур (для корректного определения кол-ва параметров и их обязательности)

 3) Русификация мест вызовов.
 4) Возможность записи отобранных данных в регистр 2-мя способами - полная и частичная.
 5) Исключения:

  • исключены "стандартные" методы и свойства объектов, типа "количество()", "добавить()", "вставить()".
  • для типа вызовов "вызов из общего модуля" исключены вызовы не относящиеся к общим модулям.
  • исключены вызовы процедуры/функции из того же общего модуля (для избежания НЕ экспортного вызова). 
  • исключены вызовы зашифрованных общих модулей и зашифрованных модулей менеджеров объектов.

 6) Рекурсивный поиск вложенных друг в друга вызовов функций и процедур (в стандартных конфигурациях используется до 4х уровней вложенности).
 Есть информация об уровне вложенности отобранной функции или процедуре. Есть возможность поиска БЕЗ вложенных функций и процедур (быстрее).
 7) Отчеты:
         - 1) Отсутствующие экспортные процедуры и функции
         - 2) Переданных параметров больше, чем всех вместе взятых
         - 3) Переданных параметров меньше, чем обязательных
         - 4) Различное количество параметров все обязательные


Версия 2                                                                                           
1) Добавлена возможность выполнять регулярные выражения при помощи компоненты: RegEx1CAddin_14 (работает и под Windows и под Linux).
Ссылка для скачивания:  Внешняя компонента для выполнения регулярных выражений (автор KAV2)
2) Оптимизирован программный код (повторяющиеся участки кода вынесены в отдельные функции/процедуры).

 

Версия 3  
1) Добавлена возможность автоматической выгрузки в файлы: основной конфигурации и всех расширений в указанный каталог. Т.е. теперь не придётся вручную выгружать каждую конфигурацию в файлы, вся выгрузка и анализ может выполняется при нажатии 1 кнопки. Поддерживается выгрузка как из файловой базы, так и из клиент-серверной.
2) Добавлен вывод информационного окна о текущем статусе обработки - для визуального контроля.
3) Изменен вид основной формы, добавлено сохранение выбранных параметров выгрузки (кроме пароля), изменен макет оформления на "море".
4) Добавлена возможность выполнять регулярные выражения при помощи стандартного функционала 1С.


Мой комментарий по поводу стоимости в 10 SM, дабы избежать вопросов "почему так дорого?"

На данную разработку и всё тестирование я потратил около 3х недель + 2 раза дорабатывал (версия 2 и версия 3).
Естественно, больше времени ушло на тестирование, определение и исправление нюансов правильного отбора функций и процедур.
1 стартмани это по текущему порядка 150 рублей, т.е. 10 SM это около 1500 рублей, которые нужно еще умудриться вывести из этой системы. Это равносильно примерно 30-60 минутам работы программиста, в зависимости от региона. Если для вас дорого - не качайте. Если понравилось - можете еще пару раз скачать )))
Если механизм будет востребован, тогда буду и дальше дорабатывать, возможно, появится еще несколько проверок.

Всем спасибо за внимание !

Жду обратной связи по найденным ошибкам !

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.22.106
  • 1С:Комплексная автоматизация 2, релизы 2.5.24.57
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.184.16
  • Управление торговлей, редакция 11, релизы 11.5.22.109
  • Управление нашей фирмой, редакция 3.0, релизы 3.0.12.185
  • Розница, редакция 3.0, релизы 3.0.12.185
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.35.48
  • Документооборот КОРП, редакция 3.0, релизы 3.0.18.19

Вступайте в нашу телеграмм-группу Инфостарт

Проверка поиск исправление код ошибок конфигурации расширений обновления метод объекта обнаружен недостаточно слишком много фактических параметров

См. также

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Использование Библиотеки стандартных подсистем позволяет разработчикам 1С значительно ускорить процесс создания решений за счет готового универсального кода, поддерживаемого и обновляемого официальным вендором. В статье рассказывается про роль и применение «Библиотеки стандартных подсистем» (БСП), примеры интеграции и подключения подсистем.

23.09.2025    4682    AlexeyPROSTO_1C    1    

14

Рефакторинг и качество кода Программист Россия Бесплатно (free)

GRASP-паттерны в 1С: меньше хаоса, больше архитектуры.

28.08.2025    10263    lapinio    46    

58

Обновление 1С Программист 1С v8.3 Бесплатно (free)

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    4022    iolko    10    

20

Рефакторинг и качество кода Программист Бесплатно (free)

Рассказываем о практике Code Review: ее целях, преимуществах и подводных камнях. Автор делает обзор существующих инструментов, а также подробно описывает собственную разработку для анализа правок и комфортного взаимодействия по замечаниям. Инструмент Git Code Review позволяет оставлять ручные комментарии с указанием важности и автоматически проверять код с помощью BSL Language Server. С его помощью можно не только детально изучать измененный код, но и отслеживать трансформацию структуры метаданных в наглядном формате. А главное – Code Review можно проводить как в 1С:Предприятии, так и через специализированный веб-интерфейс, интегрированный с GitHub и GitLab. Статья будет интересна и тем, кто уже практикует Code Review, и тем, кто к этому только подступается.

31.07.2025    6218    salexdv    9    

37

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

Проблемы и их решение из реальных проектов сложного обновления 1С, когда нужно было сохранить целостность данных, ускориться и уложиться в оцененные и утвержденные сроки.

02.07.2025    5906    1c-izh    9    

13

DevOps и автоматизация разработки Обновление 1С Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации "1С:ERP Управление холдингом с версии 3.1.8.15" до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной

1 стартмани

01.07.2025    3519    vladimir_iclsoft    1    

23

Обновление 1С Программист Стажер 1С v8.3 Бесплатно (free)

Наша компания перманентно занимаемся обновлением «старых» и, к тому же, сильно нетиповых конфигураций. Хочется поделиться опытом по работе с важным этапом подобных проектов — поиску и оптимизации промежуточных конфигураций 1С. Первый материал будет полезен начинающим специалистам 1С, а в последующих, надеемся, найдется интересная информация и для матерых разработчиков.

04.06.2025    5102    1c-izh    13    

18

Рефакторинг и качество кода Программист 1С v8.3 Россия Бесплатно (free)

Представленная статья посвящена некоторым особенностям и нюансам разработки доп. расширений для публикации в 1С:Фреш. Надеюсь, кому-то из читателей информация в статье будет полезна и сэкономит время на прохождение аудита при публикации своего решения во Фреше.

03.06.2025    3328    MC4RT    5    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Torin 884 17.10.25 13:52 Сейчас в теме
(0) не смотрел , не тестил , но за саму идею +
2. Sergik_D 23 17.10.25 14:31 Сейчас в теме
А конфигурация АПК не предоставляет такой функционал по проверке?
3. Xershi 1528 17.10.25 18:54 Сейчас в теме
В ИР есть штука как проверка конфигурации к обновлению. Там нажал кнопку и весь процесс пошёл!
Так на заметку. Вижу нужно конфигурацию сохранить в файл.
4. Suker86 53 17.10.25 20:15 Сейчас в теме
(1) Спасибо :)
(2) В конфигурации АПК я не нашел такого функционала.
(3) В ИР тоже не нашел. Насколько я знаю, код исполняемых модулей нельзя получить программно, остаётся только выгружать в файлы и анализировать.

PS Добавил в публикацию: "Ограничения и необходимые системные требования"
5. Xershi 1528 18.10.25 03:48 Сейчас в теме
(4) я имел ввиду, что не нужно указывать путь, все берет сразу из базы. Хотя и есть опция взять из файла.
6. wtlz 280 19.10.25 20:26 Сейчас в теме
Выглядит прикольно, но есть вопросы :)
В чем отличия (преимущества):
а) от Синтаксис проверки (которая в конфигураторе)?
б) от Sonar BSL rules
Запуск проверок только руками?
Viktor_Ermakov; +1 Ответить
7. mip128 20.10.25 15:52 Сейчас в теме
Выглядит как шаг в пайплайне. Надо бы описать пример его встраивания
8. Suker86 53 20.10.25 21:50 Сейчас в теме
(5) Что то я не нашел в ИР такого функционала, но я искал недолго, позже еще раз посмотрю, если есть ссылки - напишите пожалуйста.

(6) Синтаксис проверка 1С НЕ ругается на вызов несуществующих экспортных функций / процедур общих модулей и модулей менеджеров объектов, а еще она не проверяет количество передаваемых параметров.
Прикрепил фото к ответу.
Sonar BSL rules не изучал, не могу ответить.

(7) Последовательность определенная есть, вначале отбор глобальных функций/процедур, формирование списка общих модулей, затем отбор вызовов и сравнение.
Прикрепленные файлы:
9. Suker86 53 20.10.25 22:05 Сейчас в теме
Обновил конфигурацию в публикации на версию 2:

1) Добавлена возможность выполнять регулярные выражения при помощи компоненты: RegEx1CAddin_14 (работает и под Windows и под Linux).
Внешняя компонента для выполнения регулярных выражений (автор KAV2)

2) Оптимизирован программный код (повторяющиеся участки кода вынесены в отдельные функции/процедуры).

Компоненту RegEx1CAddin_14 протестировал, работает чуть медленее VBScript.RegExp, примерно на 5-10 процентов, но я не ручаюсь за чистоту тестов, так как в моём тесте есть поиск файлов и запись регистра, а это всегда происходит с разной скоростью. В целом, производительность компоненты плюс минус аналогичная VBScript.RegExp, но главный плюс - поддержка Linux.

Если я не ошибаюсь, тем кто скачал первую версию конфигурации, в течении 1 месяца даст скачать вторую версию.
Если не даёт бесплатно скачать - напишите мне свой ник и дату скачивания, мои контакты есть в конфигурации.

Было бы интересно услышать отзывы от скачавших - удалось ли выявить ошибки в ваших конфигурациях ?
Может быть есть еще идеи как аналогичным способом искать ошибки ?
10. Suker86 53 26.10.25 20:24 Сейчас в теме
Добрый вечер.
Получил обратную связь по проверке от ZhokhovM
Тема схожая: Статический анализатор кода проектов 1C
Тестировалась измененная база УТ:
1) Найдено 18 штук ошибок. Из них 7 штук - реальные ошибки.
2) Скорость анализа в 2 раза выше моей = 20 минут, у меня занимало более 40 минут (Ryzen 5 3500 + HDD), связано с более производительным ПК (i7-10700k + SSD).
3) Указал, как еще можно доработать шаблон (нетиповое оформление кода) - займусь позже.

В публикации ZhokhovM нашел еще 3 очень похожих на мою обработки на 1С (обычные формы):
1) Анализ конфигураций
2) Обработка «Поиск не существующих объектов метаданных в текстах модулей конфигурации»
3) Расширенный синтаксический контроль
11. Suker86 53 26.10.25 20:51 Сейчас в теме
Обновил конфигурацию в публикации на версию 3:

1) Добавлена возможность автоматической выгрузки в файлы: основной конфигурации и всех расширений в указанный каталог. Т.е. теперь не придётся вручную выгружать каждую конфигурацию и каждое расширение в файлы, вся выгрузка и анализ может выполняется при нажатии 1 кнопки. Поддерживается выгрузка как из файловой базы, так и из клиент-серверной. Версия клиента и версия сервера должна быть одинаковая. Протестировал, действительно, стало удобнее, особенно, когда расширений много, запустил и ушел на 2 часа, пришел - всё готово.

Как писал Xershi:
Нажал кнопку и весь процесс пошёл!


2) Добавлен вывод информационного окна о текущем статусе обработки - для визуального контроля.

3) Изменен вид основной формы, добавлено сохранение выбранных параметров выгрузки (кроме пароля), изменен макет оформления на "море".

PS
Тем, кто скачал предыдущие версии конфигурации, в течении 1 месяца даст скачать третью версию. Если не даст, пишите мне свой ник и дату скачивания, мои контакты есть в конфигурации. Жду отзывов по найденным ошибкам.
Прикрепленные файлы:
12. Suker86 53 27.10.25 22:28 Сейчас в теме
Добавил в 3-ю версию новый функционал:

4) Добавлена возможность выполнять регулярные выражения при помощи стандартного функционала 1С.

С использованием функций:
СтрНайтиВсеПорегулярномуВыражению
СтрЗаменитьПоРегулярномуВыражению

Вложение обновил.

Протестировал, отбор функций/процедур и вызовов ускорился более чем в 2 раза (тестировал на базе УНФ).
Для отправки сообщения требуется регистрация/авторизация