OneS icon indicating copy to clipboard operation
OneS copied to clipboard

Папки в структуре конфигурации

Open emilskra opened this issue 3 years ago • 10 comments

image

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

Это можно отнести к объектам (общие модули, документы, справочники), реквизитам объектов, формам, а так же реквизитам форм.

При этом, такая логика не конфликтует с подсистемами, а лишь дополняет возможностью более понятно расположить элементы системы по папочкам, которые можно "свернуть""развернуть" прямо в дереве, без необходимости включать\отключать фильтры по подсистемам.

emilskra avatar Apr 06 '21 12:04 emilskra

А фильтр по подсистемам чем не угодил? Вроде ту же самую функцию выполняет.

изображение

bapho-bush avatar Apr 06 '21 12:04 bapho-bush

А фильтр по подсистемам чем не угодил? Вроде ту же самую функцию выполняет.

изображение

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

Nivanchenko avatar Apr 06 '21 13:04 Nivanchenko

Не плодить же тут подсистемы.

Ну, на сколько я понимаю, в этом и есть смысл подсистем. Если посмотреть вложенные подсистемы той же БЭД, складывается именно такое ощущение.

bapho-bush avatar Apr 06 '21 13:04 bapho-bush

А фильтр по подсистемам чем не угодил? Вроде ту же самую функцию выполняет.

изображение

каммон, идти и делать отбор намного сложнее, чем просто раскрыть скрыть папку...

emilskra avatar Apr 06 '21 13:04 emilskra

А фильтр по подсистемам чем не угодил? Вроде ту же самую функцию выполняет.

изображение

Вы же на github посмотрите проекты на других языках, посмотрите их структуру каталогов. Думаю вы поймете чем дерево отличается от списка.

https://github.com/SeiOkami/OneS/issues/17#issuecomment-814009520 Вот про то же самое комментарий

VVi3ard avatar Apr 06 '21 15:04 VVi3ard

А фильтр по подсистемам чем не угодил? Вроде ту же самую функцию выполняет.

изображение

Просто группировка не должна быть целью. Изменение должно повышать эффективность/удобство использования языка или обращение к объектам подсистемы. Если сейчас мы имеем набор модулей

АдресныйКлассификатор
АдресныйКлассификаторВызовСервера
АдресныйКлассификаторКлиент
...
АдресныйКлассификаторПовтИсп

то объединив их в "папку" АдресныйКлассификатор было бы логично и обращение в коде через точку

АдресныйКлассификатор.ВызовСервера.Метод()
АдресныйКлассификатор.ПовтИсп.Метод()

и уже благодаря расширениям или просто изменению конфигурации расширять функциональность такой подсистемы своими модулями АдресныйКлассификатор.РасширениеВызовСервера.ПолучитьДанныеПоИдентификаторуФИАСДома(гуид)

Когда-то на партнерке уже было предложение добавить набор модулей непосредственно в сам объект таким образом инкапсулировав обращения к нему, но на мое удивление у поста одни минусы.

L0z4 avatar May 03 '21 09:05 L0z4

А фильтр по подсистемам чем не угодил? Вроде ту же самую функцию выполняет.

изображение

Просто группировка не должна быть целью. Изменение должно повышать эффективность/удобство использования языка или обращение к объектам подсистемы.

Если сейчас мы имеем набор модулей


АдресныйКлассификатор

АдресныйКлассификаторВызовСервера

АдресныйКлассификаторКлиент

...

АдресныйКлассификаторПовтИсп

то объединив их в "папку" АдресныйКлассификатор было бы логично и обращение в коде через точку


АдресныйКлассификатор.ВызовСервера.Метод()

АдресныйКлассификатор.ПовтИсп.Метод()

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

АдресныйКлассификатор.РасширениеВызовСервера.ПолучитьДанныеПоИдентификаторуФИАСДома(гуид)

Когда-то на партнерке уже было предложение добавить набор модулей непосредственно в сам объект таким образом инкапсулировав обращения к нему, но на мое удивление у поста одни минусы.

Ну это костыль связанный с особенностями настроек общих модулей. Может стоит ещё дополнительно подумать, как избавиться от этих настроек.

emilskra avatar May 03 '21 09:05 emilskra

Ну это костыль связанный с особенностями настроек общих модулей. Может стоит ещё дополнительно подумать, как избавиться от этих настроек.

возможно, но моей фантазии не хватает чтобы понять как от них избавиться, а главное зачем от них избавляться. Методы повторного использования - отличная вещь. Разделение клиент/сервер/вызовСервера - принципиальная необходимость. Попытки избавиться от них скорее всего будут сводиться к тому что вместо модулей будут использоваться директивы компиляции, а вместо правил именования модулей применение правил именования процедур и функций. Таким образом получим общий модуль - помойку где разработчик пишет все подряд, а поддержка продолжает страдать.

Как по мне, идеал - вообще не использовать общие модули. Любой модуль/форма/макет должен относиться к конкретному объекту. Что будет являться этим объектом - подсистема/обработка/справочник/регистр или некая абстрактная новая сущность "папка" уже менее важно.

L0z4 avatar May 03 '21 10:05 L0z4

Отправлено в чат: https://t.me/e1c_community/58477 Отправлено боту 1С в 09:33

SeiOkami avatar Sep 23 '21 06:09 SeiOkami

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

А вот про опцию автогруппировки в списке общих модулей я полностью за https://github.com/SeiOkami/OneS/issues/117

Еще мне нужен Working set, т.е. рабочий набор объектов. Временный набор объектов с которыми я работаю по задаче, а остальные чтобы были скрыты и не заставляли постоянно искать нужное фильтром или прокруткой на километры. Этот временный набор не хранится в конфигурации, а хранится в настройках конфигуратора конкретной базы и пользователя ОС. Описал идею в заявках по EDT https://github.com/marmyshev/edt-plugins/issues/2#issuecomment-821580627

tormozit avatar Sep 23 '21 06:09 tormozit