Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

ПечатнаяФорма

ПечатнаяФорма
Я
   Dmitriy1C_Rookie
 
02.06.21 - 21:28
Есть документ ЗаявкаНаТранспорт. Нем есть реквизит НомерЗаказа, который ссылкается на документ с заказом
хочу сделать печатную форму
&НаСервере
Функция ТоварнаяНакладнаяНаСервере(Ссылка)
    
    ТабличныйДокумент = Новый ТабличныйДокумент;
    Макет = Документы.ЗаявкаНаТранспорт.ПолучитьМакет("Макет");
    
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаявкаНаТранспорт.Номер КАК Номер,
        |    ЗаявкаНаТранспорт.Дата КАК Дата,
        |    ЗаявкаНаТранспорт.Покупатель КАК Покупатель,
        |    ЗаявкаНаТранспорт.Покупатель.Телефон КАК Телефон,
        |    ЗаявкаНаТранспорт.Покупатель.Адрес КАК Адрес,
        |    ЗаявкаНаТранспорт.НомерЗаказа.Заказ.(
        |        НомерСтроки КАК НомерСтроки,
        |        Товар КАК Товар,
        |        Цена КАК Цена,
        |        Количество КАК Количество,
        |        Сумма КАК Сумма
        |    ) КАК НомерЗаказа,
        |    ЗаявкаНаТранспорт.НомерЗаказа.Итог КАК Итог
        |ИЗ
        |    Документ.ЗаявкаНаТранспорт КАК ЗаявкаНаТранспорт";
    
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    
    ОбластьШапка.Параметры.Номер = Выборка.Номер;
    ОбластьШапка.Параметры.Дата = Выборка.Дата;
    ОбластьШапка.Параметры.Покупатель = Выборка.Покупатель;
    ОбластьШапка.Параметры.Телефон = Выборка.Телефон;
    ОбластьШапка.Параметры.Адрес = Выборка.Адрес;
    ТабличныйДокумент.Вывести(ОбластьШапка);
    
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
    
    ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
    
    Пока Выборка.Следующий() Цикл
        
        ОбластьТаблица.Параметры.НомерСтроки = Выборка.НомерСтроки;
        ОбластьТаблица.Параметры.Товар =  Выборка.Товар;
        ОбластьТаблица.Параметры.Цена = Выборка.Цена;
        ОбластьТаблица.Параметры.Количество = Выборка.Количество;
        ОбластьТаблица.Параметры.Сумма = Выборка.Сумма;
        ТабличныйДокумент.Вывести(ОбластьТаблица);
        
    КонецЦикла;
    
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьПодвал.Параметры.Итог = Выборка.Итог;
    ТабличныйДокумент.Вывести(ОбластьПодвал);
    
    Возврат ТабличныйДокумент;
    
КонецФункции

&НаКлиенте
Процедура ТоварнаяНакладная(Команда)
    ТаблДок = ТоварнаяНакладнаяНаСервере(Объект.Ссылка);
    ТаблДок.Показать("ЗаявкаНаТранспорт");
КонецПроцедуры
 
 Партнерская программа EFSOL Oblako
   vicof
 
1 - 02.06.21 - 21:59
Делай, разрешаю
   Chameleon1980
 
2 - 03.06.21 - 05:09
ммм. чтож. не возражаю.
   Иванович Михаил
 
3 - 03.06.21 - 05:12
Можно.
   Mankubus
 
4 - 03.06.21 - 06:42
1. не хватает условия в запросе. По всем документам выбираешь данные, а нужно только по тому который печатаем
2.
Выборка = Запрос.Выполнить().Выбрать();
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Номер = Выборка.Номер;

перед тем как использовать поля выборки нужно сделать Выборка.Следующий()
3. заполнение строк таблицы сделано не правильно. там будет еще одна выборка, а не та же самая что и для шапки
посмотри как сделано в типовых печатных формах.
   Масянька
 
5 - 03.06.21 - 08:32
+(4) Если вилы читать книжки, или хотя СП, смотри в типовых. Там много чего есть.
   ДенисЧ
 
6 - 03.06.21 - 08:34
(5) Ой... От кого я это вижу? )))
   Масянька
 
7 - 03.06.21 - 09:09
(6) От меня.
Я и книжки читаю (в данный момент "Сердце хирурга"), и в СП заглядываю, и из типовых код дергаю. Там много чего есть...
А что?

Список тем форума
 
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.