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

 

 

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

См. также

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

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

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

10000 руб.

02.09.2020    124929    682    389    

732

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

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

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

18000 руб.

06.10.2023    7768    24    6    

42

Infostart УДиФ: Управление данными и формами

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

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

10000 руб.

10.11.2023    4280    12    2    

36

SALE! %

PowerTools

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

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

3600 2280 руб.

14.01.2013    178645    1083    0    

861

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

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

5000 руб.

07.02.2018    99622    239    97    

298

[ЕХТ] Фреймворк для Расширений 1С

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

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

3000 руб.

27.08.2019    18389    6    8    

40

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

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

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23856    16    15    

33

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28320    3    10    

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

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


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


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

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

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

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

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

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

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

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

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