|
Нужно ли объекто-ориентированное программирование в платформе 1С ? | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
GANR
22.10.12
✎
12:50
|
Как Вы считаете, нужно ли в платформе 1С реализовать такие принципы ООП, как наследование и полиморфизм (инкапсуляция, худо-бедно, возможна)?
|
|||||||
28
GANR
22.10.12
✎
13:07
|
(27) Желудок сжимается от такого. Клавиатуру испачкать можно ((((.
|
|||||||
29
badboychik
22.10.12
✎
13:07
|
(27) такой вот челябинский SWITCH..CASE..END
|
|||||||
30
Krendel
22.10.12
✎
13:08
|
3. Пох
|
|||||||
31
UnAmerican
22.10.12
✎
13:08
|
(19) Ага и сделать в 2-а клика. И после кодеры вообще задумываться не будут почему я тут в запрос в цикле вызвать не могу. Или почему массив ТЗ это очень плохо. А вот массив ссылок на строки из этих ТЗ хорошо.
Это все решила бы кастомизация и наследование. А вот полиморфизм опасен, если нет кастомизации, т.к рядовые кодеры не удосужатся проверить, что они туда толкаю. |
|||||||
32
ErrorEd88
22.10.12
✎
13:08
|
(27) нормально
|
|||||||
33
UnAmerican
22.10.12
✎
13:09
|
(29) А чем структурно от SWITCH..CASE..END отличается?
|
|||||||
34
UnAmerican
22.10.12
✎
13:10
|
(27) Вот только боюсь данные собираются по дате и номеру или организации например. И можно было бы обойтись проще конструкцией. А так да.
|
|||||||
35
UnAmerican
22.10.12
✎
13:14
|
Тут надо смотреть в сторону, кто насколько часто пользуется хмл-ками, соап-ом,гет/пост. Из под 1с-ки. У кого много синхронизаций с другим ПО или кучу оборудования. Где работа по сути однотипна, но очень емка если реализовывать для каждого случая. К тому же если изменился код на стороне или у тебя как то совсем не хочется переписывать, все это изначально можно предугадать и реализовать. На примере, например, разных конструкторов
|
|||||||
36
Гобсек
22.10.12
✎
13:16
|
--
Нет |
|||||||
37
Stim
22.10.12
✎
13:18
|
(27) ну да. зато все универсально. в каждом документе 100500 процедур печати, вызывающих друг друга
|
|||||||
38
JustBeFree
22.10.12
✎
13:19
|
..
Да |
|||||||
39
Starhan
22.10.12
✎
13:20
|
(27) там и у РТиУ подобное, да и у других доков. А от чего именно такая любовь?. Переделать все в одну процедуру сбора данных для печати а вид счета фкатуры передавать как параметр?
(8) нитко не мешает писать различные приблуды на нужном тебе языке компилировать в библиотеки и юзать в 1С. Так можно работать с 1С и быть "настоящим программистом" :), Заодно в лсучае чего код не сопрут. |
|||||||
40
1Страх
22.10.12
✎
13:20
|
(37) размер кода уменьшится, 100500 заверни себе обратно ))
|
|||||||
41
Кокос
22.10.12
✎
13:24
|
Сейчас, для сохранения обновляемости базы, приходится пользоваться подчиненными справочниками, а тут будет всё проще. Вообще вспоминаю с удовольствием свои с++ные времена.
Да |
|||||||
42
Кокос
22.10.12
✎
13:24
|
Но "это все фантастика. Люди не существуют."
|
|||||||
43
Капитан Смоллет
22.10.12
✎
13:29
|
||||||||
44
mikecool
22.10.12
✎
13:31
|
лавры Гени не дают спать спокойно
|
|||||||
45
HeroShima
22.10.12
✎
13:32
|
объекто-ориентированное конфигурирование в платформе 1С не нужно
Нет |
|||||||
46
GANR
22.10.12
✎
13:34
|
(45) Для мелких и частных задач - абсолютно не нужно. А вот при глобальных переработках конфигураций и разработках пресловутых универсальных механизмов наследование и полиморфизм здорово-бы помогли. Плюс обновлять потом такие конфы можно было-бы безболезненно.
Да |
|||||||
47
mikecool
22.10.12
✎
13:35
|
(46) и форму в форму нельзя встроить, гумно а не платформа
|
|||||||
48
HeroShima
22.10.12
✎
13:37
|
(46) Смени платформу.
|
|||||||
49
GANR
22.10.12
✎
13:39
|
(47) >гумно а не платформа
Я так не считаю, но отсутствие ООП - огромный минус (((. |
|||||||
50
mikecool
22.10.12
✎
13:41
|
(49) примеры приведи, где тебе этого не хватает?
|
|||||||
51
mikecool
22.10.12
✎
13:41
|
+50 разные расходные накладные по варианту на клиента?
|
|||||||
52
z80a
22.10.12
✎
13:41
|
нафиг
Нет |
|||||||
53
HeroShima
22.10.12
✎
13:42
|
(50) Класс Нетленка(УПП);
|
|||||||
54
Mikeware
22.10.12
✎
13:43
|
(50) Например, переопределить для каких-либо документов ПриЗаписи() :-)
|
|||||||
55
UIV
22.10.12
✎
13:43
|
Ну нафик. Мой мозг это не примет.
Нет |
|||||||
56
mikecool
22.10.12
✎
13:44
|
(54) дык вроде общего ПриЗаписи нету, что переопределять?
|
|||||||
57
Jstunner
22.10.12
✎
13:45
|
(46) подкинь примерчик, как бы ты использовал "наследование и полиморфизм" в 1С?
|
|||||||
58
Naumov
22.10.12
✎
13:45
|
И что ты с ним делать собрался?
Нет |
|||||||
59
Jstunner
22.10.12
✎
13:46
|
(54) подпиской решается на раз два
|
|||||||
60
GANR
22.10.12
✎
13:47
|
(50) Имеется у нас тут, например, самопальный механизм управления свойствами видимость / доступность / обязательность и пр. реквизитов формы. Настраиваются в справочнике правила с условиями и соответствующими им значениями свойств.
Так вот, чтобы это заработало сейчас надо встраивать во все формы абсолютно одинаковый код, делающий обращения к общим модулям. (59) Это, кстати, подписками НЕ решается. (58) Да хоть для группы документов абстрактный класс создать с нужными настройками - и то хорошо. (55) Коды УПРОСТЯТСЯ и уменьшатся в разы, станут прозрачней. Всё он примет ))). |
|||||||
61
ptiz
22.10.12
✎
13:49
|
Свежая тема.
Не надо, иначе в коде некоторых авторов будет вообще не разобраться. Нет |
|||||||
62
Stagor
22.10.12
✎
13:52
|
До кучи!
Да |
|||||||
63
GANR
22.10.12
✎
13:52
|
(61) Да ладно??? Я вот думаю, что код как раз-таки УПРОСТИТЬСЯ. Но отчасти согласен - не в каждой задаче это нужно.
|
|||||||
64
Jstunner
22.10.12
✎
13:55
|
(60) "Это, кстати, подписками НЕ решается. "
неужели?? Скажем, на манер твоего ОПП, определяем для всех документов подписку "ПриЗаписи", базовый класс, типа. А если понадобится, конкретизируем для определенных документов в другой подписке |
|||||||
65
GANR
22.10.12
✎
13:57
|
(64) Нееее... В (60) я имел ввиду не события объекта, а события формы. Но, кстати, если-бы нормальные подписки на события форм были реализованы - это-бы решилось.
|
|||||||
66
GANR
22.10.12
✎
13:59
|
+(65) Меняется реквизит - шерстятся правила и подбираются свойства видимости и др. элементов формы. Вот и весь механизм.
|
|||||||
67
xReason
22.10.12
✎
13:59
|
те которые не хотят ООП в 1С, это обычные прогеры которые из бейска VBA вышли и ничего больше не знают. Вот и бояться
|
|||||||
68
HeroShima
22.10.12
✎
14:00
|
(67) что общего у VBA, COM и 1С, казалось бы...
|
|||||||
69
Jstunner
22.10.12
✎
14:00
|
(66) практика показывает, что проще и быстрее накопипастить где надо вызовы универсальных методов, нежели вдумчиво рожать базовый класс, которые потом разрастаются в монстров, т.к. где-то что не надо, где-то надо но немножно другое, и т.д.
|
|||||||
70
HeroShima
22.10.12
✎
14:01
|
Мочему-то никто не просит функциональное и мета-программирование.
|
|||||||
71
HeroShima
22.10.12
✎
14:02
|
*(70) П
|
|||||||
72
pumbaEO
22.10.12
✎
14:03
|
(69) http://snegopat.ru/scripts/fdiff?v1=00b8c054153cc6ed&v2=2d06ac6e06c8428c
строка 1073 , и 1С могла бы такое сделать. http://screencast.com/t/kqc7mzlcBsSC - переопределил обработку события и добавил свой копрокодик, очень удобно. |
|||||||
73
Kreont
22.10.12
✎
14:04
|
Если кто еще не в курсе, открою секрет :ООП не есть идеален!
Есть другие способы :) Но это не для тугих мозгов, что учились в универе что ООП это все и используя ООП можно быстро что-то и красиво решать. Нет |
|||||||
74
GANR
22.10.12
✎
14:04
|
(69) А если конфа такая, что по количеству метаданных УПП отдыхает?
|
|||||||
75
HeroShima
22.10.12
✎
14:07
|
(74) Напишите приблуду, автоматизирующую и контролирующую патчинг конфигурации.
|
|||||||
76
Telefon
22.10.12
✎
14:07
|
Нужна, хотябы потому, что объем копипасты снизится.
Да |
|||||||
77
Jstunner
22.10.12
✎
14:08
|
(72) банальная декомпозиция, мало интересно, и в прикладных классах редко используется. Вот система протоколов и делегатов действительно интересна, но ее можно реализовать средствами 1с, если есть интерес запутать мозги исследователям исходного кода.
|
|||||||
78
Jstunner
22.10.12
✎
14:10
|
(74) накопипастить вызовы универсальных методов не сложно. И гораздо проще по умственным затратам, нежели постройка базового класса
|
|||||||
79
0xFFFFFF
22.10.12
✎
14:18
|
(47) HTML документ тебе в руки.
|
|||||||
80
Stagor
22.10.12
✎
14:24
|
(70) Оно и так есть в 1С
Функция***КонецФункции Вычислить(); |
|||||||
81
GANR
22.10.12
✎
14:37
|
(70) Кто этим сможет достаточно квалифицированно воспользоваться? Массам (80) бы освоить - и то хорошо. А вот ООП - это для массового пользования + реально нужно (хоть и соглашусь, что не всегда).
|
|||||||
82
orefkov
22.10.12
✎
14:39
|
(0)
Глупец. Кто ж красоту радуги обсуждает со слепцами? |
|||||||
83
HeroShima
22.10.12
✎
14:42
|
(81) при полноценной поддержке ООП возрастёт стоимость сопровождения сторонними конфигурастами
|
|||||||
84
GANR
22.10.12
✎
14:45
|
(82) А я попробую прозрить слепцов (точнее сказать - слабовидящих, не слепцов)?
|
|||||||
85
GANR
22.10.12
✎
14:46
|
+(84)Не оскорбить никого, не обгадить, а именно прозрИТь
|
|||||||
86
orefkov
22.10.12
✎
14:50
|
(84)
Прогрессорство - не благодарное занятие. Так-то конечно да, почему бы благородному дону и не использовать ООП в 1С. Но это как трюфели - изыскано и вкусно, но мало кто едал, и большинство обходится катрошкой. Совершенно не хотя "желать странного". |
|||||||
87
YV
22.10.12
✎
14:54
|
Да, но с оговоркой. Прежде чем вводить ООП в 1С, нужно расстрелять всех быдлокодеров.
Да |
|||||||
88
GANR
22.10.12
✎
14:57
|
(87) Кстати, это скоро произойдет.
http://www.cnews.ru/news/top/index.shtml?2011/11/17/464954 http://www.v8.1c.ru/overview/Term_000000803.htm |
|||||||
89
Gepard
22.10.12
✎
14:58
|
(0) оно уже такое... только типы объектов жесткие)
|
|||||||
90
Gepard
22.10.12
✎
14:58
|
-
Нет |
|||||||
91
Bugmenot
22.10.12
✎
14:59
|
(0) - Как!? Когда я говорю: Николь, принеси мне туфли и подай ночной колпак, — это проза? Скажите на милость! Сорок слишком лет говорю прозой — и невдомек!
ООП есть в 1С изначально. одинэснеги они такие одинэснеги |
|||||||
92
Stagor
22.10.12
✎
14:59
|
Кому ООП нужно было в 1С?
http://infostart.ru/public/19332/ |
|||||||
93
GANR
22.10.12
✎
15:02
|
(92) это кое-что )
|
|||||||
94
Bugmenot
22.10.12
✎
15:02
|
если бы в 1С не было ООП то там бы не было СоздатьОбъект и Новый.
вот попробуйте на этом уехать. Без ООП. На задачах, где ООП само самой подразумевается. ага. |
|||||||
95
GANR
22.10.12
✎
15:03
|
В (0), вообще-то говорится про наследование и полиморфизм - этого нету.
|
|||||||
96
orefkov
22.10.12
✎
15:04
|
(91)
Если уж вставать на скользкий путь аналогий, то ООП в 1С - это заикание, а не проза. |
|||||||
97
xXeNoNx
22.10.12
✎
15:05
|
(0)Наверное шоб космические корабли запускать...
Нет |
|||||||
98
GANR
22.10.12
✎
15:05
|
(97) Для этого есть ассемблеры
|
|||||||
99
Bugmenot
22.10.12
✎
15:09
|
(96) - ты когда нибудь писал на чистом Си? Вот это называется - ОТСУТСТВИЕ ООП.
В 1С - ООП есть. Оно там преметно-ориентированное. Точка. 1С++ - это расширение концепции ООП для 7.7 до полноценной А 1С-ники вот уже 10 лет спорят есть ли у их любимой системы ООП или нет. |
|||||||
100
GANR
22.10.12
✎
15:10
|
100
|
|||||||
101
1Страх
22.10.12
✎
15:12
|
(99) оно там хромое, на все четыре лапы
|
|||||||
102
Bugmenot
22.10.12
✎
15:17
|
ты представляешь, что такое - отсутствие ООП в ЯП?
доступ к GUI и компонентам/справочникам через API функции, куда нужно передавать HANDLE? глобальное пр-во с миллионом встроенных функций? вот что такое отсутствие ООП. (101) - что там хромое? там нельзя определять СОБСТВЕННЫЕ классы. Все. |
|||||||
103
GANR
22.10.12
✎
15:18
|
(102) Можно в виде обработки, скажем, ИНКАПСУЛИРОВАТЬ параметры и методы (приватные и публичные). А вот наследования и полиморфизма нету и в помине.
|
|||||||
104
orefkov
22.10.12
✎
15:19
|
(99)
Ты пытаешься объяснить, что такое ООП одному из авторов 1С++ ? :) Я бы сказал, что в языке 1С - Объекты есть, а Ориентированности - нету. А насчет Программирования - так многие тоже сомневаются, что оно там есть. |
|||||||
105
Odin1C
22.10.12
✎
15:21
|
Есть ПОПа - предметно-ориентированное программирование. Все остальное - в 1с лишнее.
Нет |
|||||||
106
1Страх
22.10.12
✎
15:23
|
(102) вызов через точку, это еще не ООП
|
|||||||
107
Джинн
22.10.12
✎
15:24
|
(104) Таки да. То ли программирование, то ли "конфигурирование". И действительно хрен поймешь :(
То же самое с ООП. Теоретически вроде красиво, практически вроде на хрен не нужно. По крайней мере не так, чтобы без него были какие-либо неудобства особые. Да простит меня соавтор 1С++ за мое IMHO. |
|||||||
108
orefkov
22.10.12
✎
15:25
|
(107)
Да прощать и не за что, я сам в (86) практически о том же и написал. |
|||||||
109
Odin1C
22.10.12
✎
15:27
|
Если кто и писал на MFC или ATL, то тому и так понятно, что предметно-ориентированное - это надстройка над ООП. Прекрасно понятно, что таблицы, массивы, всяческие менеджеры объектов документов в версии 8 - это классы. Все это на visual c++ понаписано вроде. Дальше надстраивать уже больше нечего.
|
|||||||
110
Bugmenot
22.10.12
✎
15:29
|
(104) - молодец, ты РАСШИРИЛ уже существующую в 1С концепцию ООП.
А теперь читаем википедию: Объектно-ориентированное, или объектное, программи?рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы. Все. если бы в 1С не было ООП, то фиг бы ты вообще создал бы 1С++ с блекджеком и шлюхами. |
|||||||
111
1Страх
22.10.12
✎
15:31
|
(110) ты выдернул только один заголовок, по нему не видно сути
|
|||||||
112
1Страх
22.10.12
✎
15:31
|
+(111) Наличие инкапсуляции достаточно для объектности языка программирования, но ещё не означает его объектной ориентированности — для этого требуется наличие наследования.
|
|||||||
113
Bugmenot
22.10.12
✎
15:34
|
(106) - я ничего не говорил про вызов через точку.
Ты когда создаешь свой справочник ты что делаешь? Ты создаешь класс, наследующий поведения предка "Справочник". Это что, не ООП? (111) - это определение ООП. |
|||||||
114
UnAmerican
22.10.12
✎
15:35
|
(113) Достаточное не есть необходимое.
|
|||||||
115
UnAmerican
22.10.12
✎
15:37
|
А уноследовать класс "справочник А", в классе "справочник Б" - можешь? И сделать общую печать с одним отличием, поле ФИО и поле наименование? Не переписывая все с 0-ля.
|
|||||||
116
Starhan
22.10.12
✎
15:39
|
У меня в должностной инструкции инженер-программиста написано:
Обязан знать структурное программирование. :) про ООП я им говорить не стал. А то мало ли. |
|||||||
117
1Страх
22.10.12
✎
15:39
|
+(115) а еще я хочу чтоб Документ1, Документ5 и Документ13 имели некий общий интерфейс
|
|||||||
118
UnAmerican
22.10.12
✎
15:43
|
И уйти от РЛС шаблонов с выборкой всего "го-а", что бы не тормозило и динамика.
И блин свои виртуалки создавать, а не только стандартные регистр рассчета, накопления, сведений и хозрасчетный. Но на основании этого функционала. Пример: Регистр расчета - "но не в разрезе графика дней, а графика некоторой мат функции, а точнее функции планирования прироста скота". |
|||||||
119
UnAmerican
22.10.12
✎
15:44
|
(118) Где точки этого графика и есть измеритель, но он не линейны.
|
|||||||
120
UnAmerican
22.10.12
✎
15:47
|
(115) Ну вот например общий реквизит документов Организация и Обособленное подразделение. Два справочника, составной тип. Но не во всех документах нужно П.О., но почти везде Организация. Нам приходится создавать каждый раз реквизит организация, вытаскивать на форму, и обрабатывать его сабытия при выборе или при изменении. По сути сизифов труд.
|
|||||||
121
Джинн
22.10.12
✎
16:06
|
(118-120) Папа-верблюд и сын-верблюд:
- Папа, а зачем нам такие широкие ноги? - Это, сынок, чтобы мы в песке не застревали - Папа, а зачем нам горбы? - Это, сынок, чтобы мы могли много дней без воды обходится. - Папа, а зачем нам такие челюсти? - Это, сынок, чтобы мы могли колючкой питаться. - Папа, а зачем нам в зоопарке все эти навороты? |
|||||||
122
UnAmerican
22.10.12
✎
16:21
|
А для того, что бы на стадии проектировки ты не боялся о конечной исполнительной точки как программист. Ты спроектировал схему связей и взаимодействий, а проблемы реализации тебя не касаются. Ты знаешь, что всегда можешь модернизировать и наращивать. Ты знаешь, что при должной документации вникнуть в одну из сфер четной системы легко, ибо она масштабируема.
И да УПП это уже не зоопарк. И бюджет проектов на 1с уж давно перерос бюджет, акссес проектов и еже с ними. К тому же зачем средства интеграции, если это "зоопарк"? |
|||||||
123
oleg_km
22.10.12
✎
16:22
|
(121) Анекдот про бассейн без воды тоже в тему
|
|||||||
124
godmod80
22.10.12
✎
16:46
|
(0) баян-окордеон
|
|||||||
125
Stagor
23.10.12
✎
15:10
|
Свои объекты в 1С создавать судя по всему не приветствуются.
|
|||||||
126
Stagor
23.10.12
✎
15:11
|
Свои типы объектов средствами только 1сV82
|
|||||||
127
ERWINS
23.10.12
✎
15:12
|
бизнес объекты по сути при наследовании так надо переписывать что проще с нуля.
Нет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |