Имя: Пароль:
1C
1С v8
Внешния печатная форма
0 osuul
 
12.07.11
23:46
Всем привет, подскажите, в конфигурации АльфаАвто: автосервис + автозапчасти пытаюсь делать внешнюю печатную форму, вот код, это как пример

Функция Печать(ДокументОбъект, ТабДокумент) Экспорт
   
   //ТабДокумент = неопределено;

   ТабДокумент = ПолучитьМакет("СчетНаОплату");
       
   ОбластьМакета = ТабДокумент.ПолучитьОбласть("ЗаголовокСчета");
   ОбластьМакета.Параметры.БанкПолучателя                        = Символы.НПП+ДокументОбъект.РасчетныйСчетОрганизации.Банк;
   ОбластьМакета.Параметры.БанкПолучателяПредставление            = спПолучитьНаименование(ДокументОбъект.РасчетныйСчетОрганизации.Банк);
   ОбластьМакета.Параметры.БИКБанкаПолучателя                    = Символы.НПП+СокрЛП(ДокументОбъект.РасчетныйСчетОрганизации.Банк.Код);
   ОбластьМакета.Параметры.СчетБанкаПолучателя                    = Символы.НПП+СокрЛП(ДокументОбъект.РасчетныйСчетОрганизации.Банк.КоррСчет);
   ОбластьМакета.Параметры.ИНН                                    = Символы.НПП+спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("ИНН"));
   Если НЕ обЗначениеНеЗаполнено(ДокументОбъект.ПодразделениеКомпании) И НЕ обЗначениеНеЗаполнено(ДокументОбъект.ПодразделениеКомпании.КПП) Тогда
       СтрокаПредставления                                    = Символы.НПП+спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("КПП"));
       ОбластьМакета.Параметры.КПП                                = СтрЗаменить(СтрокаПредставления, ДокументОбъект.Организация.КПП, ДокументОбъект.ПодразделениеКомпании.КПП);
   Иначе    
       ОбластьМакета.Параметры.КПП                                    = Символы.НПП+спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("КПП"));
   КонецЕсли;    
   ОбластьМакета.Параметры.Получатель                            = ДокументОбъект.Организация;
   ОбластьМакета.Параметры.ПолучательПредставление                = спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("Наименование"));
   ОбластьМакета.Параметры.СчетПолучателя                        = Символы.НПП+СокрЛП(ДокументОбъект.РасчетныйСчетОрганизации.НомерСчета);
   ТабДокумент.Вывести(ОбластьМакета);
   //ТабДокумент.Показать(ОбластьМакета);
   
   Возврат ТабДокумент
   
КонецФункции

работает, и даже выводит, только проблема вся в том что выводит целиком макет, только без данных и в этом же макете чуть ниже уже  область "ЗаголовокСчета" с забитыми данными.. как исправить?
1 hhhh
 
12.07.11
23:54
должен быть табдокумент отдельно, макет отдельно, Мухи отдельно, котлеты отдельно, так сказать. А у вас это как-то всё вместе.
2 osuul
 
12.07.11
23:55
Разобрался, нужно так, может кому пригодится

Функция Печать(ДокументОбъект, ТабДокумент) Экспорт
   
   //ТабДокумент = неопределено;

   Макет = ПолучитьМакет("СчетНаОплату");
       
   ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета");
   ОбластьМакета.Параметры.БанкПолучателя                        = Символы.НПП+ДокументОбъект.РасчетныйСчетОрганизации.Банк;
   ОбластьМакета.Параметры.БанкПолучателяПредставление            = спПолучитьНаименование(ДокументОбъект.РасчетныйСчетОрганизации.Банк);
   ОбластьМакета.Параметры.БИКБанкаПолучателя                    = Символы.НПП+СокрЛП(ДокументОбъект.РасчетныйСчетОрганизации.Банк.Код);
   ОбластьМакета.Параметры.СчетБанкаПолучателя                    = Символы.НПП+СокрЛП(ДокументОбъект.РасчетныйСчетОрганизации.Банк.КоррСчет);
   ОбластьМакета.Параметры.ИНН                                    = Символы.НПП+спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("ИНН"));
   Если НЕ обЗначениеНеЗаполнено(ДокументОбъект.ПодразделениеКомпании) И НЕ обЗначениеНеЗаполнено(ДокументОбъект.ПодразделениеКомпании.КПП) Тогда
       СтрокаПредставления                                    = Символы.НПП+спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("КПП"));
       ОбластьМакета.Параметры.КПП                                = СтрЗаменить(СтрокаПредставления, ДокументОбъект.Организация.КПП, ДокументОбъект.ПодразделениеКомпании.КПП);
   Иначе    
       ОбластьМакета.Параметры.КПП                                    = Символы.НПП+спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("КПП"));
   КонецЕсли;    
   ОбластьМакета.Параметры.Получатель                            = ДокументОбъект.Организация;
   ОбластьМакета.Параметры.ПолучательПредставление                = спПолучитьПредставление(ДокументОбъект.Организация,Новый Структура("Наименование"));
   ОбластьМакета.Параметры.СчетПолучателя                        = Символы.НПП+СокрЛП(ДокументОбъект.РасчетныйСчетОрганизации.НомерСчета);
   ТабДокумент.Вывести(ОбластьМакета);
   //ТабДокумент.Показать(ОбластьМакета);
   
   Возврат ТабДокумент
   
КонецФункции
3 mikecool
 
13.07.11
00:12
(2) надеюсь, что нет
4 Prikum
 
13.07.11
00:25
(3) +1
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший