Skip to content

marmyshev/edt-editing

Repository files navigation

Disable Editing plugin for 1C:EDT

Russian description goes after English

Русское описание идет после английского

Plugin for 1C:Enterprise Development Tools disables editing of 1C metadata objects in UI editors. Reach settings of blocked objects.

Historically developers used supplier's settings to enable editing of some metadata objects and the rest of objects keep disabled (aka supplied by Configuration vendor).

In new IDE 1C:EDT application develops more flexible and uses git for supplier-master branch workflow, initial supplier's settings now can be still used but give more tricks than more help. So most developers remove them from repository.

Developers want to protect themselves or their juniors from accidental editing some object that they didn't want to edit while exploring reach Configurations.

Disable Editing plugin developer set up some rules to make read-only mode in UI editors of 1C:EDT.

Install

Plugin Version 1C:EDT version
0.5.0 2023.1+ and newer...
0.4.0 2020.5 - 2022.2
0.3.0 2020.5+ and newer...
0.2.0 2020.5 - 2020.6
0.1.0 2020.1 - 2020.4

Drag to your running 1C:EDT* workspace. *Requires Eclipse Marketplace Client

For manual install Select menu: Help -> Install New Software... past in p2-repository URL https://marmyshev.gitlab.io/edt-editing/update

Select installable feature Disable Editing plugin for 1C:EDT

Main features

Set up rules to Disable editing (read-only mode) in editors:

  • specify subsystems which content objects are disabled to edit, hierarchy of subsystems is supported
  • specify project relative full path or folders which content is disabled to edit
  • specify full qualified names of 1C:Enterprise metadata objects (that stores in single file) that should be disabled in editors
  • specify branch names which content is disabled to edit

Set up rules to Enable as exceptions from disable rules:

  • by subsystem
  • by project relative path to file or to folder
  • by full qualified name

Note! This plugin does not disables editing files via file system!

Attantion! Disabled object will be skipped from project validation by 1C:EDT.

Set up your project rules

Place Yaml file in your project settings folder: YourProjectName/.settings/editing.yml with content:

# section allows to disable editing in UI
disable:
  # List of subsystems which content should be disabled
  subsystem:
    - DisabledSubsystem1
    - DisabledSubsystem2
  # List of project relative path to file or to folder 
  path:
    - src/CommonModules/LockedOnlyModule/Module.bsl
   
  # Full qualified name of top objects (resources)
  fullname:
    - Catalog.Products.Form.ItemForm.Form

  # List of Git remote branches which content should be disabled
  branch:
    - vendor
     
# section allows to make some exceptions from disable rule
enable:
  merge: true # allows to edit by compare and merge EDT system
  subsystem:
    - EnabledSubsystem
  path:
    - src/Catalogs/Enabled

Create or open settings in Project editor

Open "Project editor" in menu of 1C Navigator.

Create new disable editing settings file and continue to setup your project.

image

Or open existing disable editing settings file to setup your project.

image

Demo example

Simple example for disabling an entire project

# section allows to disable editing in UI
disable:
  # List of project relative path to file or to folder 
  path:
    - src/

Open 1C:EDT and import project from this repository EditingDemoConfig into workspace.

Demo settings here.

Open metadata objects to check out disabling and enabling features!

Note! If the plugin was installed after the creation of the workspace then, to display the icons of blocked objects in the navigator, you need to enable display the icon in the settings "Window -> Parameters -> Appearance -> Label decoration", item "Disable to edit objects"

Плагин запрета редактирования для 1C:EDT

Плагин для 1C:Enterprise Development Tools блокирует редактирование объектов метаданных 1С в редакторах в интерфейсе. Гибкие настройки блокируемых объектов.

Исторически, разработчики использовали настройки поддержки поставщика чтобы разрешить редактирование некоторых объектов метаданных, а остальные объекты оставить заблокированными (типа на поддержке поставщика Конфигурации).

В новой IDE 1C:EDT приложения разрабатываются гибче, в т.ч. используя Git для ветвления supplier-master, начальные настройки поставки можно при этом использовать, но добавляют сложности больше чем помощи. Поэтому большинство разработчиков удаляют настройки из репозитория.

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

В Плагине запрета редактирования разработчик настраивает некоторые правила, чтобы включить режим Только-просмотр в редакторах интерфейса 1C:EDT.

Установка

Версия плагина Версия 1C:EDT
0.5.0 2023.1+ и новее...
0.4.0 2020.5 - 2022.2
0.3.0 2020.5+ и новее...
0.2.0 2020.5 - 2020.6
0.1.0 2020.1 - 2020.4

Перетяните это в запущенный воркспейс EDT. Требуется клиент Маркетплейс Эклипса

Для ручной установки Выбеите меню: Help -> Install New Software... вставьте адрес p2-репозитория https://marmyshev.gitlab.io/edt-editing/update

Выберите фичу для установки Disable Editing plugin for 1C:EDT

Основные возможности

Настройка правил блокировки ( Disable ) редактирования (режим Только-просмотр) в редакторах:

  • Указание подсистем, состав объектов которых заблокирован для редактирования, иерархия подсистем поддерживается
  • Указание относительно проекта полного пути к файлу или к каталогу, контент которых заблокирован для редактирования
  • Указание полного квалифицированного имени метаданного 1С:Предприятия (хранящиеся в отдельных файлах), которые должны быть заблокированы в редакторах
  • Указание серверных веток Git, список файлов в которых можно заблокировать для редактирования

Настройка правила исключения ( Enable ) для разрешения редактирования:

  • по подсистеме
  • по пути к файлу или каталогу относительно проекта
  • по полному квалифицированному имени

Примечание! Этот плагин не блокирует редактирование файлов через файловую систему!

Внимание! Заблокированные объекты будут исключены из проверки (валидации) по проекту в 1C:EDT.

Настройка правил по проекту

Разместите Ямл файл с настройками в каталоге вашего проектта: YourProjectName/.settings/editing.yml с содержанием:

# секция блокирирует редактирование в UI
disable:
  # Список подсистем, состав объектов которых должен быть заблокирован
  subsystem:
    - DisabledSubsystem1
    - DisabledSubsystem2
  # Список путей относительно проекта к файлам или каталогам
  path:
    - src/CommonModules/LockedOnlyModule/Module.bsl
   
  # Список полных квалифицированных имен объектов с ресурсами
  fullname:
    - Catalog.Products.Form.ItemForm.Form

  # Список серверных веток Git контент которых должен быть заблокирован
  branch:
    - vendor
   
# секция добавляет исключения из правил блокировки
enable:
  merge: true # разрешает редактирование из системы Саравнения/Объединения
  subsystem:
    - EnabledSubsystem
  path:
    - src/Catalogs/Enabled

Создайте или откройте настройки в Редакторе проекта

Откройте "Редактор проекта" в меню Навигатора 1С.

Создайте новый файл настроек запрета редактирования и продолжите настройку вашего проекта.

image

Или откройте существующий файл настроект запрета редактирования чтобы настроить ваш проект.

image

Демо пример

Простой пример для блокировки всего проекта

# секция блокирирует редактирование в UI
disable:
  # Список путей относительно проекта к файлам или каталогам
  path:
    - src/

Откройте 1C:EDT и импортируйте проект из этого репозитория EditingDemoConfig в воркспейс.

Демо настройки здесь.

Откройте объекты метаданных, чтобы исследовать функциональность блокировки и разрешения!

Примечание! Если установка плагина была выполнена после создания проекта (воркспейса), то, для отображения иконок блокированных объектов в навигаторе, необходимо включить отображение значков в настройках "Окно -> Праметры -> Внешний вид -> Оформление меток" , пункт "Disable to edit objects"

image

About

(mirror) Disable Editing plugin for 1C:EDT, allows to disable edit objects in UI editors with various settings

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •