| 
    
        
     
     | 
    
    
  | 
Внешняя обработка как класс | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        bborisko    
     08.02.13 
            ✎
    16:43 
 | 
         
        Наткнулся на такое высказывание. "В 1с отдельная обработка хороша тем, что можно рассматривать ее как "класс" или модуль." 
  
        Не смог в интернете найти больше никакой информации - может кто подскажет на примере или в каком направлении поискать?  | 
|||
| 
    1
    
        DrShad    
     08.02.13 
            ✎
    16:46 
 | 
         
        об = Обработки.МояОбработка.Создать();
  
        об.МойСуперМетод(<Праметры>)..... у ты понял  | 
|||
| 
    2
    
        acsent    
     08.02.13 
            ✎
    16:47 
 | 
         
        (1) думаешь он знает что такое класс?     
         | 
|||
| 
    3
    
        IOL    
     08.02.13 
            ✎
    16:47 
 | 
         
        (0) Не поверишь, зайти в справочник внешних обработок и нажать на Ф1 там все написано.     
         | 
|||
| 
    4
    
        DrShad    
     08.02.13 
            ✎
    16:47 
 | 
         
        вернее ВнешниеОбработки.МояОбработка.Создать(<Путь>)     
         | 
|||
| 
    5
    
        DrShad    
     08.02.13 
            ✎
    16:48 
 | 
         
        (2) я тоже не знаю, но догадываюсь :)))) (ну нет у меня профильного образования)     
         | 
|||
| 
    6
    
        Лефмихалыч    
     08.02.13 
            ✎
    16:48 
 | 
         
        (0) как модуль можно, а как класс - нет. От нее унаследовать ни чего нельзя. Классы - это встроенные в платформу стереотипы - документы, справочники, регистры и т.д.     
         | 
|||
| 
    7
    
        Лефмихалыч    
     08.02.13 
            ✎
    16:49 
 | 
         
        и, кстати, обработки в 1С хороши тем, что они есть, а не тем, что их как-то там можно рассматривать     
         | 
|||
| 
    8
    
        Maxus43    
     08.02.13 
            ✎
    16:54 
 | 
         
        (6) была тут тема, вполне можно рассматривать обработку как Класс, с некоторыми упущениями)     
         | 
|||
| 
    9
    
        DrShad    
     08.02.13 
            ✎
    16:55 
 | 
         
        чего ТС притих?     
         | 
|||
| 
    10
    
        ЗлобнийМальчик    
     08.02.13 
            ✎
    16:55 
 | 
         
        (8)  а как от них наследоваться то?     
         | 
|||
| 
    11
    
        acsent    
     08.02.13 
            ✎
    16:56 
 | 
         
        (8) а че тут рассматривать. В (1) все написано     
         | 
|||
| 
    12
    
        acsent    
     08.02.13 
            ✎
    16:56 
 | 
         
        (10) Тебе же говорят с упущениями     
         | 
|||
| 
    13
    
        etc    
     08.02.13 
            ✎
    16:56 
 | 
         
        (10) без наследования и жизнь не мила?     
         | 
|||
| 
    14
    
        etc    
     08.02.13 
            ✎
    16:58 
 | 
         
        Создать экземпляр класса. Потом коллекцию. Только слишком геморно это.     
         | 
|||
| 
    15
    
        pessok    
     08.02.13 
            ✎
    16:58 
 | 
         
        (13) ну как бы классы без наследования - это уже совсем не классы, не? :)     
         | 
|||
| 
    16
    
        ЗлобнийМальчик    
     08.02.13 
            ✎
    16:58 
 | 
         
        (13) да нет, мила, просто может нашел кто способ)))     
         | 
|||
| 
    17
    
        etc    
     08.02.13 
            ✎
    16:59 
 | 
         
        (15) просто в моем понимании класс это как шаблон. А наследование - фича :)     
         | 
|||
| 
    18
    
        acsent    
     08.02.13 
            ✎
    16:59 
 | 
         
        (15) а что это?     
         | 
|||
| 
    19
    
        acsent    
     08.02.13 
            ✎
    17:00 
 | 
         
        Есть класс, а есть экземпляр класса.
  
        Так что самое оно  | 
|||
| 
    20
    
        DailyLookingOn Sunset    
     08.02.13 
            ✎
    17:00 
 | 
         
        Наследование - внутренний механизм компилятора.
  
        Т.о, в 1С наследование можно сделать, пусть и криво на коленке.  | 
|||
| 
    21
    
        GANR    
     08.02.13 
            ✎
    17:01 
 | 
         
        (0) Чего копать инетернет? 
  
        Всё по отладчику должно быть ясно! Обработка ведь, в отличии от общих модулей может содержать не только методы, но и свойства (экспортные/встроенные переменные модуля объекта, реквизиты). Вот и делай выводы. Но вот наследование не реализовать, увы, никак (((.  | 
|||
| 
    22
    
        acsent    
     08.02.13 
            ✎
    17:02 
 | 
         
        (21) ну если допустить писанину кода ручками в местах вызова методов предка, то вполне можно и наследование     
         | 
|||
| 
    23
    
        GANR    
     08.02.13 
            ✎
    17:03 
 | 
         
        (22) не айс     
         | 
|||
| 
    24
    
        Maxus43    
     08.02.13 
            ✎
    17:03 
 | 
         
        Процедура МетодПредка(ПроизвольныйКод)
  
        Выполнить(ПроизвольныйКод); //основной метод предака КонецПроцедуры  | 
|||
| 
    25
    
        Лефмихалыч    
     08.02.13 
            ✎
    17:49 
 | 
         
        (24) фу, гадость. Гореть тебе в геенне огненной, еретик     
         | 
|||
| 
    26
    
        oleg_km    
     08.02.13 
            ✎
    18:15 
 | 
         
        (24) Ну есть же паттерны, заменяющие наследование     
         | 
|||
| 
    27
    
        sapphire    
     08.02.13 
            ✎
    18:20 
 | 
         
        (1) В 8.2 можно не создавать объект, и использовать модуль менеджера, хотя для внешней обработки надо посмотреть...     
         | 
|||
| 
    28
    
        wertyu    
     08.02.13 
            ✎
    18:21 
 | 
         
        (24) расстрел без права переписки     
         | 
|||
| 
    29
    
        Reset    
     08.02.13 
            ✎
    18:24 
 | 
         
        (27) В (1) показано создание экземпляра объекта. Модуль менеджера - это скорее для "статических методов класса". И да, у внешних его нет.     
         | 
|||
| 
    30
    
        bborisko    
     12.02.13 
            ✎
    15:00 
 | 
         
        Спасибо. Начало получаться.
  
        Я сейчас далаю так об = Обработки.МояОбработка.Создать(); об.Инициализировать(Парметр); Данные = об.ПолучитьДанные(Парметр); Как мне вот эту строчку Данные = об.ПолучитьДанные(Парметр); вызывать не только из той процедуры, где я создал обработку? Надо чтобы об была доступна во всем модуле формы - это возможно? Объявить в самом начале модуля Перем об; - не помогает  | 
|||
| 
    31
    
        НЕА123    
     12.02.13 
            ✎
    15:18 
 | 
         
        перем об;     
         | 
|||
| 
    32
    
        НЕА123    
     12.02.13 
            ✎
    15:19 
 | 
         
        (30)
  
        эй... не дочитал. УФ что-ли? прошу (31) вычеркнуть.  | 
|||
| 
    33
    
        bborisko    
     12.02.13 
            ✎
    15:37 
 | 
         
        Ага УФ)     
         | 
|||
| 
    34
    
        НЕА123    
     12.02.13 
            ✎
    15:58 
 | 
         
        (33)
  
        я делал через ПараметрыСеанса. как правильно - не знаю.  | 
|||
| 
    35
    
        bborisko    
     13.02.13 
            ✎
    08:30 
 | 
         
        А можешь пример привести? Пожалуйсто.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |