|   |   | 
| 
 | Глупейший вопрос про ТабДок | ☑ | ||
|---|---|---|---|---|
| 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) Забил это сработал или дал ошибку?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |