Имя: Пароль:
1C
1С v8
Внешняя печатная форма. Метод объекта не обнаружен(Печать)
0 BiTree
 
01.12.11
13:21
Сделал внешнюю печатную форму.
все как по учебнику:
- реквизит ССылкаНаОбъект
- форма для отладки
- в модуле "функция Печать() экспорт"

вообщем все работает - документ печатается.

Когда добавляю документ во внешние печатные формы и печатаю документ по кнопке "Печать - Моя внешняя печатная форма" - документ печатается но еще вылетает ошибка:
http://clip2net.com/clip/m0/1322730808-clip-14kb.png

место в конфигураторе где возникает ошибка: http://clip2net.com/clip/m0/1322730927-clip-31kb.png
1 Eugene_life
 
01.12.11
13:24
(0) Закомментировать эту строку?
2 BiTree
 
01.12.11
15:12
(1) это какой-то встроенный модуль - во-первых.
во-вторых он доступен для чтения.
и в третьих смысл внешних отчетов - не вмешиваться в стандартный код.


у меня есть ощущение что где-то что-то передается не так и попадает вместо "СсылкаНаОбъект" - "ЭтотОбъект".
но странно что когда просто запускаю обработку - печатает без ошибки.
а когда уже из формы документа - ошибка есть.

никто не сталкивался?
3 Perumov
 
01.12.11
16:33
А что в функции печать? Там из формы документа выполняется та функция которая в модуле обработки, а не формы
4 BiTree
 
01.12.11
17:08
В модуле в "функции печать() экспорт"
идет вызов функции которая возвращает "ТабДокумент"
и потом УниверсальныеМеханизмы.НапечататьДокумент() с кучей параметров.
я думаю что где-то тут что-то криво передается

просто не понятно почему когда я ее как обработку запускаю - все как часики, а когда из документа по кнопке - все ок, но + эта ошибка вылетает.
5 Perumov
 
01.12.11
17:13
УниверсальныеМеханизмы.НапечататьДокумент() попробуй закоментировать это
6 BiTree
 
01.12.11
17:17
Если я это закомментирую и буду использовать просто "ТабДок.Показать()" то печатная форма будет выводиться в некрасивом не стандартном окне )

я просто не понимаю почему косячит? я в эту универсальную процедуру правильно параметры передаю.
7 BiTree
 
01.12.11
17:24
Возможно это просто из-за конфы такие траблы:
Зарплата и кадры бюджетного учреждения, редакция 1.0 (1.0.31.2)

потому-что в других БП, УТ 8.2 такого косяка не бывало.
8 SerMaxim
 
01.12.11
17:29
функция должна быть в модуле обработки а не в модуле формы. Дело в физиологии автора а не в конфигурации. У нас все отлично работает.
9 BiTree
 
01.12.11
17:30
(8) У меня в модуле обработки функция.
ты на конфигурации ЗУП бюджет пробовал внешние печатные формы таким способом печатать?
10 BiTree
 
01.12.11
17:33
Вот как выглядит модуль формы и модуль обработки:
http://clip2net.com/clip/m0/1322746411-clip-27kb.png
11 Kreont
 
01.12.11
17:39
У меня так, в модуле обработки:
Функция Печать() Экспорт;
  // Сюда сначала копирую ф-ю из конфигурации и правлю как мне надо
  // + макет свой рисую
  Возврат ТабДок;
КонецФункции
12 SerMaxim
 
01.12.11
17:39
Чудес не бывает. Ты ее подключил правильно?
13 Perumov
 
01.12.11
17:42
Расфасовывай тогда алгоритмы этой функции и приводи к такому виду функцию печать
Функция Печать() Экспорт
ТабДокумент = Новый ТабличныйДокумент;
// получаем данные для печати
// получаем макет
// выводим данные
Возврат ТабДокумент;
14 MaxS
 
01.12.11
17:43
(6)  см. (11) (13)
ТабДок.Показать() не нужно делать!
15 BiTree
 
01.12.11
17:44
(11) я думаю без разницы все функции в печать загонять или сделать вызов функций.
Все печатается без проблем так как нужно - если открываю через "файл - открыть", ввожу в реквизит СсылкаНаДокумент нужный документ и печатаю.

(12) Да просто зашел во внешние печатные формы, создал новый элемент и нажал добавить мою внешнюю обработку.
http://clip2net.com/clip/m0/1322746965-clip-43kb.png
Кстати есть макет с авторегистрацией
(но пробовал и без нее)
16 BiTree
 
01.12.11
17:46
Все спасибо ) понял )
во внешней печатной форме не нужно делать вызов на печать.

http://clip2net.com/clip/m0/1322747151-clip-15kb.png
вот так все прекрасно выводит.

Всем спасибо.)
17 Kreont
 
01.12.11
17:47
А дело было в из-"Возврате" только :)
18 BiTree
 
01.12.11
17:48
(17)
да.
при отладке она правильно работает.
а когда из документа вызываешь - она уже лишняя. нужно просто ТабДок возвращать - дальше сам на печать выведет как нужно.