|
Хочу у подсистем модули! | ☑ | ||
---|---|---|---|---|
0
vde69
14.03.19
✎
09:30
|
Собственно давно пытался сформулировать идею как можно навести порядок конфах 1с, формулирую:
Для объекта метаданных "Подсистема" добавляем 2 модуля (где можно писать текст), модули имеют фиксированную настройку Клиент/Сервер и пользовательские настройки "Привелигерованый" и "Вызов сервера". Еще можно добавить реквизит "Версия" но не обязательно его можно сделать через функцию 1. СерверныйИнтерфейс 2. КлиентскийИнтерфейс все процедуры и функции описные в них автоматически являются экспортными, кроме того каждая подсистема автоматически наследует все имена из подчиненных подсистем, но при этом в подсистеме можно переопределить процедуру подчиненной подсистема (классическое наследование) далее: в каждой подсистеме можно создавать произвольное число модулей, но процедуры этих модулей видны только описанных ранее 2х интерфейсных модулях (и вышестоящих интерфейсных модулях). Разумеется имя подсистемы верхнего уровня не должно конфликтовать с как это будет выглядеть на примере: подсистемы Библиотека СтроковыеФункции (здесь описываем функцию "Ф1" которая использует функцию из НЕ интерфейсного модуля подсистемы "Переопределяемые.ФункцияРасчетаФ1()") РаботаСМассивами .... в простом коде будут доступны следующие конструкции Библиотека.Ф1() Библиотека.СтроковыеФункции.Ф1() ФункцияРасчетаФ1() - будет не доступна. Критикуйте .... |
|||
1
ptiz
14.03.19
✎
09:39
|
(0) "но при этом в подсистеме можно переопределить процедуру подчиненной подсистема" - с наследованием будет мрак: разбираться почему процедура с одним с тем же названием отрабатывает по-разному.
Общего модуля "МодульПодсистемыИКС" - вполне достаточно. |
|||
2
Мыш
14.03.19
✎
09:44
|
(0) > Критикуйте ....
Пока ты не работаешь у вендора на значимой должности - всё это бессмысленное печатание букв. |
|||
3
vde69
14.03.19
✎
09:48
|
(1) >>>наследованием будет мрак: разбираться почему процедура с одним с тем же названием отрабатывает по-разному.
почему? во первых есть отладчик, во вторых во взрослых языках для обращения к вышестоящей по наследованию процедуре используют что-то типа this.f1() по этому и никакой неразберихи не должно возникать... Вообще это классическая объектная модель, где объектом выступает подсистема, к ней относятся и данные и способы работы с этими данными... я-бы вообще сделал что-то типа (Банк и Касса это разные подсистемы, а РКО это один документ который есть в обоих подсистемах) Банк.Документы.РКО.СоздатьОбъект() - выполняется обработчик заполнения документ а потом из подсистемы Банк Касса.Документы.РКО.СоздатьОбъект() - а тут поле обработчика документа выполняется уже свой обработчик. тем самым все становится намного более "адаптивно" |
|||
4
vde69
14.03.19
✎
09:49
|
(2) они читают мисту, и иногда воруют идеи. Пусть и эту своруют :)
|
|||
5
elCust
14.03.19
✎
09:55
|
Давайте начнем пожалуй с типизации сплошь и повсюду. Как ты говоришь "Во взрослых языках" это первоочередное.
Сообщение компилятора "Ошибка преобразования типов"... Ну детский сад. |
|||
6
VladZ
14.03.19
✎
09:56
|
(3) Не врубаюсь, зачем "Банк.Документы.РКО.СоздатьОбъект()". Сейчас есть единая точка входа для создания документа - процедура заполнить в модуле документа. Зачем нужна подобная конструкция?
|
|||
7
vde69
14.03.19
✎
09:56
|
(5) типизация - это огромная работа, полная переделка платформы, а сабж - относительно небольшая доделка...
|
|||
8
VladZ
14.03.19
✎
10:02
|
Допустим, есть объекты, которые входят в состав нескольких подсистем. Какой смысл в таком случае у этих новых модулей?
|
|||
9
quest
14.03.19
✎
10:06
|
(0) И что мешает это сделать сейчас? Пишешь как тебе нравится/удобно, потом компилируешь все что написал на машину 1С. Если понравится не только тебе то лет через 5 это будет в платформе. Если же нежизнеспособная фигня - то и критиковать не придется
|
|||
10
Nyoko
14.03.19
✎
10:15
|
не надо, можно просто взять модуь и поместить его в подсистему.
|
|||
11
kudlach
14.03.19
✎
10:24
|
А я хочу чтоб в типовых бардак в коде уменьшился.
Чем больше возможностей бардак сделать - тем больше его будет. Замечали, что примерно одинаковый функционал разбросан по разным модулям и написан в разных стилях ? Потому что разработчики вендора не всегда дружат друг с другом. Особенно, когда отвечают за различные блоки - бухгалтерия, зарплата, производство, торговля, CRM. Развитие системы хорошо, но без стандартизации - плохо. |
|||
12
SUA
14.03.19
✎
10:34
|
(0) А что это поменяет, кроме необходимости задублировать заголовочные строки в модулях библиотеки?
"Библиотека.Раздел1.Ф1()" "БиблиотекаРаздел1.Ф1()" "Библиотека.Ф1()" конечно аккуратнее но тогда для больших подсистем там будет свалка |
|||
13
SoulPower
14.03.19
✎
10:41
|
Мдаа...
|
|||
14
vde69
14.03.19
✎
10:42
|
(11) я думаю сабж поможет с решением этой проблемы. Сейчас общие модули содержат немерянный список процедур и функций, сабж уменьшит их количество в разы (и уменьшит размер интерфейсного блока), по существу я предлогаю что-то вроде файла заголовков *.h разбитого в дерево подсистем.
Тогда и искать и дружить будет проще в разы проще (12) дублировать ничего не придется, разве что вызовы клиент+сервер |
|||
15
Вафель
14.03.19
✎
10:44
|
вуместо нормального ООП люди хотят какую-то дичь
|
|||
16
Aleksandr N
14.03.19
✎
10:49
|
"Привелигерованый", ага.
|
|||
17
azt-yur
14.03.19
✎
10:54
|
(5)(15) на партнерском семинаре в кратце показывали прототип нового языка 1С и в нем сделали строгую типизацию переменных и еще новые объекты Структуры и Перечисления по подобию классов в ООП. Там пока все зародыше, но глядишь в 1С 9 и дождемся ООП.
|
|||
18
ДенисЧ
14.03.19
✎
10:56
|
(17) На type-script? Или go какой-нибудь?
ИЛи свой велосипед? |
|||
19
Вафель
14.03.19
✎
10:59
|
(18) свой конечно, чтоб 1сники не убежали в теплые края
|
|||
20
Вафель
14.03.19
✎
11:00
|
типизацию кстати, можно сделать необязательную
Ну и режим стрикт конечно же |
|||
21
ам794123
14.03.19
✎
11:03
|
(0)Подсистемы - это интерфейсная сущность; для функциональной сущности есть общие модули. Все логично на мой взгляд в 1с.
|
|||
22
Вафель
14.03.19
✎
11:06
|
(21) чувак хочет namespace'ы
|
|||
23
Вафель
14.03.19
✎
11:08
|
(22) круто конечно, но 1с не может определиться в каких модулях что должно лежать, а теперь надо еще будет по наймспейсам раскидывать.
А простым смертным только им успевай, что доработки переписывать |
|||
24
Волшебник
14.03.19
✎
11:14
|
(0) Хорошая идея. Но что мешает создать общий модуль Подсистема_Модуль_Клиентский? и т.д.
Только лень? |
|||
25
Мыш
14.03.19
✎
11:18
|
Эн лет назад предлагал создать группы для объектов метаданных. По образу и подобию иерархических справочников. Простое интерфейсное решение, а насколько может облегчить труд.
|
|||
26
Вафель
14.03.19
✎
11:19
|
(25) ну так подсистемы же
|
|||
27
vde69
14.03.19
✎
11:21
|
(24) я хочу иметь приватную видимость модулей внутри маленькой интерфейсной части.
Общими модулями этого не добиться. Да и потом Вы видели сколько общих модулей в типовой? поди найди где там закопан нужный тебе функционал... а так все будет разбито по разделам (подсистемам) |
|||
28
sieben
14.03.19
✎
11:23
|
(27) > поди найди где там закопан нужный тебе функционал
Так весь сыр-бор из за этого, что-ли? Я тя умоляю, 1Сники и на объектах сделают так, что хрен что найдешь. |
|||
29
Мыш
14.03.19
✎
11:24
|
(26) Нет, это другое. В случае с подсистемами установка фильтра: сдвиг мыши на кнопку в стороне; нажатие кнопки; поиск нужной подсистемы; установка флага; нажатие кнопки "Установить".
Группы: нажать "плюс" в том месте, где находишься. При регулярном поиске сильно убыстряет. При нерегулярном тоже проще. Минус: ограничено конкретной областью. |
|||
30
Волшебник
14.03.19
✎
11:27
|
(27) Так все запутаются. Можешь завести обработку "БиблиотекаПодсистемыХХХ". У обработки есть модуль объекта, модуль менеджера и могут быть формы и команды со своими модулями. Модулей завались!
|
|||
31
Вафель
14.03.19
✎
11:28
|
(29) только нужно будет вспомнить для начала в какой группе искать.
А групп будет - мама не горюй |
|||
32
Мыш
14.03.19
✎
11:31
|
(31) Так и для подсистем то же самое. Вспоминать, как называется подсистема. Сделать иерархический режим просмотра опциональным.
|
|||
33
Мыш
14.03.19
✎
11:33
|
С клавиатуры "развернул/это не здесь/свернул/сдвиг вниз" быстрее, чем отбирать по подсистемам. Вообще сборище объектов более, чем на один экран - плохо.
|
|||
34
quest
14.03.19
✎
11:33
|
(27) Ты неверно, по моему, подходишь к этому вопросу.
Во первых - нафига это в платформе? Второе - код это текст, написать свое расширение языка (под эту задачу) который бы преобразовывал так как тебе надо - не так и сложно. И третье - даже если случится чудо и твое предложение реализуют, то пользоваться им в типовых все равно не будут (просто потому что требуется сесть и подумать как использовать эту возможность, а думать некогда) (29) Конфигуратор как ide - полный отстой |
|||
35
Nyoko
14.03.19
✎
11:52
|
Да все классно с 1с, ниё не надо, даже к уродским UI УФ уже привык как к родным...
|
|||
36
SoulPower
14.03.19
✎
12:01
|
Вижу пользу только в том, чтобы перенести в методы служебных модулей в предлагаемые в (0), чтобы ими могли пользоваться только разработчики подсистемы.
Эти методы могут модифицироваться, использование такого метода чревато ошибками, если их юзает не разработчик подсистемы. А так — Как сократить количество модулей? Добавить новые!!) ага... Ещё отбор по подсистеме в конфигураторе желаю освоить автору. И поиск с отбором, чтобы искать нужный "функционал". И да, когда уже будет нормальное ООП!!??))) |
|||
37
sieben
14.03.19
✎
12:06
|
(36) > когда уже будет нормальное ООП
А потом @96edv разразится речью, что опять не понимает, что эти одинэсники наворотили, не поймешь что где лежит в иерархии, и вообще срочно нужны интерфейсы (: |
|||
38
palsergeich
14.03.19
✎
12:24
|
Здесь такие решения не принимаются, это как минимум на партнерку.
Но по существующим темам результат будет следующий: Публикуешь хотелки. Прибегает толпа народа и яростно тебя плюсует. Потом прибегает толпа народа из 1с минусуют всех в теме и говорят что все говно, мы посчитали что этого не надо. Потом прибегает Нуралиев. Говорит что лучшие умы посчитали что это не нужно и начинается переход на личности. Все вокруг в друг друга кидают минусы и плюсы, коричневое море бурлит. И ровным счётом ничего не меняется. Смотри тему поиск во Все функции на партнёрке. |
|||
39
Garykom
гуру
14.03.19
✎
12:53
|
Как было хорошо в 7.7 всего один глобальный модуль и весь говнокод как на ладони.
Только забыли еще ограничение на его длину жесткое ввести, чтобы разрабы учились лучше писать. А вот видимость только внутри подсистем было бы прикольно кстати, некие аля "пространства имен". Можно будет сделать что подсистемы скопировал/вставил и оно работает в другой конфе. |
|||
40
Вафель
14.03.19
✎
12:56
|
(38) да и на партнерке такие решения не принимаются. такие решения принимаются в тайном кабинете 1с. доступ туда имеют лишь избранные
|
|||
41
palsergeich
14.03.19
✎
12:58
|
(39) они анонсировали в телеграмм канале аналог пространства имен по подсистемам.
Правда оно будет только в ЕДТ. Говорят будет бомба. (40) По факту та же Миста, только за ИТС) |
|||
42
palsergeich
14.03.19
✎
12:58
|
(41) но когда говорят будут бомба - скорее всего бомбить будут пуканы у партнёров, а то, что имелось ввиду.
|
|||
43
palsergeich
14.03.19
✎
13:00
|
(42) а не то что имелось ввиду, опечатку поправил
|
|||
44
Мыш
14.03.19
✎
13:05
|
(41) Что за телеграм-канал? Адрес, явки, пароли? )
|
|||
45
palsergeich
14.03.19
✎
13:08
|
https://t.me/edt1c
https://t.me/ssl1c В каком то из 2х. Они конечно скатились в говно, но на старте и сейчас весьма изредка инсайдик бывают |
|||
46
palsergeich
14.03.19
✎
13:10
|
На той неделе были например фото с какого то семинара, там 1с представил свой прототип скриптовый машины общего назначения, аналог 1Sscript. И очень знатно побурлели говна.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |