Имя: Пароль:
1C
1С v8
получить ревизит в печатную форму из документа
0 karpos
 
24.11.13
18:56
Всем привет. Вопрос как заполнить параметры макета в управляемом приложений (допустим в макете есть параметр контрагент). Также в документе есть тоже контрагент я сделал печатную форму этого документа.

пишу

ОбластьМакета = Макет.ПолучитьОбласть("ШапкаКонтрагента");
ОбластьМакета.Параметры.Контрагент = СсылкаНаОбъект.Контрагент;
ТабДокумент.Вывести(ОбластьМакета);

в обычном приложений было бы все просто

ОбластьМакета.Параметры.Контрагент = ЭтотОбъект.Контрагент

первый паз столкнулся с управляемой формой
1 karpos
 
24.11.13
18:57
вся функция такая

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

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



    УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, 1, ОбъектыПечати, СсылкаНаОбъект);
    Возврат ТабДокумент;

КонецФункции
2 Wobland
 
24.11.13
19:05
не бзди, табдокумент обычно формируется на сервере
3 Ork
 
24.11.13
19:05
(0) Поскольку заполнение табличного документа принято выполнять на стороне сервера - оно ничем не отличается от обычного приложения.
4 Ork
 
24.11.13
19:06
+ (3) И вообще интересно - что же все-таки не получается?
5 Wobland
 
24.11.13
19:08
6 Ork
 
24.11.13
19:12
(5) ТС че - бот? Он с первого раза не может понять? Или это у него такая развлекуха в свободное время?
7 karpos
 
25.11.13
07:03
я не бот просто сначала я не мог печатную форму вывести, она сейчас выводиться. а вот реквизит заполнить не могу
8 Rovan
 
гуру
25.11.13
08:23
(7) так и не получилось ?
9 karpos
 
25.11.13
11:12
нет не получилось