Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Пустая Внешняя печатная форма при печати

Пустая Внешняя печатная форма при печати
Я
   sitdv
 
12.09.16 - 16:27
Делаю внешнею печатную форму управление торговлей 11.2.2.185, при печати пустой лист не могу понять в чем дело.
Функция ПечатьВнешнейПечатнойФормы(МассивОбъектов,ОбъектыПечати)Экспорт

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


Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
        КоллекцияПечатныхФорм,"Макет",
        "Макет",
        ПечатьВнешнейПечатнойФормы(МассивОбъектов,ОбъектыПечати));

    КонецПроцедуры
 
 
   Cyberhawk
 
1 - 12.09.16 - 16:48
Выборка пустая
   sitdv
 
2 - 12.09.16 - 17:12
то есть в параметры запроса я не передаю объект документ?
   Cyberhawk
 
3 - 12.09.16 - 17:22
(2) Это было мое предположение. На сам запрос не смотрел. Отладчик в помощь.
   sitdv
 
4 - 12.09.16 - 17:40
Да запрос кривой исправил
"ВЫБРАТЬ
                   |    ЗаказКлиента.Номер,
                   |    ЗаказКлиента.Дата КАК ДатаДоговора,
                   |    ЗаказКлиента.Товары.(
                   |        НомерСтроки,
                   |        Номенклатура.Артикул КАК Артикул,
                   |        Номенклатура КАК Товар,
                   |        Количество,
                   |        Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
                   |        Цена,
                   |        Сумма
                   |    ),
                   |    ЗаказКлиента.СуммаДокумента КАК ИтогоКОплате
                   |ИЗ
                   |    Документ.ЗаказКлиента КАК ЗаказКлиента 
                   |Где 
                   |    ЗаказКлиента.Ссылка В(&МассивОбъектов)";
   sitdv
 
5 - 12.09.16 - 17:41
Вопрос как ему передать Ссылку на объект?
   sitdv
 
6 - 12.09.16 - 17:42
Мне непонятна процедура печать откуда берет МассивОбъектов
   hhhh
 
7 - 12.09.16 - 21:54
(6) как откуда? Параметр в нее такой передается.
   sitdv
 
8 - 13.09.16 - 07:43
Поставил точку остановки в общем модуле УправлениеПечатью в функции ВывестиТабличныйДокументВКоллекцию, и понял что моя процедура Печать()в принципе не работает, подскажите в чем может быть дело?
   Mankubus
 
9 - 13.09.16 - 07:51
(8) в твоей обработке есть процедура "СведенияОВнешнейОбработке"?
   sitdv
 
10 - 13.09.16 - 08:37
Функция СведенияОВнешнейОбработке() Экспорт
    
ПараметрыРегистрации = Новый Структура();
ПараметрыРегистрации.Вставить("Вид","ПечатнаяФорма");
//ПараметрыРегистрации.Вставить("Назначение","Документы.ЗаказКлиента");

ПараметрыРегистрации.Вставить("Наименование","ПриложениеКДоговору");
ПараметрыРегистрации.Вставить("Версия","1.0");
ПараметрыРегистрации.Вставить("Информация","ВнешняяОбработкаПриложениеКДоговору");
ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь);
Команды = Получить_Таблицу_Команд();
ПараметрыРегистрации.Вставить("Команды",Команды);
ДобавитьКоманду(Команды,"Приложение К Договору","ВызовСерверногоМетода","ОткрытиеФормы",Ложь,"ПечатьMXL");
Возврат ПараметрыРегистрации;
КонецФункции

Функция Получить_Таблицу_Команд()
    
    Команды = Новый ТаблицаЗначений;
    
    Команды.Колонки.Добавить("Представление");
    Команды.Колонки.Добавить("Идентификатор");
    Команды.Колонки.Добавить("Использование");
    Команды.Колонки.Добавить("ПоказыватьОповещение");
    Команды.Колонки.Добавить("Модификатор");
    Возврат Команды;    

КонецФункции

Процедура ДобавитьКоманду (ТаблицаКоманд,Представление,Идентификатор,Использование,ПоказыватьОповещение = Ложь,Модификатор = "")
    
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
    
КонецПроцедуры
 
 Рекламное место пустует
   _stay true_
 
11 - 13.09.16 - 08:58
Открытие формы, по-моему, здесь лишнее
   sitdv
 
12 - 14.09.16 - 02:16
Вы были правы Открытие формы здесь лишнее

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