Имя: Пароль:
1C
 
ТТН через внешнюю обработку
0 Nikart
 
26.06.09
13:52
Необходимо внести в пеатную форму ТТН в Бухгалтерии 8-ке некоторые изменения. Снимать с поддержки конфу нельзя. Поэтому только выход через внешнюю печатную форму или обработку.
Сделал сохранение обработки ТТН из конфигурации во внешнюю. Сделал нужные изменения в макете и коде. НО ЕСТЬ БОЛЬШОЕ НО, никак не могу понять как сделать вызов этой внешней обработки в документе  РеализацииТоваровиУслуг в разделе Печать.
1 Нуф-Нуф
 
26.06.09
13:52
бугага. сервис - внешние печатные формы
2 zbv
 
26.06.09
13:55
боюсь сделанных изменений будет недостаточно...
3 Nikart
 
26.06.09
13:57
(1) ПечатьТТН - обработка
4 Nikart
 
26.06.09
13:58
(2) как быть?
5 Нуф-Нуф
 
26.06.09
13:58
сделаю удаленно. недорого
6 Нуф-Нуф
 
26.06.09
13:58
аско 154/806/090
7 Nikart
 
26.06.09
13:59
(5) сам программист, только не пойму как кнопку вызова внешней обработки добавить в документ без изменения конфы
8 zbv
 
26.06.09
14:01
(7) кнопка сама добавится - если правильно пропишешь.

а вот будет ли работать - это уже вопрос...
9 Нуф-Нуф
 
26.06.09
14:02
(7) ну что непонятного в (1)
меню - сервис - дополнительные отчеты и обработки - дополнительные внешние печатные формы.
10 Нуф-Нуф
 
26.06.09
14:02
добавляй там свою обработку, указывай документ - она сама появится
11 Nikart
 
26.06.09
14:02
(9) посмотрим как ты добавишь так
12 Nikart
 
26.06.09
14:02
(9) посмотрим как ты добавишь так обработку
13 Nikart
 
26.06.09
14:03
(8) где прописать? в обработке или при добавлении?
14 Нуф-Нуф
 
26.06.09
14:03
(11) а в чем трудность?
15 zbv
 
26.06.09
14:04
(12) а что - не добавит?
16 quazare
 
26.06.09
14:04
возьми форму из гаранта, вставь ее как аквив документ и все...
17 Mitriy
 
26.06.09
14:05
пятница, однако...
18 Nikart
 
26.06.09
14:06
у меня внешняя обработка, а не печатная форма... хотите сказать получится её добавить через подключение внешних печатных форм?
19 Нуф-Нуф
 
26.06.09
14:06
(18) да
20 Нуф-Нуф
 
26.06.09
14:07
именно это тебе и хотим сказать
21 Nikart
 
26.06.09
14:08
менять для этого много нужно?
22 Нуф-Нуф
 
26.06.09
14:08
(21) только твою обработку.
23 Nikart
 
26.06.09
14:09
ссылки с описание что да как есть?
24 Нуф-Нуф
 
26.06.09
14:10
логика - создаешь обработку с реквизитом СсылкаНаОБъект и с макетом твоей печатной формы.
и прикрепляешь как в (9)
25 zbv
 
26.06.09
14:12
+(24) в модуле обработки должна быть экспортная фукнция печать(), возвращающая заполненный ТабличныйДокумент.

если в (7) правда, то разберешься...
26 Нуф-Нуф
 
26.06.09
14:13
вот пример модуля такой обработки:
// Функция формирует табличный документ с печатной формой накладной,
// разработанной методистами
//
// Возвращаемое значение:
//  Табличный документ - печатная форма накладной
//
Функция Печать() Экспорт
   
   Ссылка = СсылкаНаОбъект;
   
   
   ТабДокумент = Новый ТабличныйДокумент;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПоступлениеТоваровУслуг_Накладная";
   Макет       = ПолучитьМакет("Накладная");

   // Выводим шапку накладной

   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   ОбластьМакета.Параметры.ТекстЗаголовка = "Дополнительное соглашение № "+Ссылка.Номер;
   ОбластьМакета.Параметры.ДатаСоглашения = ""+формат(Ссылка.Дата,"ДЛФ=ДД");
   НомерДатаДоговора = "№"+ссылка.ДоговорКонтрагента.Номер+" от "+формат(ссылка.ДоговорКонтрагента.Дата,"ДЛФ=Д");
   ОбластьМакета.Параметры.ТекстТекста = "В соответствии с условиями Договора поставки "+НомерДатаДоговора+" Продавец обязуется поставить, а Покупатель принять и оплатить следующий товар:";
   ОбластьМакета.Параметры.НомерДатаДоговора = НомерДатаДоговора;
   ТабДокумент.Вывести(ОбластьМакета);

   ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
   //ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Поставщик, Шапка.Дата), "ПолноеНаименование,");
   //ОбластьМакета.Параметры.Поставщик = Шапка.Контрагент;
   ТабДокумент.Вывести(ОбластьМакета);
   
   ОбластьМакета = Макет.ПолучитьОбласть("Строка");
   Для Каждого ВыборкаСтрокТовары Из Ссылка.Товары Цикл

       ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
       //ОбластьМакета.Параметры.НомерСтроки = ВыборкаСтрок.Индекс(ВыборкаСтрокТовары) + 1;
       ОбластьМакета.Параметры.товар = СокрЛП(ВыборкаСтрокТовары.номенклатура);
       ОбластьМакета.Параметры.СуммаСНДС =ВыборкаСтрокТовары.Сумма + ?(ссылка.СуммаВключаетНДС, 0, ВыборкаСтрокТовары.СуммаНДС);
       ТабДокумент.Вывести(ОбластьМакета);
   КонецЦикла;

   // Вывести Итого
   ОбластьМакета                 = Макет.ПолучитьОбласть("Итого");
//ОбластьМакета.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
//    ОбластьМакета.Параметры.ВсегоРозн = ОбщегоНазначения.ФорматСумм(СуммаРозн);
   ТабДокумент.Вывести(ОбластьМакета);
   Руководители = РегламентированнаяОтчетность.ОтветственныеЛицаОрганизаций(Ссылка.Организация,Ссылка.Дата);
   Руководитель = Руководители.Руководитель;
   // Вывести подписи
   Сведения = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Ссылка.Организация,  Ссылка.Дата);
   СведенияК = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Ссылка.Контрагент,  Ссылка.Дата);
   ОбластьМакета = Макет.ПолучитьОбласть("Подписи");
   ОбластьМакета.Параметры.ТекстТекста1 = "1. Отгрузка: дата отгрузки товара "+формат(ссылка.ДатаОтгрузки,"ДЛФ=Д")+", со склада продавца: "+ссылка.Склад;
   ОбластьМакета.Параметры.ТекстТекста2= "2. Оплата: безналичный расчет до "+формат(ссылка.ДатаОплаты,"ДЛФ=Д")+" включительно.";
   ОбластьМакета.Параметры.текстЗаголовка = "РЕКВИЗИТЫ И ПОДПИСИ СТОРОН";
   ОбластьМакета.Параметры.Продавец ="Продавец:
   |"+Ссылка.Организация.ПолноеНаименование()+"
   |ИНН "+Ссылка.Организация.ИНН+" КПП "+Ссылка.Организация.КПП+"
   |ОГРН "+Ссылка.Организация.ОГРН+"
   |р/с "+Сведения.НОмерСчета+"
   |в "+Сведения.Банк+"
   |к/с "+Сведения.коррСчет+"
   |БИК "+Сведения.БИК+"
   |"+Сведения.ЮридическийАдрес+"
   |"+Сведения.Телефоны+"
   |"+" "+"
   |Генеральный
   |директор _____ / "+руководитель+"/
   |"+" "+"
   |"+"М.П."+"
   |";
   ;
   ОбластьМакета.Параметры.Покупатель ="Покупатель:
   |"+Ссылка.Контрагент.НаименованиеПолное+"
   |ИНН "+Ссылка.Контрагент.ИНН+" КПП "+Ссылка.Контрагент.КПП+"
   |ОГРН "+" "+"
   |р/с "+СведенияК.НОмерСчета+"
   |в "+СведенияК.Банк+"
   |к/с "+СведенияК.коррСчет+"
   |БИК "+СведенияК.БИК+"
   |"+СведенияК.ЮридическийАдрес+"
   |"+СведенияК.Телефоны+"
   |"+" "+"
   |Генеральный
   |директор _____ / "+Ссылка.Контрагент.ОсновноеКонтактноеЛицо+"/
   |"+" "+"
   |"+"М.П."+"
   |";
   ;
   
   ТабДокумент.Вывести(ОбластьМакета);
   Табдокумент.Показать();
   Возврат ТабДокумент;

КонецФункции // ПечатьПоступлениеТоваров()
27 zbv
 
26.06.09
14:15
(26) а это зачем

Табдокумент.Показать();
28 Нуф-Нуф
 
26.06.09
14:16
(27) это для отладки
29 and2
 
26.06.09
14:42
сохраняешь Обработку ПечатьТНТ во внешнюю.
рекв. документ переименовываешь в ссылкаНаОбъект.
правишь что надо в модулеФормы.

в модуль обработки добавляешь такой текст.

Функция Печать() Экспорт

Фрм=ЭтотОбъект.получитьФорму();
Фрм.Открыть;


возврат Неопределено; //печаиаем из обработки.
КонецФункции
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший