|
Глупейший вопрос про ТабДок |
☑ |
0
Пират
22.05.13
✎
17:01
|
На форме отчета есть реквизит формы. Табличный документ.
Хочу вывести копию этого табличного документа в отдельное окно.
//так работает
&НаКлиенте
Процедура ТабличныйДокументНовоеОкно(Команда)
НовыйТаб = Новый ТабличныйДокумент;
НовыйТаб.Показать();
КонецПроцедуры
//Так не работает!!!
&НаКлиенте
Процедура ТабличныйДокументНовоеОкно(Команда)
НовыйТаб = РеквизитФормыЗначениеТабличныйДокумент;
НовыйТаб.Показать();
КонецПроцедуры
Как сделать копию уже имеющегося ТабДока?
|
|
1
ale-sarin
22.05.13
✎
17:04
|
Попробуй так:
НовыйТаб = Новый ТабличныйДокумент;
НовыйТаб.Вывести(СтарыйТаб);
НовыйТаб.Показать();
|
|
2
НЕА123
22.05.13
✎
17:10
|
может ОФФ.
зачем "Новый ТабличныйДокумент;"?
не достаточно
СтарыйТаб.ПОказать();
?
|
|
3
Пират
22.05.13
✎
17:11
|
Спасибо за ответы. Вот еще вариант.
&НаКлиенте
Процедура ТабличныйДокументНовоеОкно(Команда)
ТабДок = ПолучитьКопиюРезультатаСервер(Результат);
ТабДок.Показать();
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьКопиюРезультатаСервер(ТабДок)
Возврат ТабДок;
КонецФункции
|
|
4
НЕА123
22.05.13
✎
17:14
|
(3)
зачем?
в отладчике, будет
ТабДок = Результат
|
|
5
Serginio1
22.05.13
✎
17:17
|
(3) Не гоняя на сервер данные можно
ЗаписьХМЛ= Новый ЗаписьXML;
ЗаписьХМЛ.УстановитьСтроку();
ЗаписатьXML(ЗаписьХМЛ, СтарыйТаб);
Стр=ЗаписьХМЛ.Закрыть();
ЧтениеXML.УстановитьСтроку(стр);
ЧтениеXML.ПерейтиКСодержимому();
Таб=ПрочитатьXML(ЧтениеXML);
|
|
6
Пират
22.05.13
✎
17:25
|
(5)
{Форма.ФормаОтчета.Форма(79)}: Ошибка при вызове метода контекста (ЗаписатьXML)
ЗаписатьXML(ЗаписьХМЛ, Результат);
по причине:
Значения данного типа не могут быть представлены в XML
|
|
7
Пират
22.05.13
✎
17:28
|
(4) это уже не будет ссылка на реквизит формы, а будет чистый таб док
|
|
8
Serginio1
22.05.13
✎
17:29
|
А так?
ОбъектXDTO=СериализаторXDTO.ЗаписатьXDTO(СтарыйТаб);
ЗаписьХМЛ= Новый ЗаписьXML;
ЗаписьХМЛ.УстановитьСтроку();
ФабрикаXDTO.ЗаписатьXML(ЗаписьХМЛ, ОбъектXDTO);
Стр=ЗаписьХМЛ.Закрыть();
ЧтениеXML.УстановитьСтроку(стр);
ЧтениеXML.ПерейтиКСодержимому();
ТипОбъектаXDTO=ФабрикаXDTO.Тип(ЧтениеXML.URIПространстваИмен,ЧтениеXML.Имя);
Таб=ФабрикаXDTO.ПрочитатьXML(ЧтениеXML,ТипОбъектаXDTO);
|
|
9
Пират
22.05.13
✎
17:33
|
(8) ТИПЗНЧ(Таб) = ОбъектXDTO
|
|
10
Serginio1
22.05.13
✎
17:36
|
Таб=СериализаторXDTO.ПрочитатьXDTO(Таб);
|
|
11
Serginio1
22.05.13
✎
17:37
|
Можно попробовать
Таб=СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
|
|
12
Пират
22.05.13
✎
17:39
|
(11) забил.
|
|
13
Serginio1
22.05.13
✎
17:41
|
(12) Забил это сработал или дал ошибку?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший