Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Родительский метод с неопределенным кол.параметров (число прочтений - 4402 )
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Родительский метод с неопределенным кол.параметров
17. Июля 2008 :: 07:22
Печать  
Собственно как?
Предположим наследую метод СводныйОстаток(...)
В немонопольном режиме хотелось бы свой метод, в монопольном - родной 1С.

Можно через ВыполняемыйМодуль - но это как то через ...
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Родительский метод с неопределенным кол.параме
Ответ #1 - 17. Июля 2008 :: 08:26
Печать  
В наследнике пишешь в начале СводныйОстаток
Если МонопольныйРежим() = 1 Тогда
  Возврат Сам.ПолучитьБазовыйКласс().СводныйОстаток();
КонецЕсли;
далее основной код наследника
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Родительский метод с неопределенным кол.параме
Ответ #2 - 17. Июля 2008 :: 09:02
Печать  
artbear писал(а) 17. Июля 2008 :: 08:26:
В наследнике пишешь в начале СводныйОстаток
Если МонопольныйРежим() = 1 Тогда
 Возврат Сам.ПолучитьБазовыйКласс().СводныйОстаток();
КонецЕсли;
далее основной код наследника


А так пройдет :
Код
Выбрать все
Сам.ПолучитьБазовыйКласс().ПолучитьАтрибут(ИмяРегистра).СводныйОстаток(); 


?
Класс наследуется от "Регистры" , чтобы для каждого конкретного регистра класс не создавать.
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Родительский метод с неопределенным кол.параме
Ответ #3 - 17. Июля 2008 :: 09:20
Печать  
Извиняюсь - глупость сморозил.

А как наследовать от объекта произвольный регистр?
От документа, справочника, от конкретного регистра можно - а от "регистра вообще" как?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Родительский метод с неопределенным кол.параме
Ответ #4 - 17. Июля 2008 :: 10:03
Печать  
kiruha писал(а) 17. Июля 2008 :: 09:20:
Извиняюсь - глупость сморозил.

А как наследовать от объекта произвольный регистр?
От документа, справочника, от конкретного регистра можно - а от "регистра вообще" как?

От Регистры наследовать нельзя, мне так и не удалось заставить 1С++ сделать это.
Возможно, я шел неверным путем Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Родительский метод с неопределенным кол.параме
Ответ #5 - 17. Июля 2008 :: 10:08
Печать  
Ну, а от объекта "Справочник", "Документ" (неопределенного вида) тоже, наверное, не получится?
Не пробовал, если честно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Родительский метод с неопределенным кол.параме
Ответ #6 - 17. Июля 2008 :: 10:11
Печать  
artbear писал(а) 17. Июля 2008 :: 10:03:
kiruha писал(а) 17. Июля 2008 :: 09:20:
Извиняюсь - глупость сморозил.

А как наследовать от объекта произвольный регистр?
От документа, справочника, от конкретного регистра можно - а от "регистра вообще" как?

От Регистры наследовать нельзя, мне так и не удалось заставить 1С++ сделать это.
Возможно, я шел неверным путем Улыбка



А Как же ?
artbear писал(а) 18. Июля 2006 :: 09:43:
Наследуешь свой класс от встроенного класса Регистры
класс МойКласс = МойКласс.ert : Регистры
А в коде этого класса пишешь
НоваяБаза = СоздатьОбъект("Регистр."+ИмяРегистра);
Сам().ЗаменитьБазовыйОбъект("Регистры", НоваяБаза);
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Родительский метод с неопределенным кол.параме
Ответ #7 - 17. Июля 2008 :: 10:18
Печать  
kms писал(а) 17. Июля 2008 :: 10:08:
Ну, а от объекта "Справочник", "Документ" (неопределенного вида) тоже, наверное, не получится?
Не пробовал, если честно.


То же не пробовал, но их хотя бы можно создать в 1С через СоздатьОбъект()

P.S. Прочитал про замену базовых классов - пока понял, что все плохо Печаль
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Родительский метод с неопределенным кол.параме
Ответ #8 - 17. Июля 2008 :: 10:35
Печать  
kms писал(а) 17. Июля 2008 :: 10:08:
Ну, а от объекта "Справочник", "Документ" (неопределенного вида) тоже, наверное, не получится?
Не пробовал, если честно.

Получится, я тестил.
А о Регистры, возможно, я просто забыл за давностью лет Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Родительский метод с неопределенным кол.параме
Ответ #9 - 17. Июля 2008 :: 15:46
Печать  
kiruha

А может не надо тебе наследования?
Может быть, удастся написать универсальный класс регистра и агрегировать при необходимости родной регистр?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Родительский метод с неопределенным кол.параме
Ответ #10 - 18. Июля 2008 :: 03:28
Печать  
kms писал(а) 17. Июля 2008 :: 15:46:
kiruha

А может не надо тебе наследования?
Может быть, удастся написать универсальный класс регистра и агрегировать при необходимости родной регистр?

+1
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Родительский метод с неопределенным кол.параме
Ответ #11 - 18. Июля 2008 :: 03:44
Печать  
А вообще, возможно, есть смысл добавить в 1С++ фичу наследования от Регистры и тому подобных системных классов, которых нельзя создать через СоздатьОбъект, т.е. которые существуют в единственном экземпляре.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Родительский метод с неопределенным кол.параме
Ответ #12 - 18. Июля 2008 :: 07:09
Печать  
artbear писал(а) 18. Июля 2008 :: 03:28:
kms писал(а) 17. Июля 2008 :: 15:46:
kiruha

А может не надо тебе наследования?
Может быть, удастся написать универсальный класс регистра и агрегировать при необходимости родной регистр?

+1


Нда. И как я должен заместить СводныйОстаток в монопольном режиме
который может быть и
СводныйОстаток(Товар,Склад,ДокументОснование,,Фирма,"РезервТовара");
и
СводныйОстаток(Клиент,,,"Сумма");
Разное количество запятых, разное количество запоненных полей.


Сам же написал - вызывай метод родительского класса Улыбка
Где взять родительский класс?

P/S D В принципе обхожу при помощи Выполняемого модуля, но не уверен что это все не приводит
к снижению производительности, да еще в самом тяжелом случае(перепроведение документов)...
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Родительский метод с неопределенным кол.параме
Ответ #13 - 18. Июля 2008 :: 08:23
Печать  
1. Список = Сам.ПолучитьСписокПараметр("СводныйОстаток");
В зависимости от размера списка и вызываешь нужный тебе вариант родительского класса или агрегированного регистра.

2. Кстати, ведь есть реализация универсального регистра - сделана давным-давно Деб-ом.
Есть в классах складского учета на проклубе, раздел 1С++.
Посмотри там пример.

ЗЫ Конечно, он уже сильно устарел. Но для начала пойдет.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать