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