Имя: Пароль:
1C
1С v8
Дополнительные печатные формы
0 STAYEKR
 
06.07.12
10:41
Доброго времени суток! Написал внешнюю обработку, чтобы использовать как доп печатную форму. Склепал макет, добавил реквизит (как прочел на форумах, нужен именно такой) СсылкаНаОбъект с типом СправочникСсылка.Справ1. В модуль обработки запихнул код:

   ТабДок = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Справка1");
   
   обШапка = Макет.ПолучитьОбласть("Шапка");
   обШапка.Параметры.День = Формат(ТекущаяДата(),"ДФ=dd");
   обШапка.Параметры.Месяц = Формат(ТекущаяДата(),"ДФ=MM");
   обШапка.Параметры.Год = Формат(ТекущаяДата(),"ДФ=yy");
   ТабДок.Вывести(обШапка);
   
   обТело = Макет.ПолучитьОбласть("Тело");
   ОбТело.Параметры.Сотрудник = СсылкаНаОбъект.Наименование;
   обТело.Параметры.Организация = СсылкаНаОбъект.Организация;
   обТело.Параметры.Приказ = СсылкаНаОбъект.НомерДоговора;
   обТело.Параметры.ДатаПриказа = СсылкаНаОбъект.ДатаДоговора;
   обТело.Параметры.Должность = СсылкаНаОбъект.Должность;
   обТело.Параметры.Подразделение = СсылкаНаОбъект.ПодразделениеОрганизации;
   ТабДок.Вывести(обТело);
   
   обПодвал = Макет.ПолучитьОбласть("Подвал");
   ТабДок.Вывести(обПодвал);

Задал возмодность вызова формы из нужного справочника, но при нажатии на печать выдает ошибку "Не удалось сформировать внешнюю печатную форму! Метод объекта не обнаружен (Печать)" Знает ли кто-нибудь пути решения подобной проблемы? Заранее спасибо!
1 Azverin
 
06.07.12
10:42
Экспорт стоит у процедуры Печать()?
2 Azverin
 
06.07.12
10:42
(1) тьфу, у Функции()
3 Azverin
 
06.07.12
10:43
+
Возврат ТабДокумент;
4 Wobland
 
06.07.12
10:43
(1) нет. русским по белому же сказано: В модуль обработки запихнул код:
5 ICWiner
 
06.07.12
10:44
Ага, внешняя печатная форма изначально обращается к функции печать, надо оттуда и плясать. Если у тебя там в форме процедурка НапечатайсяЖЕ() то он ее не найдет
6 0_Serg_0
 
06.07.12
10:45
(4) ну раз "нет" - то поставь))
7 Wobland
 
06.07.12
10:45
(6) лично мне лениво ;)
8 STAYEKR
 
06.07.12
10:53
(1) функция печать должна быть в модуле? Возврат ТабДок в конце функции "Печать()" или в конце моего кода? Заранее спасибо!
9 Wobland
 
06.07.12
10:58
(8) истина, истина. на здоровье
10 Бледно Золотистый
 
06.07.12
10:58
(8)А твой код внутри процедуры, функции или просто так болтается в модуле?
11 Wobland
 
06.07.12
11:00
(10) просто так.
(8) ещё раз: делаешь экпортную функцию Печать(), которая будет возвращаеть некий ТабДок. как ты его хочешь формировать, мне поровну, код не разглядывал ;)
12 STAYEKR
 
06.07.12
11:03
(10) мой код внутри процедуры Печать. Косяк был в том, что я ее не так назвал сначала, не сделал экспортной да и прописал "процедуру" вместо "функции"))) Спасибо огромное всем за помощь! Юный падаван не забудит Вас, Гуру!
13 STAYEKR
 
06.07.12
11:03
(11) Отдельно спасибо, Мастер!
14 Fedot200
 
06.07.12
12:53
Добавлю своих пять копеек:
В модуле обработки

Функция ПечатьРКО()
здесь запрос и т.д.
.....
.....
.....
Возврат ТабДокумент;
КонецФункции


Функция Печать() Экспорт
   ТабДокумент=ПечатьРКО();
   Возврат ТабДокумент;
КонецФункции
15 Fedot200
 
06.07.12
12:55
хе, криво модуль нарисовался :-)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс