Имя: Пароль:
1C
1С v8
Процедура Печать
0 My_Victory
 
01.06.15
10:59
Добрый день. Необходимо создать обработку печати ТТН. Конфа БП 3.0. Создаю на форме кнопку печать, в модуле формы пишу:
&НаСервере
Функция ПечатьНаСервере()
   ТабДок = РеквизитФормыВЗначение("Объект");
   ТабличныйДокумент=Новый ТабличныйДокумент;
    КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("ТТН");
    ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
    ОбъектыПечати = Новый СписокЗначений;
    массивобъектов = Новый Массив();
    массивобъектов.Добавить(Объект.Документ);
    Документы.РеализацияТоваровУслуг.Печать(массивобъектов,,КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
    Стр = КоллекцияПечатныхФорм[0];
    ТабДок.Печать(массивобъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
    Возврат ТабДок;    
    КонецФункции    


&НаКлиенте
Процедура КнопкаВыполнитьНажатие()
Док=ПечатьНаСервере();
Док.Показать();    
КонецПроцедуры

В модуле объекта процедуры экспортные, скопированы из модуля менеджера реализации.
Выдает ошибку:
{Форма.Форма1.Форма(20)}: Ошибка при вызове метода контекста (ПечатьНаСервере)
Док=ПечатьНаСервере();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ВнешняяОбработкаОбъект.ТТН'

Помогите пожалуйста!
1 butterbean
 
01.06.15
11:04
ссылку передавай, а не объект
2 My_Victory
 
01.06.15
11:26
Наверное глупый вопрос, но куда передавать?)ТабДок = РеквизитФормыВЗначение("Ссылка"); ?
3 krunm
 
01.06.15
11:43
(2) массивобъектов.Добавить(Объект.Ссылка.Документ);
4 Леха Дум
 
01.06.15
12:00
и вместо тысячи слов...
попробуй вот так:

&НаКлиенте
Процедура КнопкаВыполнитьНажатие()
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
        "Документ.РеализацияТоваровУслуг",
        "ТТН",
        Объект.Документ,
        ЭтаФорма,
        Неопределено
        );
КонецПроцедуры
5 Леха Дум
 
01.06.15
12:02
+ (4) возможно вместо "Объект.Документ" нужно будет написать "Объект.Ссылка"
6 My_Victory
 
01.06.15
12:14
Теперь вылезает
{ОбщийМодуль.УправлениеПечатью.Модуль(1175)}: При формировании печатной формы "ТТН" возникла ошибка. Обратитесь к администратору.
            ВызватьИсключение ТекстСообщенияОбОшибке;

не зависимо от того, пишу Объект.Документ или Объект.Ссылка
7 Леха Дум
 
01.06.15
14:48
&НаКлиенте
Процедура КнопкаВыполнитьНажатие()
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
        "Обработка.ПечатьТТН",
        "ТТН",
        Объект.Документ,
        ЭтаФорма,
        Неопределено);
КонецПроцедуры

зовите программиста...