Имя: Пароль:
1C
1С v8
Вопрос от новичка: как правильно написать вызов функции
,
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) я сам в шоке) походу написал что новичок)
AdBlock убивает бесплатный контент. 1Сергей