Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 11:29

Создание внешней печатной формы

Автор gliokker, 16 сен 2013, 15:28

0 Пользователей и 1 гость просматривают эту тему.

gliokker

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

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

пишет недостаточно фактических параметров.Подскажите что делаю не так?

mixqn

где параметров то недостаточно? в какой строке?

gliokker

Цитата: mixqn от 16 сен 2013, 15:35
где параметров то недостаточно? в какой строке?
не пишет в какой строке
Не удалось сформировать внешнюю печатную форму!
Недостаточно фактических параметров
вот сообщение выдаёт и всё

LordWizard

А как ты из формы передаешь ссылку на объект? :xfbnsdfb:
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Новенькая

ОбластьМакета.Параметры.Заполнить();
убери эту строчку
Добавлено: 16 сен 2013, 16:09


Надо указывать чем заполнять, к примеру:
ОбластьМакета.Параметры.Заполнить(Шапка);....но ты уже явно присваиваешь значения параметрам, следовательно эта строчка не нужна

gliokker

Цитата: Новенькая от 16 сен 2013, 16:07
ОбластьМакета.Параметры.Заполнить();
убери эту строчку
Точно))))

Новенькая

Т.е ЛИБО
ОбластьМакета.Параметры.Номер = Шапка.Номер;
ОбластьМакета.Параметры.Дата = Шапка.Дата;
ЛИБО
ОбластьМакета.Параметры.Заполнить(Шапка);

gliokker

Цитата: Новенькая от 16 сен 2013, 16:07
ОбластьМакета.Параметры.Заполнить();
убери эту строчку
Добавлено: 16 сен 2013, 16:09


Надо указывать чем заполнять, к примеру:
ОбластьМакета.Параметры.Заполнить(Шапка);....но ты уже явно присваиваешь значения параметрам, следовательно эта строчка не нужна
Ещё вопросик.Это мы вывели Одну область,для вывода других областей нужно заново делать запрос либо можно в этот добавить параметры и использовать
и как правельно будет
ТабДокумент = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Макет");
   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   ОбластьМакета.Параметры.Номер = Выборка.Номер;
   ОбластьМакета.Параметры.Дата = Выборка.Дата;
Здесь вторую область описывать? ну скажем
        ОбластьМакета = Макет.ПолучитьОбласть("Сотрудник");
        и т.д.
       
   ТабДокумент.Вывести(ОбластьМакета);
Или же после вывода новую область делать и потом её выводить?

Новенькая

Не надо никаких других запросов, получай все в одном...
Области все равно в принципе где ты будешь получать.Ну как правило их описывают сразу вначале подряд.
Макет = ПолучитьМакет("Макет");
ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакетаСотрудник = Макет.ПолучитьОбласть("Сотрудник");
ОбластьМакетаЕщеКакаяТоОбласть = Макет.ПолучитьОбласть("ЕщеКакаяТоОбласть");
.....
Потом заполняешь параметры соот-но:
ОбластьМакетаЗаголовок .Параметры.Заполнить(...
ОбластьМакетаСотрудник .Параметры.Заполнить(...
Ну и выводишь в нужной последовательности:
ТабДокумент.Вывести(ОбластьМакетаЗаголовок );
ТабДокумент.Вывести(ОбластьМакетаСотрудник );

LordWizard

ты можешь загнать в запрос всю форму, но допустим табличную часть дока иного типа желательно по отдельному запросику, ну уж когда во всю разойдешься Конструктором - тогда все в одном запросе с использованием функций и соединений.
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск