Как вызвать процедуру менеджера объекта из обработчика команды объекта? #500761


#0 by mikecool
Чета не выходит каменный цветок в модуле менеджера документа есть процедура из команды этого документа она не доступна, как быть и чяднт?
#1 by mikecool
+0 из обработчика команды*
#2 by butterbean
неправильно вызываешь видимо
#3 by Defender aka LINN
"из команды этого документа она не доступна" - это ты как понял? Посмотрел в модуль команды и сказал "кля, да она недоступна!"?
#4 by Amiralnar
Документы.<ВидДокумента>.ПечатьРеестраОтгрузок(Объект)
#5 by mikecool
гм, думал через Объект или еще что...
#6 by mikecool
щас попробую, спс
#7 by Ненавижу 1С
а зачем сделан статический метод, в который передается аргументом сам объект?
#8 by Ненавижу 1С
это просто ты (да и 1С) не в курсе слова "статический"
#9 by mikecool
заколовок процедуры - копипаста из 8.1
#10 by mikecool
заголовок*
#12 by Amiralnar
А потому, что это не статический метод (я читал infostart), а метод менеджера объекта.
#13 by Ненавижу 1С
ну и в чем отличия?
#14 by Amiralnar
Даже не знаю, как ответить... тут скорее... а в чем сходство? О_о
#15 by Ненавижу 1С
в том что это одно и тоже, имхо, просто название другое
#16 by Рэйв
Объект документ- не есть объект класса менеджер документов. Поэтому static метод менеджера(даже если б такой был) все равно для объекта докуент не вызовешь.
#17 by Amiralnar
По передается экземпляр объекта. Классический статический метод не связан с экземпляром объекта. Как, в вашем понимании необходимо реализовать метод, работа которого зависит от состояния конкретного экземпляра объекта? Класс менеджера объекта и класс объекта - это разные классы. Отсюда и отличия. Отсюда, наверное, и недоступность метода менеджера в простанстве имен объекта.
#18 by Amiralnar
Обратите внимание, что к статическим переменным и методам мы всегда получаем доступ через имя класса, а к нестатическим – через экземпляр класса.
#19 by Ненавижу 1С
static методы и не вызываются для объектов никогда вместо модуля менджера: нужно было юзать модуль объекта:
#20 by Ненавижу 1С
тоже самое и в 1С, только название поменяли со static на методы модуля менеджера
#21 by Amiralnar
В данном коде нет необходимости в объекте, автор написал это в
#22 by Ненавижу 1С
может быть и копипаста, но лучше через метод объекта, а я вообще отвечал на ваше "как реализовать?"
#23 by Amiralnar
Метод объекта недоступен без объекта. Печать реестра хочестя делать из любого мееста, без создания объекта. А еще хочестя реализовать ВыбратьПодчиненные(Ссылка), наподобие Выбрать. Это куда положить? Тоже в модуль объекта? Нет? А как тогда не передавать ссылку?
#24 by Ненавижу 1С
все же в по-моему объект передается, судя по имени, насчет ссылок согласен скоро возможно будет модуль ссылок ))
#25 by Ненавижу 1С
так и непонятно почему придумали новый модуль вместо описание методов с директивой static
#26 by Defender aka LINN
Можно ссылку передавать, если процедура правильно сделана. Кроме того, в управляемой форме объекта нет. Точнее есть, но не тот :)
#27 by butterbean
и где бы ты их описывал??
#28 by Amiralnar
В модуле.
#29 by butterbean
в каком модуле??
#30 by Ненавижу 1С
в модуле объекта, а что? как то по другому это делается в C#, C++, Java или Delphi?
#31 by butterbean
ну "объект" в 1С и в C#, C++, Java или Delphi э то все-таки немного разные вещи
#32 by Amiralnar
Я бы даже сказал - много разные вещи =)
#33 by Ненавижу 1С
ну смотри на них ширше и глубжей
#34 by Рэйв
Ну да. А менеджер документов по твоему что? Описание класса? Все отличие что менеджер уже готовый объект и его получать не надо.
#35 by Рэйв
+Так что static там так же применимо как и к объекту документа
#36 by Ненавижу 1С
готовый объект, который можно рассматривать и как тип
#37 by Ненавижу 1С
+ посмотри как реализованы например в Delphi виртуальные конструкторы и class-методы
#38 by Рэйв
Имхо нельзя. Второй экземпляр не сделаешь.
#39 by Рэйв
то Делфи, а то 1С:)
#40 by Ненавижу 1С
так потому и нельзя, что это как бы (с натяжкой) тип
#41 by Ненавижу 1С
аргументировано слил
#42 by Amiralnar
Что за тип? Какой тип? Или Тип(Объект) бывает Документы.Документ?
#43 by butterbean
модуль объекта - это все таки для описания событий и прочего относящегося именно к объекту (типа ДокументОбъект), а вот модуль менеджера - это для описания общих для документа методов (типа печати, какого-нибудь экзотического поиска и т.п.)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С