Имя: Пароль:
1C
1С v8
Почему в макете таблицы не заполняются параметры
0 sidalexsandr
 
26.10.12
17:40
Вот текст
Процедура РаспечататьВсеТЗ(Элемент)
   //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать1)
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   Для Каждого ТекСтрокаТовары Из Товары Цикл
       ТабДок = Новый ТабличныйДокумент;
       Макет = Документы.ПаспортЗаказа.ПолучитьМакет("Печать12");
       ОбластьТовары = Макет.ПолучитьОбласть("Товары");
       Сообщить("ТехЗадание.ПаспортЗаказа.Номер = "+ТекСтрокаТовары.ТехЗадание.ПаспортЗаказа);
       //--------------------------------------------------------------
       ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары.ТехЗадание);
       ТабДок.Вывести(ОбластьТовары);
       //-----------------------------------------------------
       ТабДок.ОтображатьСетку = Ложь;
       ТабДок.Защита = Ложь;
       ТабДок.ТолькоПросмотр = Ложь;
       ТабДок.ОтображатьЗаголовки = Ложь;
       ТабДок.Показать();
       
   КонецЦикла;
   //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

КонецПроцедуры
1 sidalexsandr
 
26.10.12
17:42
В макете таблицы: Не выводяться следующие параметры:
ТехЗадание.ПаспортЗаказа.Номер
ТехЗадание.НомПеч
2 sidalexsandr
 
26.10.12
17:45
Про таблицу подробней.

Процедура написанна в документе ПаспортЗаказа имеющего реквизиты:
1) ТехЗадание - тип документ тех задание
(ПаспортЗаказа - это реквизит типа документ ПаспортЗаказа )
2)  ......
3 Wobland
 
26.10.12
17:47
НомПеч - поубивал бы за такое именование ;)
отладчиком смотрел на своё ТекСтрокаТовары.ТехЗадание? имена полей свопадают с именами параметров?
4 Reset
 
26.10.12
17:47
ТехЗадание ссылка я так понимаю
5 sidalexsandr
 
26.10.12
17:47
Попробовал найти документ и Техническое задание и передать его, снова параметр в макете таблицы не заполняется. Вот текст:
Процедура РаспечататьВсеТЗ(Элемент)
   //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать1)
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   ПараметрыПечати = Новый Структура;
   Для Каждого ТекСтрокаТовары Из Товары Цикл
       ТабДок = Новый ТабличныйДокумент;
       Макет = Документы.ПаспортЗаказа.ПолучитьМакет("Печать12");
       ОбластьТовары = Макет.ПолучитьОбласть("Товары");
       Сообщить("ТехЗадание.ПаспортЗаказа.Номер = "+ТекСтрокаТовары.ТехЗадание.ПаспортЗаказа);
       //--------------------------------------------------------------
       
       ПараметрыПечати.Очистить();
       
       
       ТехЗд = Документы.ТехническоеЗадание.Выбрать();
       Пока ТехЗд.Следующий() Цикл
           Если (ТехЗд.Номер = ТехЗд.Номер) И (ТехЗд.Дата = ТехЗд.Дата) Тогда
               ОтчетТехЗд = ТехЗд.ПолучитьОбъект();            
           КонецЕсли;        
       КонецЦикла;
               ОбластьТовары.Параметры.Заполнить(ОтчетТехЗд);
       ТабДок.Вывести(ОбластьТовары);
       //-----------------------------------------------------
       ТабДок.ОтображатьСетку = Ложь;
       ТабДок.Защита = Ложь;
       ТабДок.ТолькоПросмотр = Ложь;
       ТабДок.ОтображатьЗаголовки = Ложь;
       ТабДок.Показать();
       
   КонецЦикла;

       //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

КонецПроцедуры


Вопрос: Подскажите как передать макету параметр ТехЗадание?
6 Reset
 
26.10.12
17:47
хочет чтоб Заполнить из ссылки вытащило
7 sidalexsandr
 
26.10.12
17:48
(4) Да, реквизит типа Ссылка на документ ТехническоеЗадание
8 sidalexsandr
 
26.10.12
17:49
(6) Можно так
9 sidalexsandr
 
26.10.12
17:50
(6) Хотя пробовал передать сам объект: ОтчетТехЗд = ТехЗд.ПолучитьОбъект();

Тоже не выводиться
10 acsent
 
26.10.12
17:50
ты таблицу сам рисовал или конструктором?
11 sidalexsandr
 
26.10.12
17:51
Конструктором
12 Reset
 
26.10.12
17:53
Замечательно просто :)
       ТехЗд = Документы.ТехническоеЗадание.Выбрать();
       Пока ТехЗд.Следующий() Цикл
           Если (ТехЗд.Номер = ТехЗд.Номер) И (ТехЗд.Дата = ТехЗд.Дата) Тогда
               ОтчетТехЗд = ТехЗд.ПолучитьОбъект();            
           КонецЕсли;        
       КонецЦикла;
13 Reset
 
26.10.12
17:58
Замени на

ОтчетТехЗд = ТекСтрокаТовары.ТехЗадание.ПолучитьОбъект();
ОбластьТовары.Параметры.Заполнить(ОтчетТехЗд);

А не работает изза (3) - несовпадение имен
14 Reset
 
26.10.12
18:02
еще одна критическая ошибка -
создание и вывод ТабДока вынести за пределы цикла
15 Reset
 
26.10.12
18:02
и может, заработает.
Хотя какаха еще та.
16 Reset
 
26.10.12
18:06
а, или я не так понял - все отдельно типа распечатать... тогда оставить внутри.

Автор свалил.
Ну и ладно
17 sidalexsandr
 
29.10.12
09:46
(16) Спасибо большое.
18 sidalexsandr
 
29.10.12
09:48
(16) В цикле специально, чтобы выводилось по каждой строчки в выодилась отдельная талица отчета.
19 cw014
 
29.10.12
09:48
(12) Я плакал