Имя: Пароль:
1C
1С v8
печать из внешней обработки
,
0 berendej
 
25.07.12
16:40
УТ11. Создал внешнюю обработку, в ней необходимо заполнить поля и только потом осуществлять печать. Макет на сервак передаю, ошибок никаких не выходит, но печатная форма не формируется, просто ничего не происходит при нажатии. Подозреваю с табличным документом что-то не так сделал

&НаКлиенте
Процедура Печать()
       
   СформироватьПечатнуюФорму(ТабДок.Ссылка);

КонецПроцедуры //()    

&НаСервере
Функция  СформироватьПечатнуюФорму(ТабДок)
   ЭтотОбъект = РеквизитФормыВЗначение("Объект");
   ДатаДокумента = ЭтотОбъект.ДатаДокумента;
   ТабДок = Новый ТабличныйДокумент;
   ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_План_Продаж_По_Организации";
   Макет = ЭтотОбъект.ПолучитьМакет("ПланПродажПоОрганизации");    

     Запрос = Новый Запрос;
   Запрос.Текст = ...
   Результат = Запрос.Выполнить();

   ВыборкаГруппаНоменклатуры = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

   
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   
   ТабДок.Очистить();                                          
   
   ОбластьЗаголовок.Параметры.ТекстЗаголовка = "План продаж от " + Формат(ДатаДокумента, "ДФ=""дд ММММ гггг 'г.'""");    
   
   ТабДок.Вывести(ОбластьЗаголовок);
   
   Возврат ТабДок;
//возврат неопределено;
   
КонецФункции
1 patapum
 
25.07.12
16:44
(0) улыбнуло. а ты не забыл полученный ТабДок куда нить вывести?
2 МойКодУныл
 
25.07.12
16:44
Печать должна быть функцией и возвращать сформированный таб документ. + проверь тип реквизита СсылкаНаОбъект. Если ты это подключаешь как внешнюю печатную форму.
3 berendej
 
25.07.12
16:47
(1) его же на клиенте надо выводить правильно я понимаю?
(2) так у меня это и есть функция. Я подключаю внешнюю обработку,а в ней уже делаю печать, у меня не будет СсылкаНаОбъект
4 patapum
 
25.07.12
16:48
(3) понимаешь правильно. но не выводишь )))
5 МойКодУныл
 
25.07.12
16:48
(3) а где ТабДок.Показать() тогда?
6 berendej
 
25.07.12
16:49
(4) напиши мне эту волшебную строчку)) я вокруг да около хожу, а толку нет
7 berendej
 
25.07.12
16:51
&НаКлиенте
Процедура Печать()
       
   ТабДок =СформироватьПечатнуюФорму();
ТабДок.Показать()

КонецПроцедуры //()
Так чтоля?
8 МойКодУныл
 
25.07.12
16:53
(7)Думаю, да. В толстых формах=)) было так.
9 berendej
 
25.07.12
16:54
(8) да в том то и дело...первый раз такую фигню делаю на УФ, отдельно внешнюю обработку и формы делал, а тут подзастрял прям)
10 berendej
 
25.07.12
18:03
Парни, а как облагородить форму? Через метод показать() выводится макет, но только в том же виде, как он выглядит в конфигураторе - с сеткой по ячейкам, как в excel
11 Агент Инфостарта
 
25.07.12
18:27
(10) Параметры табличного документа не предлагать или выводить табдок в поле на форме и там задавать все параметры?
Смотри, как в типовой сделано.
12 Агент Инфостарта
 
25.07.12
18:27
(10) В общем, СП продаётся.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.