Имя: Пароль:
1C
1С v8
Не выводится в печатную форму.
0 tg30000
 
20.12.11
06:36
Процедура ПечатьС_фНажатие(Элемент)
   
   
   ТабДок = Новый ТабличныйДокумент;
   Макет=ПолучитьМакет("Макет");
   
   ОблШапка=Макет.ПолучитьОбласть("Шапка");
   ОблЗаголовокТаблицы=Макет.ПолучитьОбласть("ЗаголовокТаблицы");
   ОблСтрока=Макет.ПолучитьОбласть("Строка");
   
   Для Каждого СтрокаТЧ Из ЭтотОбъект.СФ Цикл
       Обл=ОблСтрока;
       ОблСтрока=СтрокаТЧ.Наименование;        
       ТабДок.Вывести(Обл);
       КонецЦикла;
   ТабДок.Вывести(ОблШапка);
   ТабДок.Вывести(ОблЗаголовокТаблицы);
   ТабДок.Показать("Макет");
   
КонецПроцедуры



Сообщить выводится, а в табдок нет.... пишет несоответствие типов...
в чем ощибка?
1 vicof
 
20.12.11
06:40
полностью строку об ошибке напиши
2 tg30000
 
20.12.11
06:42
{Документ.Реализация_вариант_44.Форма.ФормаДокумента.Форма(95)}: Ошибка при вызове метода контекста (Вывести)
       ТабДок.Вывести(Обл);
по причине:
Несоответствие типов (параметр номер '1')
3 Mans
 
20.12.11
06:43
Обл=ОблСтрока;
каждый раз это что?
4 tg30000
 
20.12.11
06:43
8.2 КА. Обычное приложение
5 tg30000
 
20.12.11
06:45
(3) ну так, все равно ошибка..

Для Каждого СтрокаТЧ Из ЭтотОбъект.СФ Цикл        
ОблСтрока=СтрокаТЧ.Наименование;                
ТабДок.Вывести(ОблСтрока);
КонецЦикла;
6 tg30000
 
20.12.11
06:47
Что-то с типами , что не пойму..
7 vicof
 
20.12.11
06:47
тип значения ЭтотОбъект.СФ?
8 tg30000
 
20.12.11
06:47
на экран в сообщении пользователю выводится, а в табличную форму документа нет.
9 tg30000
 
20.12.11
06:48
СФ - табличная часть формы..
10 vicof
 
20.12.11
06:48
Для Каждого СтрокаТЧ Из ЭтотОбъект.СФ Цикл        
ОблСтрока=СтрокаТЧ.Наименование;                
ТабДок.Вывести(ОблСтрока);
КонецЦикла;
Какого хрена это должно работать?
11 Mans
 
20.12.11
06:48
разумеется, может:
Для Каждого СтрокаТЧ Из ЭтотОбъект.СФ Цикл        
Обл.Параметр.????=СтрокаТЧ.Наименование;                
ТабДок.Вывести(Обл);
КонецЦикла;

как вариант
12 dva1c
 
20.12.11
06:51
(11) Все правильно в (11). Нужно заполнить параметры строки макета.
13 dva1c
 
20.12.11
06:51
*(11)->(9)
14 tg30000
 
20.12.11
06:52
(12) как их заполнить?
15 vicof
 
20.12.11
06:53
В вывести надо передавать табдок или ПолеТабличногоДокумента, а не строку.
16 dva1c
 
20.12.11
06:58
(14) В ячейки у тебя стоит переменная (параметр). Надо указать значениями чего ты их заполняешь.
17 dva1c
 
20.12.11
06:59
+(16) типа так:

ОбластьМакетаШапка.Параметры.НазваниеОрганизации    = СокрЛП(ОбластьМакетаШапка.Параметры.НазваниеОрганизации);
18 tg30000
 
20.12.11
07:00
Спасибо всем большое, буду пробовать!
19 Морозов Александр
 
20.12.11
07:00
скоко лишних строк в 8ке...
20 dva1c
 
20.12.11
07:02
+(17) Если имя параметра совпадает с именем запроса, то так:

ОбластьМакетаПодвал.Параметры.Заполнить(ВыборкаДляШапки);

где ВыборкаДляШапки - это

ВыборкаДляШапки = СформироватьЗапросДляПечати("ПоРеквизитамДокумента").Выбрать();
21 dva1c
 
20.12.11
07:03
(19) "...лишних строк в..." по сравнению с 7-кой?
22 Mans
 
20.12.11
07:09
угу, толи дело:
Таб.ВывестиСекцию("..."), само и посчитается и выведется
23 dva1c
 
20.12.11
07:16
(22) Все течет, все меняется... )
24 dva1c
 
20.12.11
07:17
+(23) И надо научиться 8-ку "готовить". ;)
25 Морозов Александр
 
20.12.11
07:19
действительно... надо же как то сделать чтоб оно все тормозило на "стремниньких серверках" :-))
26 dva1c
 
20.12.11
07:21
(25) 8-ка это попытка избавиться от "костылей" 7-ки. Чистое ИМХО.