Провожу тестирование платформы 8.3.26.1521.
В некоторых конфигурациях, таких как ERP 2.2.4.59 не получается открыть меню "Функции для технического специалиста" падает ошибка
Ошибка инициализации модуля: ВнешняяОбработка.StandardEventLog.МодульОбъекта
по причине:
{ВнешняяОбработка.StandardEventLog.МодульОбъекта(565,9)}: Процедура или функция с указанным именем не определена (StrFindAllByRegularExpression)
Return <<?>>StrFindAllByRegularEx * pression(Event, "(_\$InfoBase\$_.ConfigExtension|_\$InfoBase\$_.DBConfigExtension)").Count() > 0;
Тоже самое происходит при попытке открытия исправленной обработки из статьи
Может быть кто-то сталкивался с этой проблемой и как решали?
Кстати для тех кто столкнулся с такой же проблемой, решением может быть добавление общего глобального модуля, где прописать методы которые не поддерживаются.
#Область ПрограммныйИнтерфейс
// Функции заглушки платформы 8.3.26
// Связанные с конфигурациями с режимом совместимости ниже 8.3.9
Функция СтрНайтиВсеПоРегулярномуВыражению(ИсходнаяСтрока, РегулярноеВыражение, ИгнорироватьРегистр = Ложь, МногострочныйПоиск = Ложь) Экспорт
Результат = Новый Массив;
Возврат Результат;
КонецФункции
Function StrFindAllByRegularEx * pression(SourceString, RegEx, RegisterIgnore = False, Multiline = False) Export
Result = New Array;
Return Result;
EndFunction
#КонецОбласти
Было выяснено, что может помочь поднятие версии совместимости, например в ERP было поднято с 8.3.8 на 8.3.9 и ошибка ушла. Но из интересного метод на который ругается платформа StrFindAllByRegularExpression доступен с версии 8.3.23, и почему поднятие версии совместимости на версию, где данный метод поддерживается - помогло - не ясно.
Например критичным является то, что старые конфигурации с режимом совместимости 8.2.x перевести подобным образом не получится. Также как и сделать для них расширения с подменой типовой обработки журнала регистрации, которую можно получить (статья) и затем заменить
{ВнешняяОбработка.StandardEventLog.МодульОбъекта(565,9)}: Процедура или функция с указанным именем не определена (StrFindAllByRegularExpression)
Зарегистрирована: 11.12.2024
Планируется исправить: "Технологическая платформа", версия 8.3.26
Исправлена: "Технологическая платформа", версия 8.3.27.1508
Кстати для тех кто столкнулся с такой же проблемой, решением может быть добавление общего глобального модуля, где прописать методы которые не поддерживаются.
#Область ПрограммныйИнтерфейс
// Функции заглушки платформы 8.3.26
// Связанные с конфигурациями с режимом совместимости ниже 8.3.9
Функция СтрНайтиВсеПоРегулярномуВыражению(ИсходнаяСтрока, РегулярноеВыражение, ИгнорироватьРегистр = Ложь, МногострочныйПоиск = Ложь) Экспорт
Результат = Новый Массив;
Возврат Результат;
КонецФункции
Function StrFindAllByRegularEx * pression(SourceString, RegEx, RegisterIgnore = False, Multiline = False) Export
Result = New Array;
Return Result;
EndFunction
#КонецОбласти
(7) Уберите * и соедините слово воедино, чтобы данный метод использовался как надо, видимо форум порезал название функции, т.к. оно совпадает с методом платформы