Имя: Пароль:
1C
1С v8
8.2 не видна экспортная функция документа
,
0 Михей
 
29.11.11
17:36
Имеется

&НаСервере
Функция СчетНаОплату()
   
   ДокументПродажи = ДанныеФормыВЗначение(Объект, Тип("ДокументОбъект.ЗаказПокупателя"));
   
   Сообщить(ТипЗнч(ДокументПродажи));
   
   Возврат ДокументПродажи.ПечатьСчетаЗаказаКорректировки("Счет"); // Вот тут говорит что нет функции ПечатьСчетаЗаказаКорректировки, хотя все есть
       
КонецФункции

ЧЯДНТ?
1 Михей
 
29.11.11
17:37
+ (0) и сообщает что тип ДокументОбъект.ЗаказПокупателя
2 Axel2009
 
29.11.11
17:37
где она есть то?
3 Maxus43
 
29.11.11
17:38
ПечатьСчетаЗаказаКорректировки - такие функции обычно не экспортные. экпортная - Печать()
4 Михей
 
29.11.11
17:39
(2) в Модуле документа, (3) ну добавил к ней Экспорт
5 Sarmen
 
29.11.11
17:41
интересно: как ты в модуле объекта обращаешься к форме? разве так можно?
6 Sarmen
 
29.11.11
17:42
вроде же в модуле объекта контекст формы недоступен?
7 Sarmen
 
29.11.11
17:42
формы управляемые?
8 Михей
 
29.11.11
17:43
(5) я из формы обращаюсь к серверу, шобы он мне заполнил табДокумент
9 Михей
 
29.11.11
17:43
(7) угу
10 Sarmen
 
29.11.11
17:47
Функция ПечатьСчетаЗаказаКорректировки  - точно серверная? точно в модуле объекта?
11 andrewks
 
29.11.11
17:48
(10) а что, модуль объекта где-то ещё может выполняться?
12 Sarmen
 
29.11.11
17:49
нее...это я пошутил...
точно экспортная? может лучше её в модуле менеджера расположить?
13 chingiz
 
29.11.11
17:49
(11) это так же как (7) 8)
14 andrewks
 
29.11.11
17:49
(10) вот скажи лучше, а место ли ей в модуле объекта?
15 YF
 
29.11.11
17:50
А накуа там Тип("ДокументОбъект.ЗаказПокупателя"), этож модуль формы того самого документа
16 shuhard
 
29.11.11
17:51
(14) откроешь  ТС страшную тайну  модуля менеджера ?
17 YF
 
29.11.11
17:51
(14) А как же печать массово без открытия форм?
18 andrewks
 
29.11.11
17:51
(16) подумываю. но пока не решился :)
19 Михей
 
29.11.11
18:09
знаю про модуль менеджера, НО! єто типовая конфа сконеверченная с 8.1 на 8.2 в которой вся печать работает по старому, т.е. вызывается из МодуляОбъекта.

Вот и хочу заюзать фкнкцию из модуля объкта для печати
20 shuhard
 
29.11.11
18:12
(19) тогда погляди в отладчике тип ДокументПродажи
21 Михей
 
29.11.11
18:13
(20) -> (1)
22 Михей
 
29.11.11
18:19
Попробовал под толстім клиентом, все ок

   Объект = Документы.ЗаказПокупателя.СоздатьДокумент();
   Объект.ПечатьСчетаЗаказаКорректировки("Счет");
23 Мимохожий Однако
 
29.11.11
20:20
Под тонким - переписывай
24 AaNnDdRrEeYy
 
29.11.11
22:47
Вот так попробуй.

&НаСервере
Функция СчетНаОплату()
   
   ДокументПродажи = Объект.ССылка.ПолучитьОбъект();

   Сообщить(ТипЗнч(ДокументПродажи));
   
   Возврат ДокументПродажи.ПечатьСчетаЗаказаКорректировки("Счет"); // Вот тут говорит что нет функции ПечатьСчетаЗаказаКорректировки, хотя все есть

       
КонецФункции
25 AaNnDdRrEeYy
 
29.11.11
22:49
или так
ДокументПродажи = РеквизитФормыВЗначение("Объект");

потом вызов процедуры печати
26 Поручик
 
30.11.11
08:35
Поместить ПечатьСчетаЗаказаКорректировки() в модуль менеджера ещё не советовали?
27 Reaper_1c
 
30.11.11
08:49
Срываю покровы - в модуле объекта используется #если клиент...
28 AaNnDdRrEeYy
 
30.11.11
20:42
(27) на 8.2 в модуле объекта #ЕслиКлиент не имеет ни какого значения так как модуль всегда выполняется на сервере
29 ptiz
 
30.11.11
21:06
Но эта часть скомпилирована не будет.
30 Reaper_1c
 
30.11.11
21:10
(28) Да ты чо! Ну нифига себе. Это феерия!