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