Имя: Пароль:
1C
1С v8
УФ. Аналог виртуальной функции. Как лучше сделать?
0 Кокос
 
10.04.13
17:44
Допустим у вас есть справочник. В каждом элементе структура определенного объекта и наименование функции в общем серверном модуле с одинаковыми параметраи.
Чтобы ее определять для каждого элемента есть какие функции? там вроде както можно обработчики подключать? Я пока сам смотрю. Может кто уже делал? Напишите у кого как получилось?
1 Cyberhawk
 
10.04.13
17:47
2 Fragster
 
гуру
10.04.13
17:47
мне досталась база в наследство такая. я каждый день проклинаю того, кто так сделал.
3 Cyberhawk
 
10.04.13
17:48
(2) объясните ущербному, о чем речь?
7 Fragster
 
гуру
10.04.13
17:52
(3) не виртуальные, а абстрактные. ну, или "реализация интерфейса" из ООП
8 Cyberhawk
 
10.04.13
17:55
(7) Я, наверное, ободинэсился вконец, т.к. по-прежнему (1). http://infostart.ru/public/120628/ по теме?
9 Asmody
 
10.04.13
17:56
(0) можно за основу взять механизм внешних обработок из типовых.
если коротко, то справочник с хранилищем для хранения обработок, в обработке один обязательный метод с заданным набором параметров. в своем справочнике делаешь ссылку на справочник обработчиков. ну и пишешь функцию для вызова всего этого хозяйства
10 fisher
 
10.04.13
17:57
(2) Отчеты понравилось строить? Гибкость? Производительность? Или что больше всего "понравилось"?
11 Asmody
 
10.04.13
17:59
(10) отлаживать такое — это "пестня" стоя в лыжах в гамаке. а если, не дай бог, интерфейс (программный) придется сменить (например, лишний параметр обработать), то пестня превращается в хор
12 Кокос
 
10.04.13
18:02
(11) да я не собираюсь глобально это использовать. Я создал справочник "ИсточникиВнешнихДанных". Там есть типовые параметры запуска и строки запросов к данным(Эксель, сиквел) через АДО. Для каждой таблицы(допустим - справочник клиентов из сиквела, остатки из эксель, накладные из сиквела, бюджеты из эксель) свой обработчик имя которого указывается в поле элемента. И все. больше мне особо это не нужно. я не собираюсь БП30 корп переписывать на ООП :)))
13 Кокос
 
10.04.13
18:09
(8) в прицнипе да. вот что нашел в типовой

       ИмяПроцедуры = "Подключаемый_[ИмяОбработчика](Отказ, ПропуститьСтраницу, ЭтоПереходДалее)";
       ИмяПроцедуры = СтрЗаменить(ИмяПроцедуры, "[ИмяОбработчика]", СтрокаПереходаТекущая.ИмяОбработчикаПриОткрытии);
       
       Отказ = Ложь;
       ПропуститьСтраницу = Ложь;
       
       А = Вычислить(ИмяПроцедуры);
Закон Брукера: Даже маленькая практика стоит большой теории.