Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить "Активные пользователи" или доработать "Конструктор запросов".
Сначала "все функции" пытается создать внешнюю обработку с именем StandardActiveUsers
Если не удалось, значит, что такая обработка ещё не была подключена. И тогда происходит подключение этой самой обработки по адресу внутреннего ресурса.
Выходит, что если подменяемая обработка будет вызывать ошибку при создании, то 1С её заменит на стандартную
(2) смысл в том, что каждая вшитая обработка имеет свое "ключевое" имя. По которому можно подключить любую другую обработку и платформа будет юзать уже её
Сначала "все функции" пытается создать внешнюю обработку с именем StandardActiveUsers
Если не удалось, значит, что такая обработка ещё не была подключена. И тогда происходит подключение этой самой обработки по адресу внутреннего ресурса.
Выходит, что если подменяемая обработка будет вызывать ошибку при создании, то 1С её заменит на стандартную
(11) на самом деле, на Инфостарте уже писалось это всё по несколько раз. Там куча прикольных внутренностей можно посмотреть. Но, к сожалению, "переподключить" можно только тот список обработок, что я вписал в расширение. Или мы пока чего-то ещё не знаем 😁
О, ВсеФункции сама по себе тоже обработка! Реквестирую тогда в ней сортировку по "последним открытым" и поиск. Кто бы сделал такое... Бесит при отладке многократно заходить в один и тот же объект через ВсеФункции и там его искать
(15) если точнее, то ВсеФункции - это форма.
В платформе есть зашитые обработки - это те, что указаны в публикации.
А есть формы. Их намного больше. Например, та же "О программе" - это форма.
Но как их подменить пока неизвестно. Точнее, есть способ - подменить его в файлах платформы. Но это уже слишком сурово и скорее всего не совсем легально 😅
(17) На ИС тоже писалось, как подменять формы, но это, если не изменяет память, правка файлов ресурсов в каталоге платформы. Там контейнерный формат, как в CF
(20) интересно, посмотрю 20ую и добавлю новые обработки.
Но, кстати, забыл в статье упоминуть, что при появлении новых платформенных обработок, их можно вручную добавить в подсистему. Для этого просто нужно создать элемент справочника Платформенные обработки и указать ключевое имя. Далее при обновлении версии они будут учитывать и добавленную обработку
Выложил новую версию расширения по подмене "встроенных" в платформу обработок.
• Добавлены новые обработки из платформы 8.3.20 (9 шт)
• В новой версии платформы изменили внутренние имена обработок. Поэтому, теперь в расширении хранится список имен. Например, Поиск ссылок на объект: StandardFindByRef и StandardFindByReference.
• Добавлено автоматическое обновление версий обработок при старте сеанса. Происходит один раз на каждую версию платформы. Т.е. при первоначальной установке расширения и последующих обновлениях платформы