Показано с 1 по 3 из 3
Древовидный режим
-
06.06.2013, 10:51 #2
- Регистрация
- 15.12.2010
- Сообщений
- 29
- Сказал(а) спасибо
- 1
- Поблагодарили 1 раз в 1 сообщении
Картинку не получается посмотреть, поэтому смотрел руководство. Руководство просто ужасное.
Как называется процедура которая выводить счет на печать, это по сути не важно, это может быть и ПечатьСчета и ПечатьСчетаНаОплату и т.д. у автора достаточно экзотическая конфигурация БИТ.
Какая из процедур печатает документ, если не получается выяснить визуально визуально, можно выяснить с помощью отладчика, ставя точки останова на "подозрительных процедурах".
В общем случае, в типовых конфигурациях от самой 1С(Бухгалтерия,Зарплата и управление персоналом) печать типовых печатных форм, представляет из себя функцию Печать() Экспорт модуля объекта документа.
в этой функции могут вызываться другие функции(слово "печать" они, как правило, в названии содержат), одну из которых и нужно перенести во внешнюю обработку печати.
Бывают документы в которых процедуры Печать() Экспорт нет, чтобы появилась возможность пользоваться внешними печатными формами, нужно добавить ряд процедур и функций, отвечающих за печать, как это сделать рассказывать долго, но подсмотреть можно в любом документе, который выводится на печать.
в самом общем случае, это сводится к двум процедурам общего модуля Печать() Экспорт и ПолучитьСтруктуруПечатных Форм() Экспорт
и к процедурам УстановитьКнопкиПечати() модуля формы документа, к которой обращаются перед открытием и связанными с ней процедурами модуля формы ОсновныеДействияФормыПеча ть и ОсновныеДействияФормыУста новитьПечатьПоУмолчанию
Чтобы правильно работала и отладка и печать, надо сделать форму к обработке как говорит автор, только в процедура КнопкаВыполнитьНажатие, должна выглядеть следующим образом(можно тупо удалить то что он там насоветовал и вставить нижеследующее):
Процедура КнопкаВыполнитьНажатие(Кн� �пка)
ТабДок = Печать(); //Вот тут происходит вызов функции печать модуля объекта
ТабДок.ОтображатьСетку = Ложь;
ТабДок.ТолькоПросмотр = ИСтина;
ТабДок.ОтображатьЗаголовк� � = Ложь;
ТабДок.Показать();
КонецПроцедуры
надо переделать так и отладка будет полностью отражать действительность.
и лучше делать несколько по-другому, все неопределенные переменные надо определять в самом верху процедуры Печать, чтобы это бросалось в глаза
т.е. допустим, была не определена переменная Дата, делаем в Самом верху:
Дата = СсылкаНаОбъект.Дата;
Если таких переменных будет много, то их надо получать запросом(тем же запросом что используется перед выводом данных на печать, туда нужно просто добавить эти поля.
Если будет ругань на то что переменная ТабДокумент не определена, тогда в самом вержу процедуры Печать модуля формы, надо всего лишь добавить что
ТабДокумент = Новый ТабличныйДокумент;
Социальные закладки