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

 

 

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

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

10000 руб.

02.09.2020    269082    1497    422    

1180

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

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

24900 руб.

20.08.2024    75502    381    170    

326

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

22570 руб.

06.10.2023    40322    115    54    

128

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

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    64270    130    36    

139

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    9136    39    52    

54

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

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

17000 руб.

10.11.2023    26525    98    46    

104

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2711    6    0    

21

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    54906    188    63    

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

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


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


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

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

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

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

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

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

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

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

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