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