Имя: Пароль:
1C
1С v8
Заполнить Макет документа данными из Табличной Части документа-основания
0 corbeau
 
06.08.12
15:35
Есть документ ЗаявкаНаТранспорт и у него есть макет, который заполняю реквизитами из этого же документа. У док-та Заявка на транспорт есть документ-основание ПродажаТовара с Табличной Частью. Необходимо заполнить Макет из табличной части ПродажаТовара.Товары. Вот код, который у меня уже есть:


Процедура Печать(ТаблДокумент, Ссылка) Экспорт
   Макет = Документы.ЗаявкаНаТранспорт.ПолучитьМакет("ЗаявкаНаТранспорт");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ЗаявкаНаТранспорт.Номер,
   |    ЗаявкаНаТранспорт.Клиент,
   |    ЗаявкаНаТранспорт.Адрес,
   |    ЗаявкаНаТранспорт.Телефон,
   |    ЗаявкаНаТранспорт.Ссылка
   |ИЗ
   |    Документ.ЗаявкаНаТранспорт КАК ЗаявкаНаТранспорт
   |ГДЕ
   |    ЗаявкаНаТранспорт.Ссылка В (&Ссылка)";
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();
   
   ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
   ОбластьТело = Макет.ПолучитьОбласть("Тело");
   ТаблДокумент.Очистить();
   
   Пока Выборка.Следующий() Цикл
       ОбластьШапка.Параметры.Заполнить(Выборка);
       ОбластьТело.Параметры.Заполнить(Выборка);
       
       ТаблДокумент.Вывести(ОбластьШапка);
       ТаблДокумент.Вывести(ОбластьТело);
       
   КонецЦикла;
КонецПроцедуры
1 Нуф-Нуф
 
06.08.12
15:37
поздравляю
2 DrShad
 
06.08.12
15:37
а проблема в чем?
(1) +1
3 corbeau
 
06.08.12
15:38
Как можно заполнить макет из табличной части другого документа?
4 aleks-id
 
06.08.12
15:39
посмотреть как заполняется макет в счете-фактуре в типовой УТ
5 corbeau
 
06.08.12
15:39
у меня уже есть ссылка в запросе на документ, но там не используется табличная часть
6 Hostess_
of_Love
 
06.08.12
15:40
(5)о_О да ладно?
7 corbeau
 
06.08.12
15:40
4 спасибо
8 Hostess_
of_Love
 
06.08.12
15:42
(4)взял и все обломал(
9 corbeau
 
07.08.12
12:25
Может кто поможет разобраться? Есть Запрос:

ЗапросТело.Текст =
   "
   |ВЫБРАТЬ
   |    ПродажаТовараТовары.Количество КАК Количество,
   |    ПродажаТовараТовары.Товар КАК Товар
   |ИЗ
   |    Документ.ПродажаТовара.Товары КАК ПродажаТовараТовары";
   ВыборкаТело = ЗапросТело.Выполнить().Выбрать();


Он выбирает данные из всех записей документа ПродажаТовара, а нужно только из той, на основании которой была сформирована ЗаявкаНаТранспорт, в Модуле Менеджера которой и находится запрос.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн