Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
emkaa
0 / 0 / 2
Регистрация: 30.09.2013
Сообщений: 81
1

Печать своего отчета из внешней обработки

21.06.2017, 14:01. Просмотров 947. Ответов 1
Метки нет (Все метки)

Добрый день.
Необходимо написать обработку, из которой будет печататься отчет. Делаю первый раз и никак не разберусь как печатать из внешней обработки. Подскажите пожалуйста.
Вот что я делал:

Создал внешнюю обработку. Создал форму, создал макет.
Печать своего отчета из внешней обработки

Печать своего отчета из внешней обработки


В модуле объекта описал функцию "Сведения о внешней обработке"
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Функция СведенияОВнешнейОбработке()  Экспорт
    
    ТЗКоманды = Новый ТаблицаЗначений;
    ТЗКоманды.Колонки.Добавить("Представление");
    ТЗКоманды.Колонки.Добавить("Идентификатор");
    ТЗКоманды.Колонки.Добавить("Использование");
    ТЗКоманды.Колонки.Добавить("ПоказыватьОповещение");
    ТЗКоманды.Колонки.Добавить("Модификатор");
    
    НоваяСтрока = ТЗКоманды.Добавить();
    НоваяСтрока.Представление = "Печать реестров";
    НоваяСтрока.Идентификатор = "Реестры";
    НоваяСтрока.Использование = "ВызовСерверногоМетода";
    НоваяСтрока.ПоказыватьОповещение = Ложь;
    НоваяСтрока.Модификатор = "ПечатьMXL";
    
    ДанныеОбработки = Новый Структура();
    ДанныеОбработки.Вставить("Наименование", "Внешняя обработка печати реестров");
    ДанныеОбработки.Вставить("Информация", "Исполнитель: *****");
    ДанныеОбработки.Вставить("Вид", "ДополнительнаяОбработка");
    ДанныеОбработки.Вставить("Версия","1.0");
    ДанныеОбработки.Вставить("БезопасныйРежим",Ложь);
    ДанныеОбработки.Вставить("Команды", ТЗКоманды);
    
    Возврат ДанныеОбработки;
    
    
КонецФункции
В модуле объекта получаю данные для печати из запроса

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Процедура ПолучитьДанныеНаСервере()
    Запрос = Новый Запрос;
    
    Запрос.УстановитьПараметр("ДатаС",ДатаС);
    Запрос.УстановитьПараметр("ДатаПО",ДатаПО);
    Запрос.УстановитьПараметр("ПустаяСтр","");
    Запрос.УстановитьПараметр("КассаОРГ","Касса организации");
    Запрос.УстановитьПараметр("БезДОГ","без договора");
    
    Запрос.Текст = "ТЕКСТ ЗАПРОСА";
 
        ОбщаяВыборка = Запрос.Выполнить().Выгрузить();  
 
    
    
КонецПроцедуры
Дальше по идее надо печатать

1C
1
2
3
4
5
6
7
8
9
10
11
Функция Печать()   Экспорт
        
        ПолучитьДанныеНаСервере();
    ТабДок = Новый ТабличныйДокумент;
    
    Макет = ПолучитьМакет("РеестрЗаявок");
    ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
    ОбластьДанные = Макет.ПолучитьОбласть("Данные");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    
    ОбластьШапки.Параметры.НомерРеестра = ВерсияРеестра;
Подскажите что писать дальше?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2017, 14:01
Ответы с готовыми решениями:

Выполнение внешней обработки
Была выгружена обработка с ЗУП 2,5, подогнали все данные под ЗУП 3.1, загрузили в "дополнительные...

Открытие внешней обработки
Доброго времени суток. Я понимаю, что этот вопрос мог тут уже всех задолбать. К сожалению, понять...

ПолучитьФорму внешней обработки
Есть внешняя обработка("Форма"),в ней форма-"Форма".Подключенная через внешние формы и...

Создание внешней обработки 2.0
В документе Отчет о розничных продажах на основании уже вбитой номенклатуры по обработке заполнить...

Создание счёта из внешней обработки
Добрый день. Пишу внешнюю обработку для 1С 8.1:Предприятие. В ходе этой обработки мне нужно...

1
sigmov
579 / 366 / 63
Регистрация: 22.07.2009
Сообщений: 875
Записей в блоге: 4
Завершенные тесты: 2
21.06.2017, 17:21 2
На подобии такого:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    Шапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТабличнаяЧасть1Шапка = Макет.ПолучитьОбласть("ТабличнаяЧасть1Шапка");
    ОбластьТабличнаяЧасть1 = Макет.ПолучитьОбласть("ТабличнаяЧасть1");
    Подвал = Макет.ПолучитьОбласть("Подвал");
 
    ТабДок.Очистить();
 
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
        Если ВставлятьРазделительСтраниц Тогда
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
 
        ТабДок.Вывести(ОбластьЗаголовок);
 
        Шапка.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Шапка, Выборка.Уровень());
 
        ТабДок.Вывести(ОбластьТабличнаяЧасть1Шапка);
        ВыборкаТабличнаяЧасть1 = Выборка.ТабличнаяЧасть1.Выбрать();
        Пока ВыборкаТабличнаяЧасть1.Следующий() Цикл
            ОбластьТабличнаяЧасть1.Параметры.Заполнить(ВыборкаТабличнаяЧасть1);
            ТабДок.Вывести(ОбластьТабличнаяЧасть1, ВыборкаТабличнаяЧасть1.Уровень());
        КонецЦикла;
 
        Подвал.Параметры.Заполнить(Выборка);
        ТабДок.Вывести(Подвал);
 
        ВставлятьРазделительСтраниц = Истина;
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2017, 17:21

8.1 Пароль на модель внешней обработки
Всем доброго времени суток! Такая проблема... Была УТ-шка старая и бородатая. Я ее обновил до...

Разработка внешней обработки ЗаявкаКассовыйРасход
Подскажите как узнать "программное имя" поля: При работе с приложенной внешней обработкой можно...

Создание внешней обработки документа
Добрый день! Мне необходимо создать документ КС-2 в 1С:Бухгалтерия 8.2. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.