Имя: Пароль:
1C
1С v8
Внешняя обработка как класс
,
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
А можешь пример привести? Пожалуйсто.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс