Вход | Регистрация

1С:Предприятие ::

Метки: 

Табличный документ на сервере и на форме

Я
   rustamoff
 
24.12.12 - 17:53
Два рабочих варианта вывода ТабличногоДокумента в управляемую форму:

1) из этой темы v8: Вывод в табличный документ (управляемые формы)

&НаСервере
Функция ВыводВФорму()

Макет = Отчеты.Отчет3.ПолучитьМакет("МакетОтчета");    
ОбластьЗаголовок = Макет.ПолучитьОбласть("ШапкаОтчета");        
ТабДок=Новый ТабличныйДокумент;    
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Ложь;

Возврат ТабДок; 
КонецФункции

Процедура Сформировать(Команда)
     ВыводВФорму().Показать();
КонецПроцедуры

2) второй не использует функцию для возврата ТабличногоДокумента

&НаКлиенте
Процедура Сформировать(Команда)
    СформироватьОтчет(ТабДок, ДатаОтчета);
КонецПроцедуры

&НаСервереБезКонтекста
Процедура СформироватьОтчет(ТабДок, ДатаОтчета)

    Макет = Отчеты.ОстаткиТоваров.ПолучитьМакет("Макет"); 
    ОблШапка = Макет.ПолучитьОбласть("ОблШапка");
    ОблСтрока = Макет.ПолучитьОбласть("ОблСтрока");
    
    ТабДок.Очистить();
    
    ОблШапка.Параметры.ДатаОтчета = ДатаОтчета;
    ТабДок.Вывести(ОблШапка);
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    Номенклатура,
    |    КоличествоОстаток
    |ИЗ
    |    РегистрНакопления.ОстаткиТоваров.Остатки(&ДатаОтчета, ) ";
    
    Запрос.УстановитьПараметр("ДатаОтчета", ДатаОтчета); 
    
    Результат = Запрос.Выполнить();
    
    Выборка = Результат.Выбрать();
    Пока Выборка.Следующий() Цикл
        ОблСтрока.Параметры.Номенклатура = Выборка.Номенклатура;
        ОблСтрока.Параметры.Количество = Выборка.КоличествоОстаток;
        
        ТабДок.Вывести(ОблСтрока);
    КонецЦикла;  
КонецПроцедуры 

Второй явно элегантнее. Но возникает вопрос, где хранится реквизит формы типа ТабличныйДокумент (второй код подсказыает, что на сервере) и как происходит передача из серверной процедуры в клиентскую во втором коде?
 
 


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует