Форма печати

Форма печати

Сообщение Rustam » Ср окт 03, 2012 12:35 pm

Добрый день!

Подскажите, пожалуйста, реально ли реализовать следующую логику:
Создать новый вид договора, к которому будут привязаны заявки (один ко многим), чтобы они отображались списком в форме редактирования договора, и создать форму печати по конкретной заявке, а не по всему договору.



На данный момент логику "договор-заявка" я реализовал через DpDocRow (подсмотрел в com.debet.dogovor), и работа в интерфейсе с объектами функционирует. Папка printforms находится в одной папке с договором, и как оттуда обратиться к конкретной заявке я не знаю.
Или единственный выход - сделать заявку отдельным документом?
Вложения
Договор.JPG
Договор.JPG (38.05 Кб) Просмотров: 14112
Аватара пользователя
Rustam
Активист
Активист
 
Сообщения: 23
Зарегистрирован: Ср сен 12, 2012 7:24 am

Re: Форма печати

Сообщение Evgeniy » Ср окт 03, 2012 3:00 pm

Такую печать можно реализовать в контекстном меню для заявок.
Для печати используется объект DpTVars:

include("Objects/DpTVars.js");
var tv = new DpTVars("ZAYAVKA");
//"ZAYAVKA" - метка шаблона для печати заявок. Она же папка в каталоге DebetPlusV12/JDebet/userData/userForms.
var tbl = OpenTable("select * from "+ tblName +" where fwid="+ grid.getTable().getValue("FWID"));
tv.setRTbl(tbl);
tv.print();
tbl.close();

Примеры такой реализации можно посмотреть в скриптах:
l_docekz.js - список документов
r_rnalv.js - Реест выданных налоговых накладных
l_provav.js - Журнал регистрации проводок
l_print.js - Потоковая печать

По формам печати есть документация: http://www.debet.kiev.ua/print
Аватара пользователя
Evgeniy
Программист
 
Сообщения: 50
Зарегистрирован: Пн сен 03, 2007 1:50 pm
Откуда: Козирацкий Евгений

Re: Форма печати

Сообщение Rustam » Чт окт 04, 2012 8:28 am

Спасибо большое, Евгений!
Посмотрел, получилось.
Аватара пользователя
Rustam
Активист
Активист
 
Сообщения: 23
Зарегистрирован: Ср сен 12, 2012 7:24 am

Re: Форма печати

Сообщение Rustam » Пт окт 05, 2012 8:09 am

Здравствуйте!
Подскажите, пожалуйста, как можно реализовать следующую форму печати?
У меня будет таблица, левая часть которой - статичный текст, а правая - таблица, которая заполняется из результатов запроса, причем текст слева должен быть растянутым по всем строкам в правой части.
Насколько я понял, в .jrxml этого не получится сделать, потому что зона details, куда нужно поместить результаты запроса, в ширину занимает всю страницу. Соответственно, статичный текст в левой части будет дублироваться для каждой записи. Мне же надо, чтобы для всех записей был один текст.
Пробовал сделать это в xls, но и там проставить *+ и *- для вывода таблицы можно только для всей строки, т.е. создать таблицу шириной в половину страницы у меня не получится.
Вложения
приложение.JPG
приложение.JPG (25.57 Кб) Просмотров: 14081
Аватара пользователя
Rustam
Активист
Активист
 
Сообщения: 23
Зарегистрирован: Ср сен 12, 2012 7:24 am

Re: Форма печати

Сообщение Татьяна » Пн окт 08, 2012 2:56 pm

Одним из основных правил при создании форм печати в формате *.xls есть то, что признак строки *+/*- обязательно должен стоять в первой колонке "А".

То есть, в вашем случаи нужно поменять местами правую и левую части формы (сначала строки потом подпись бухгалтера).

Если вы объединяете ячейки напротив строк, то, естественно, значение этих ячеек будет отображаться напротив каждой строки, как у вас получилось в JReport. И так делать некорректно, поскольку строк может быть очень много и где отображать эту вашу надпись не понятно :shock:

Можно сделать чтоб значение выводилось сбоку от строк начиная от последней строки:
начинайте объединять ячейки от строки *- (включая эту строку), тогда при печати, объединенные ячейки будут печататься от последней строки
Аватара пользователя
Татьяна
Консультант
 
Сообщения: 808
Зарегистрирован: Пн дек 01, 2008 5:04 pm

Re: Форма печати

Сообщение vlad » Ср окт 10, 2012 5:26 pm

Если у Вас последняя версия "Дебета", то в "экселевской" печати можно использовать объединение ячеек. В Вашем случае надо настроить так, как показано в примере:
Merge.jpg
Merge.jpg (31.63 Кб) Просмотров: 13993

1) Над первой строкой шапки таблицы обязательно добавить строку, в которой в 1-й колонке написать:
*=

2) Для ячейки, которая должна быть объединенной, добавить примечание, в котором написать:
MERGE;

3) В ячейке написать такое значение:
*"Главный бухгалтер ГУ ___________________\n ____________ ___________________________\n (Подпись) (Инициал имени и фамилия)"
Аватара пользователя
vlad
Эксперт
Эксперт
 
Сообщения: 111
Зарегистрирован: Вт мар 06, 2007 5:54 pm
Откуда: Черкассы

Re: Форма печати

Сообщение Rustam » Вс окт 14, 2012 10:34 am

Добрый день!
Татьяна, Влад, спасибо большое за помощь. Я решил немного отложить редактирование форм печати, поэтому отвечаю Вам только сейчас.
Татьяна,
К сожалению, формы печати изменить не получится - это утвержденный вариант и работать мне придется с ним.
И так делать некорректно, поскольку строк может быть очень много и где отображать эту вашу надпись не понятно

Насколько я понимаю, если строк будет очень много, то поле для этой надписи придется растянуть по количеству строк.
Можно сделать чтоб значение выводилось сбоку от строк начиная от последней строки:
начинайте объединять ячейки от строки *- (включая эту строку), тогда при печати, объединенные ячейки будут печататься от последней стро

Посмотрю, что получится, и, если все будет, так как это понял я, попробую согласовать с заказчиками.
Влад,
Я сейчас работаю не с последней версией, но через какое-то время поставлю ее, чтобы протестировать Ваш вариант.
Можете подсказать, откуда Вы узнаете подобные возможности? Если есть, какая-то документация, то я бы с радостью прочел, не занимая Ваше время.

Еще раз спасибо!
Аватара пользователя
Rustam
Активист
Активист
 
Сообщения: 23
Зарегистрирован: Ср сен 12, 2012 7:24 am

Re: Форма печати

Сообщение vlad » Вт окт 16, 2012 5:59 pm

Мы диллеры. Поэтому очень плотно работаем с разработчиками. А возможность печати объединенных ячеек добавляли сами совсем недавно. Пока есть проблемы при использовании нескольких "описателей строк" с условиями, поэтому в документации эта возможность еще не освещена.
Чтобы не ставить новую версию, можно попробовать взять только папку JDebet\scripts\office из новой версии. Не забудьте перед этим сделать резервную копию!
Аватара пользователя
vlad
Эксперт
Эксперт
 
Сообщения: 111
Зарегистрирован: Вт мар 06, 2007 5:54 pm
Откуда: Черкассы


Вернуться в Вопросы по разработке в системе

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2