Имя: Пароль:
IT
 
Нужно ли объекто-ориентированное программирование в платформе 1С ?
,
0 GANR
 
22.10.12
12:50
1. Нет 67% (18)
2. Да 33% (9)
Всего мнений: 27

Как Вы считаете, нужно ли в платформе 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
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
бизнес объекты по сути при наследовании так надо переписывать что проще с нуля.

Нет