Управление платформенными обработками (расширение + обработка выгрузки) [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. Там же можете оставлять предложения, замечания и регистрировать ошибки. 

 

 

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

См. также

SALE! 15%

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159696    876    399    

862

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7889    59    23    

69

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

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

9360 руб.

17.05.2024    23503    68    45    

117

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10469    36    25    

61

SALE! 15%

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

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 19980 руб.

06.10.2023    15439    35    7    

70

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    188069    1140    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17319    6    32    

42

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

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

1800 руб.

21.02.2023    7722    8    35    

23
Отзывы
10. SeiOkami 3517 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 1747 07.10.21 18:35 Сейчас в теме
(0) как всегда что-то неординарное :)
shoy; CyberCerber; SeiOkami; +3 Ответить
2. Yashazz 4791 07.10.21 20:08 Сейчас в теме
А как технически происходит подмена, если не секрет? Я ещё понимаю выдрать их и как внешки юзать, но обратно как пихнуть? Или это и есть внешки?
3. SeiOkami 3517 07.10.21 20:13 Сейчас в теме
(2) по этой ссылке рассказывается.
Там всё просто. Например:

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


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


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

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

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

Я использую только доступные из кода возможности
8. cleaner_it 209 08.10.21 04:15 Сейчас в теме
Потрясающее решение) Порой - да что там, частенько - задумывался о неудобстве типовых платформенных обработок
10. SeiOkami 3517 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 1747 08.10.21 09:12 Сейчас в теме
(10) да ты просто 1с-хакер! :) думаю, скоро, некоторые модули конфигураций начнут закрывать от глаз и анализа 1с-разработчиков-внедренцев...
12. SeiOkami 3517 08.10.21 09:15 Сейчас в теме
(11) на самом деле, на Инфостарте уже писалось это всё по несколько раз. Там куча прикольных внутренностей можно посмотреть. Но, к сожалению, "переподключить" можно только тот список обработок, что я вписал в расширение. Или мы пока чего-то ещё не знаем 😁
14. Yashazz 4791 08.10.21 10:17 Сейчас в теме
(11) Всё это Евгения Карук давным-давно расписала. А вот как подцепить - это да, круто сделано, автору респект.
Дмитрий74Чел; +1 Ответить
16. Evil Beaver 8244 08.10.21 10:18 Сейчас в теме
(14) Коллективное творчество и общественный прогресс налицо. Для того мы тут и собрались
15. Evil Beaver 8244 08.10.21 10:18 Сейчас в теме
О, ВсеФункции сама по себе тоже обработка! Реквестирую тогда в ней сортировку по "последним открытым" и поиск. Кто бы сделал такое... Бесит при отладке многократно заходить в один и тот же объект через ВсеФункции и там его искать
Evg-Lylyk; artbear; +2 Ответить
17. SeiOkami 3517 08.10.21 10:21 Сейчас в теме
(15) если точнее, то ВсеФункции - это форма.
В платформе есть зашитые обработки - это те, что указаны в публикации.
А есть формы. Их намного больше. Например, та же "О программе" - это форма.
Но как их подменить пока неизвестно. Точнее, есть способ - подменить его в файлах платформы. Но это уже слишком сурово и скорее всего не совсем легально 😅
18. Evil Beaver 8244 08.10.21 10:23 Сейчас в теме
(17) На ИС тоже писалось, как подменять формы, но это, если не изменяет память, правка файлов ресурсов в каталоге платформы. Там контейнерный формат, как в CF
19. ixijixi 1913 08.10.21 11:09 Сейчас в теме
22. artbear 1563 08.10.21 12:43 Сейчас в теме
(15) Так история для этого есть.
я ей пользуюсь, если помню, что не так давно открывал
20. Evg-Lylyk 4842 08.10.21 12:03 Сейчас в теме
Спасибо, хорошая работа
В 20 платформе появилось много новых обработок, хотелось бы чтобы была поддержка
Пример доработки конструктора запросов https://infostart.ru/1c/articles/1278855/
improg; artbear; +2 Ответить
21. SeiOkami 3517 08.10.21 12:14 Сейчас в теме
(20) интересно, посмотрю 20ую и добавлю новые обработки.

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

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

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

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

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