Имя: Пароль:
1C
1С v8
Не выводит макет
0 DeMi4
 
30.11.11
17:13
Подскажите почему не выводит макет

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

   Запрос.УстановитьПараметр("ДатаКон", Отчет.ДатаКон);
   Запрос.УстановитьПараметр("ДатаНач", Отчет.ДатаНач);
   Запрос.УстановитьПараметр("ТоварКассы", Отчет.Товар);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();
   ТабДок = Новый ТабличныйДокумент;
   Макет=Отчеты.Товары.ПолучитьМакет("ОтчетТовары");
   ТЗ = Новый ("ТаблицаЗначений");
   ТЗ.Колонки.Добавить("Наименование");
   ТЗ.Колонки.Добавить("НачОст");
   ТЗ.Колонки.Добавить("Поступило");
   ТЗ.Колонки.Добавить("Продано");
   ТЗ.Колонки.Добавить("Возвращо");
   ТЗ.Колонки.Добавить("Списано");
   ТЗ.Колонки.Добавить("ТекОст");
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ТабДок.Вывести(ОбластьМакета);
   ОбластьМакета = Макет.ПолучитьОбласть("Строка");
   ТабДок.Вывести(ОбластьМакета);
   ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
   ТабДок.Вывести(ОбластьМакета);


   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       СтрТЗ=ТЗ.Добавить();
       СтрТЗ.Наименование=ВыборкаДетальныеЗаписи.ОС;
       СтрТЗ.НачОст=ВыборкаДетальныеЗаписи.НачОст;
       СтрТЗ.ТекОст=ВыборкаДетальныеЗаписи.КонОст;
       Если ВыборкаДетальныеЗаписи.ТипДвиженияТовара=Перечисления.ТипДвиженияТовара.Поступило Тогда
           СтрТЗ.Поступило=ВыборкаДетальныеЗаписи.Приход;
       КонецЕсли;
       Если ВыборкаДетальныеЗаписи.ТипДвиженияТовара=Перечисления.ТипДвиженияТовара.Продано Тогда
           СтрТЗ.Продано=ВыборкаДетальныеЗаписи.Расход;
       КонецЕсли;
       Если ВыборкаДетальныеЗаписи.ТипДвиженияТовара=Перечисления.ТипДвиженияТовара.Возвращено Тогда
           СтрТЗ.Возвращено=ВыборкаДетальныеЗаписи.Расход;
       КонецЕсли;
       Если ВыборкаДетальныеЗаписи.ТипДвиженияТовара=Перечисления.ТипДвиженияТовара.Списано Тогда
           СтрТЗ.Списано=ВыборкаДетальныеЗаписи.Расход;
       КонецЕсли;
     
   КонецЦикла;

   ТЗ.Свернуть("Наименование");
   ТабДок.Показать();
1 Wobland
 
30.11.11
17:14
а Вывести() есть или я проглядел? ;)
2 Wobland
 
30.11.11
17:15
нет, это феерично. цикл чем занимается?
3 QLgKR
 
30.11.11
17:15
(0) если управляемые формы, то Показать надо на клиенте вызывать
4 DeMi4
 
30.11.11
17:16
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
   ТабДок.Вывести(ОбластьМакета);
   ОбластьМакета = Макет.ПолучитьОбласть("Строка");
   ТабДок.Вывести(ОбластьМакета);
   ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
   ТабДок.Вывести(ОбластьМакета);

Цикл заносит данные в таблицу значений

Но это не суть ведь если я не ошибаюсь все равно должны ввестись области без данных.

Да на управляемом клиенте
5 DeMi4
 
30.11.11
17:16
Управляемые формы. А зачем так сделали?
6 Wobland
 
30.11.11
17:17
(4) не знаю, что ты там хочешь показать, и при чём тут ТЗ, но показывать серверу некому
7 andrewks
 
30.11.11
17:17
(5) а как, по-твоему, надо было?
8 QLgKR
 
30.11.11
17:17
(5) потому что сервер понятия не имеет где надо показывать табличный документ.
9 Wobland
 
30.11.11
17:18
(7) ТабДок.ПоказатьФсёИСразу();
10 DeMi4
 
30.11.11
17:18
Ясно, спасибо за ответы