Управление платформенными обработками (расширение + обработка выгрузки) [update 8.3.24]

29.11.23

Разработка - Инструментарий разработчика

Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить "Активные пользователи" или доработать "Конструктор запросов".

Вас как-то не устраивают платформенные обработки? Не хватает какой-то удобной кнопки или раздражает назойлевый баг?

Это всё можно исправить.

Данное расширение позволяет удобно управлять обработками, встроенными в платформу.

Что позволяет вообще подменить обработки, можно прочитать в статье: Недокументированное использование стандартных обработок из меню "Все функции".

 

На данный момент расширение может работать с обработками:

  • Активные пользователи
  • Журнал регистрации
  • История изменений данных
  • Конструктор запросов на управляемых формах
  • Поиск ссылок на объект
  • Проведение документов
  • Удаление помеченных объектов
  • Управление внешними источниками данных
  • Управление итогами
  • Управление копиями базы данных
  • Управление настройками обработки ошибок
  • Управление полнотекстовым поиском
  • Управление расширениями конфигурации
  • Управление серверами
  • Управление сервисами интеграции
  • Управление системой аналитики
  • Управление системой взаимодействия
  • Список блокировок аутентификаций пользователей
  • Дополнительные настройки аутентификации
  • Лицензирование конфигурации
  • Настройка журнала регистрации
  • Параметры информационной базы
  • Получение лицензии
  • Список пользователей
  • Региональные установки информационной базы
  • Сервис сборки мобильных приложений
  • Управление распознаванием речи
  • Управление табличными пространствами базы данных
  • Управление хранилищем двоичных данных

 

Установка

Для подключения необходимо добавить расширение со снятыми флагами "Безопасный режим" и "Защита от опасных действий". После перезапуска сеанса будет сообщено об обновлении версий платформенных обработок.

Так же отдельно можно использовать обработку, если вам нужно просто выгрузить платформенные инструменты в каталог. Обработка не требует расширения и может быть открыта как внешняя или доп. обработка БСП

 

Поддерживаемые конфигурации

Расширение поддерживает русскоязычные и англоязычные конфигурации. В релизе выкладываются три версии: общая, только русский язык и только английский язык. Отличаются они исключительно основным языком интерфейса и отсутствием второго языка в дереве конфигурации. Это позволяет проще произвести установку.

В любом случае, механизм расширений содержит много нюансов и может потребоваться изменение каких-то корневых свойств непосредственно в вашей ситуации

 

Состав объектов

Для использования

  • Версии платформенных обработок (УПО) - справочник хранит непосредственно двоичные данные обработок и содержит основное меню по настройке. На каждую версию платформы создается отдельная версия обработки. И на основе каждой версии обработки можно создавать свою доработанную версию и совершать подмену
  • Выгрузка платформенных обработок (УПО) - обработка, которая позволяет массово выгрузить инструменты текущей версии платформы в каталог. Обработка приложена как внешняя к релизу и может использоваться независимо от расширения.

Служебные

  • Платформенные обработки (УПО) - служебный справочник хранит имена и адреса извлечения платформенных обработок
  • Подмена платформенных обработок (УПО) - служебный регистр содержит информацию о версиях обработок, которые нужно запускать взамен платформенной.
  • Обновленные версии приложения (УПО) - служебный регистр, который хранит информацию о версиях платформы, по которым уже были добыты версии платформенных обработок. Необходим для автоматического обновления версий при переходе на новую версию платформы

 

Использование

Вся настройка происходит в справочнике "Версии платформенных обработок"

Версию из справочника можно выгрузить.

 

Изменить под свои нужды. И создать новую (доработанную) версию обработки в справочнике. Для этого необходимо на основе оригинальной версии создать новую:

 

Далее, сохранив элемент справочника, можно подменить в нем файл обработки на свой доработанный:

 

Теперь уже доработанную обработку можно:

  1. Запустить. Она просто запустится (как обычная внешняя обработка)
  2. Подключить для текущего сеанса. Тогда в рамках сеанса платформенная обработка будет заменена на выбранную.
  3. Установить подменяемой. Можно для себя, можно для кого-то другого. Или для всех. После этого выбранная обработка будет каждый раз заменять платформенную при старте сеанса. 

 

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

 

В любой момент можно отключить расширение и все станет "как раньше".

Последняя обновленная версия платформы: 8.3.24

 

UPDATE 29.11.2023 (ver. 1.4.1)

  • Добавлена поддержка англоязычных конфигураций

  • Полнью убрана зависимость от БСП

  • Код по извлечению платформенных инструментов вынесен в отдельную независимую от расширения обработку, которую можно использовать как внешнюю в любой базе

 

UPDATE 28.12.2022 (ver. 1.3.1)

  • Добавлены новые обработки из платформы
     
     Список
  • Уменьшена зависимость от БСП. Осталось только наличие справочника Пользователи и для работы в разрезе пользователей типовой метод Пользователи.ТекущийПользователь()

  • Проект выложен на GitHub
     
  • Исправлен ряд внутренних ошибок

     

UPDATE 09.12.2021 (ver. 1.2.1.2)

  • Добавлены новые обработки из платформы 8.3.20
     
     Список
  • Из-за смены внутреннего имени некоторых обработок, добавлена возможность указания списка имен. Например, Поиск ссылок на объект: StandardFindByRef и StandardFindByReference
     
  • Добавлено автоматическое обновление версий обработок при старте сеанса. Происходит один раз на каждую версию платформы. Т.е. при первоначальной установке расширения и последующих обновлениях платформы

 

Понравилась публикация? 

Поставьте лайк плюс, оставьте комментарий. И переходите к другим публикациям от автора:

 

КАК СКАЧАТЬ

Проект выложен в открытом доступе на GitHub. Там же можете оставлять предложения, замечания и регистрировать ошибки. 

 

 

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

Платформа Обработка Консоль Запросов Расширение Типовой

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    202836    1116    410    

1022

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    35770    206    104    

196

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    24020    62    26    

92

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16492    69    39    

88

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    34719    123    53    

165

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    1795    1    0    

8

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

6000 руб.

07.02.2018    107180    249    100    

313

Инструментарий разработчика 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    2882    6    0    

11
Отзывы
10. SeiOkami 3591 08.10.21 07:46 Сейчас в теме
Почему вообще возможна подмена легче понять, если заглянуть "под капот" в обработку "все функции".

	If AccessRight("ActiveUsers", Metadata) Then
		ActiveUsers = Undefined;
		Try
			ActiveUsers = New("ExternalDataProcessorObject.StandardActiveUsers");
		Except
			Try
				ExternalDataProcessors.Connect("v8res://mngbase/StandardActiveUsers.epf", "StandardActiveUsers", false);
				ActiveUsers = New("ExternalDataProcessorObject.StandardActiveUsers");
			Except
            	Message(ErrorDescription());
			EndTry;
		EndTry;
		If ActiveUsers <> Undefined Then
			SubString = Table.Rows.Add();	
			SubString.Name = NStr("ru = 'Активные пользователи'; SYS = 'AllFunctions.ActiveUsers'", "ru");
			SubString.Form = "ExternalDataProcessor.StandardActiveUsers.Form";
			SubString.Picture = PictureLib.Form;
			SubString.Type = "ExternalForm";
		EndIf;
	EndIf;
Показать


Сначала "все функции" пытается создать внешнюю обработку с именем StandardActiveUsers
Если не удалось, значит, что такая обработка ещё не была подключена. И тогда происходит подключение этой самой обработки по адресу внутреннего ресурса.

Выходит, что если подменяемая обработка будет вызывать ошибку при создании, то 1С её заменит на стандартную
Прикрепленные файлы:
Artem-B; BaphoBush; nsirotkin@mail.ru; JohnyDeath; DrAku1a; artbear; +6 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1888 07.10.21 18:35 Сейчас в теме
(0) как всегда что-то неординарное :)
shoy; CyberCerber; SeiOkami; +3 Ответить
2. Yashazz 4861 07.10.21 20:08 Сейчас в теме
А как технически происходит подмена, если не секрет? Я ещё понимаю выдрать их и как внешки юзать, но обратно как пихнуть? Или это и есть внешки?
3. SeiOkami 3591 07.10.21 20:13 Сейчас в теме
(2) по этой ссылке рассказывается.
Там всё просто. Например:

ДвоичныеДанные = Новый ДвоичныеДанные("C:\ВнешняяОбработка.epf");
АдресХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные); 
ВнешниеОбработки.Подключить(АдресХранилища, "StandardFindByRef", false);


В расширении при старте сеанса используется такой способ указания адреса:


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

Здесь в качестве адреса берется навигационная ссылка на реквизит. Но принцип тот же.
mitia.mackarevich; +1 Ответить
4. SeiOkami 3591 07.10.21 20:15 Сейчас в теме
(2) смысл в том, что каждая вшитая обработка имеет свое "ключевое" имя. По которому можно подключить любую другую обработку и платформа будет юзать уже её
13. Yashazz 4861 08.10.21 10:16 Сейчас в теме
(4) Чёрт, а у меня в своё время не получилось ((
Спасибо.
5. ixijixi 2034 07.10.21 21:11 Сейчас в теме
Коллеги, кто-нибудь нашел платформенную форму "Избранное"?
6. SeiOkami 3591 07.10.21 21:18 Сейчас в теме
(5)

ОткрытьФорму("sysForm:FavoritesDlg", Новый Структура("alias", 1));
Прикрепленные файлы:
FavoritesDlg.lf.epf
Artem-B; mitia.mackarevich; RustIG; ixijixi; +4 Ответить
7. Malfarion 256 08.10.21 02:19 Сейчас в теме
(6) Не получается ее подменить, у кого-то получилось?
9. SeiOkami 3591 08.10.21 06:13 Сейчас в теме
(7) нет, это только как-то менять файлы платформы. Но это уже точно попахивает нарушением лицензии)

Я использую только доступные из кода возможности
8. cleaner_it 198 08.10.21 04:15 Сейчас в теме
Потрясающее решение) Порой - да что там, частенько - задумывался о неудобстве типовых платформенных обработок
10. SeiOkami 3591 08.10.21 07:46 Сейчас в теме
Почему вообще возможна подмена легче понять, если заглянуть "под капот" в обработку "все функции".

	If AccessRight("ActiveUsers", Metadata) Then
		ActiveUsers = Undefined;
		Try
			ActiveUsers = New("ExternalDataProcessorObject.StandardActiveUsers");
		Except
			Try
				ExternalDataProcessors.Connect("v8res://mngbase/StandardActiveUsers.epf", "StandardActiveUsers", false);
				ActiveUsers = New("ExternalDataProcessorObject.StandardActiveUsers");
			Except
            	Message(ErrorDescription());
			EndTry;
		EndTry;
		If ActiveUsers <> Undefined Then
			SubString = Table.Rows.Add();	
			SubString.Name = NStr("ru = 'Активные пользователи'; SYS = 'AllFunctions.ActiveUsers'", "ru");
			SubString.Form = "ExternalDataProcessor.StandardActiveUsers.Form";
			SubString.Picture = PictureLib.Form;
			SubString.Type = "ExternalForm";
		EndIf;
	EndIf;
Показать


Сначала "все функции" пытается создать внешнюю обработку с именем StandardActiveUsers
Если не удалось, значит, что такая обработка ещё не была подключена. И тогда происходит подключение этой самой обработки по адресу внутреннего ресурса.

Выходит, что если подменяемая обработка будет вызывать ошибку при создании, то 1С её заменит на стандартную
Прикрепленные файлы:
Artem-B; BaphoBush; nsirotkin@mail.ru; JohnyDeath; DrAku1a; artbear; +6 Ответить
11. RustIG 1888 08.10.21 09:12 Сейчас в теме
(10) да ты просто 1с-хакер! :) думаю, скоро, некоторые модули конфигураций начнут закрывать от глаз и анализа 1с-разработчиков-внедренцев...
12. SeiOkami 3591 08.10.21 09:15 Сейчас в теме
(11) на самом деле, на Инфостарте уже писалось это всё по несколько раз. Там куча прикольных внутренностей можно посмотреть. Но, к сожалению, "переподключить" можно только тот список обработок, что я вписал в расширение. Или мы пока чего-то ещё не знаем 😁
14. Yashazz 4861 08.10.21 10:17 Сейчас в теме
(11) Всё это Евгения Карук давным-давно расписала. А вот как подцепить - это да, круто сделано, автору респект.
Дмитрий74Чел; +1 Ответить
16. Evil Beaver 8358 08.10.21 10:18 Сейчас в теме
(14) Коллективное творчество и общественный прогресс налицо. Для того мы тут и собрались
15. Evil Beaver 8358 08.10.21 10:18 Сейчас в теме
О, ВсеФункции сама по себе тоже обработка! Реквестирую тогда в ней сортировку по "последним открытым" и поиск. Кто бы сделал такое... Бесит при отладке многократно заходить в один и тот же объект через ВсеФункции и там его искать
Evg-Lylyk; artbear; +2 Ответить
17. SeiOkami 3591 08.10.21 10:21 Сейчас в теме
(15) если точнее, то ВсеФункции - это форма.
В платформе есть зашитые обработки - это те, что указаны в публикации.
А есть формы. Их намного больше. Например, та же "О программе" - это форма.
Но как их подменить пока неизвестно. Точнее, есть способ - подменить его в файлах платформы. Но это уже слишком сурово и скорее всего не совсем легально 😅
18. Evil Beaver 8358 08.10.21 10:23 Сейчас в теме
(17) На ИС тоже писалось, как подменять формы, но это, если не изменяет память, правка файлов ресурсов в каталоге платформы. Там контейнерный формат, как в CF
19. ixijixi 2034 08.10.21 11:09 Сейчас в теме
22. artbear 1571 08.10.21 12:43 Сейчас в теме
(15) Так история для этого есть.
я ей пользуюсь, если помню, что не так давно открывал
Дмитрий74Чел; +1 Ответить
20. Evg-Lylyk 5123 08.10.21 12:03 Сейчас в теме
Спасибо, хорошая работа
В 20 платформе появилось много новых обработок, хотелось бы чтобы была поддержка
Пример доработки конструктора запросов https://infostart.ru/1c/articles/1278855/
improg; artbear; +2 Ответить
21. SeiOkami 3591 08.10.21 12:14 Сейчас в теме
(20) интересно, посмотрю 20ую и добавлю новые обработки.

Но, кстати, забыл в статье упоминуть, что при появлении новых платформенных обработок, их можно вручную добавить в подсистему. Для этого просто нужно создать элемент справочника Платформенные обработки и указать ключевое имя. Далее при обновлении версии они будут учитывать и добавленную обработку
frkbvfnjh; Evg-Lylyk; artbear; +3 Ответить
23. Evg-Lylyk 5123 21.10.21 13:46 Сейчас в теме
(15) Как вариант можно добавить объект в избранное
24. SeiOkami 3591 09.12.21 17:14 Сейчас в теме
Выложил новую версию расширения по подмене "встроенных" в платформу обработок.

• Добавлены новые обработки из платформы 8.3.20 (9 шт)

• В новой версии платформы изменили внутренние имена обработок. Поэтому, теперь в расширении хранится список имен. Например, Поиск ссылок на объект: StandardFindByRef и StandardFindByReference.

• Добавлено автоматическое обновление версий обработок при старте сеанса. Происходит один раз на каждую версию платформы. Т.е. при первоначальной установке расширения и последующих обновлениях платформы
25. sasha_r 28.12.22 16:23 Сейчас в теме
"назойлевый " пишется как " назойливый "

спасибо за статью!
26. Светлый ум 455 30.06.23 10:03 Сейчас в теме
27. Alexwarsis 10.08.23 12:17 Сейчас в теме
а как то можно достучаться до extobj из некоторый платформенных обработок? типо той же блокировки? что бы к примеру разблокировать нужный тебе объект кодом, а не интерактивно?
Оставьте свое сообщение