|
Как показать табличный документ из реквизита управляемой формы? |
☑ |
0
aptomilov
31.10.22
✎
22:35
|
Записываю в Реквизит с типом хранилище файлик табличного документа
потом при
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
ИмяВременногоФайла = КаталогВременныхФайлов()+"ттн.mxl";
ДвоичныеДанные = ТекущийОбъект.ттн.Получить();
ДвоичныеДанные.Записать(ИмяВременногоФайла);
ТабДок.Прочитать(ИмяВременногоФайла);
КонецПроцедуры
я его записываю в реквизит формы
потом пытаюсь его просто показать
&НаКлиенте
Процедура ПечатьТТН(Команда)
табДок.Показать();
КонецПроцедуры
такая вот ошибочка вылазит
{Документ.Взвешивание.Форма.ФормаДокумента.Форма(18)}: Ошибка при вызове метода контекста (Показать): Недопустимая операция для реквизита формы
|
|
1
aptomilov
31.10.22
✎
22:36
|
я подозреваю что надо как то выцыганить у табдока прям таб документ и уже показывать только как
|
|
2
aptomilov
31.10.22
✎
22:41
|
Хотя ТабДок.Напечатать() почему то замечательно отрабатывает и его не смущает уже что это реквизит ))
|
|
3
aptomilov
31.10.22
✎
22:55
|
вышел из ситуации вот так
но все равно хочется разобраться почему показать () не работает
// создадим коллекцию печатных форм, в которую надо будет добавить нужный нам табличный документ
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("МакетТест");
// Добавляем в коллекцию (тип массив) сформированный Табличный документ
КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
// если требуется устанавливаем параметры печати
КоллекцияПечатныхФорм[0].Экземпляров=1;
КоллекцияПечатныхФорм[0].СинонимМакета = "ТТН"; // используется для формирования имени файла при сохранении из общей формы печати документов
// .. и выводим стандартной процедурой БСП
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм,Неопределено,ЭтаФорма);
|
|
4
RomanYS
31.10.22
✎
23:06
|
(3) не ищешь ты лёгких путей, хотя показать в форме печати может и лучше чем просто показать ТД.
А так вроде стандартный обход ситуации:
НовыйТД = Новый ТабличныйДокумент;
НовыйТД.Вывести(ТвойТД_РеквизитФормы);
НовыйТД.Показать();
|
|