|
Вопрос от новичка: как правильно написать вызов функции
| ☑ |
0
na1kk
29.09.17
✎
13:05
|
у меня есть в модуле объекта документа ЗаказКлиента функция Расчитать() Экспорт;
мне ее нужно вызвать в модуле менеджера
я написал вот так в модуле мененеджера
Документы.ЗаказКлиента.Рассчитать();
Но пишет ошибку, что функция не найдена
|
|
1
Любопытная
29.09.17
✎
13:06
|
Процедуры модуля объекта можно вызвать только получив объект.
ДокОбъект = Документы.ЗаказКлиента.СоздатьДокумент();
ДокОбъект.Рассчитать();
|
|
2
vicof
29.09.17
✎
13:06
|
Ты вызываешь функцию из модуля менеджера. Для начала тебе нужно получить объект.
|
|
3
Ненавижу 1С
гуру
29.09.17
✎
13:08
|
(0) в модуле менеджера хранятся статические функции, в модуле объекта - функции объекта
|
|
4
na1kk
29.09.17
✎
13:09
|
у меня есть ссылка на объект, получается сначала я пишу ДокОбъект = Ссылка.ПолучитьОбъект();
ДокОбъект.Рассчитать();
А дальше уже его передаю в модуль менеджера
|
|
5
na1kk
29.09.17
✎
13:13
|
руганулся у меня на ДокОбъект.рассчитать()
|
|
6
Рэйв
29.09.17
✎
13:18
|
(0)У тебя эспортная функция в модуле объекта. Зачем тебе менеджер если она спокойно вызывается через точку от объекта?
|
|
7
ДядяМитяй
29.09.17
✎
13:20
|
У тебя в (0) Расчитать(), ав (4) Рассчитать()
|
|
8
na1kk
29.09.17
✎
13:21
|
(7) не. я это я ошибся когда писал. в оригинале везде одинаково
|
|
9
Tateossian
29.09.17
✎
13:24
|
(1) Если вызов идет в контексте модуля объекта, то можно вот так:
ДокОбъект = СоздатьДокумент();
ДокОбъект.Рассчитать();
|
|
10
1dvd
29.09.17
✎
13:31
|
(5) как ругнулся? покажи больше кода
|
|
11
FIXXXL
29.09.17
✎
13:36
|
(0) для начала, для простоты, прикинь:
модуль объекта - только для ОДНОГО объекта, который ты получил в память;
модуль менеджера - сборник процедур, относящихся к объекту метаданных;
теперь прикинь, что ты собираешься делать
|
|
12
luter-89
29.09.17
✎
13:52
|
Фига се, пацана даже яйцами не закидали
|
|
13
na1kk
29.09.17
✎
14:32
|
(12) я сам в шоке) походу написал что новичок)
|
|