PDA

Просмотр полной версии : Не получается сделать внешнюю печатную форму . В модуле объекта нет процедуры печать.



OceaN
30.05.2013, 15:17
Добры день. Только только столкнулся с 1С 8.2. Встала задача изменить внешний вид счета на оплату покупателю. Все начал делать по этому ролику на Ютубе http://www.youtube.com/watch?v=JdsQDMIzDZw
Однако дойдя до момента когда нужно скопировать модуль объекта из имеющейся формы счета, появилась такая проблема:
При открытии Модуля объекта стандартного счета в нем нет процедуры печать, которая была указана в ролике. (Смотреть с 2:40).

Прикладываю скрин своего вида, никак не могу понять что делать дальше и где взять нужную часть текста.
993

Если кто знает или хотя бы скинет ссылку где можно разобраться буду признателен

Balu203
06.06.2013, 10:51
Картинку не получается посмотреть, поэтому смотрел руководство. Руководство просто ужасное.

Как называется процедура которая выводить счет на печать, это по сути не важно, это может быть и ПечатьСчета и ПечатьСчетаНаОплату и т.д. у автора достаточно экзотическая конфигурация БИТ.
Какая из процедур печатает документ, если не получается выяснить визуально визуально, можно выяснить с помощью отладчика, ставя точки останова на "подозрительных процедурах".

В общем случае, в типовых конфигурациях от самой 1С(Бухгалтерия,Зарплата и управление персоналом) печать типовых печатных форм, представляет из себя функцию Печать() Экспорт модуля объекта документа.
в этой функции могут вызываться другие функции(слово "печать" они, как правило, в названии содержат), одну из которых и нужно перенести во внешнюю обработку печати.

Бывают документы в которых процедуры Печать() Экспорт нет, чтобы появилась возможность пользоваться внешними печатными формами, нужно добавить ряд процедур и функций, отвечающих за печать, как это сделать рассказывать долго, но подсмотреть можно в любом документе, который выводится на печать.

в самом общем случае, это сводится к двум процедурам общего модуля Печать() Экспорт и ПолучитьСтруктуруПечатных Форм() Экспорт
и к процедурам УстановитьКнопкиПечати() модуля формы документа, к которой обращаются перед открытием и связанными с ней процедурами модуля формы ОсновныеДействияФормыПеча ть и ОсновныеДействияФормыУста новитьПечатьПоУмолчанию

Чтобы правильно работала и отладка и печать, надо сделать форму к обработке как говорит автор, только в процедура КнопкаВыполнитьНажатие, должна выглядеть следующим образом(можно тупо удалить то что он там насоветовал и вставить нижеследующее):

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

надо переделать так и отладка будет полностью отражать действительность.

и лучше делать несколько по-другому, все неопределенные переменные надо определять в самом верху процедуры Печать, чтобы это бросалось в глаза
т.е. допустим, была не определена переменная Дата, делаем в Самом верху:

Дата = СсылкаНаОбъект.Дата;

Если таких переменных будет много, то их надо получать запросом(тем же запросом что используется перед выводом данных на печать, туда нужно просто добавить эти поля.

Если будет ругань на то что переменная ТабДокумент не определена, тогда в самом вержу процедуры Печать модуля формы, надо всего лишь добавить что

ТабДокумент = Новый ТабличныйДокумент;

Андрей Федотов
13.06.2013, 11:04
Выгрузите конфигурацию и разберемся)