Страница 1 из 1

Форма печати

СообщениеДобавлено: Ср окт 03, 2012 12:35 pm
Rustam
Добрый день!

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



На данный момент логику "договор-заявка" я реализовал через DpDocRow (подсмотрел в com.debet.dogovor), и работа в интерфейсе с объектами функционирует. Папка printforms находится в одной папке с договором, и как оттуда обратиться к конкретной заявке я не знаю.
Или единственный выход - сделать заявку отдельным документом?

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

СообщениеДобавлено: Ср окт 03, 2012 3:00 pm
Evgeniy
Такую печать можно реализовать в контекстном меню для заявок.
Для печати используется объект 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

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

СообщениеДобавлено: Чт окт 04, 2012 8:28 am
Rustam
Спасибо большое, Евгений!
Посмотрел, получилось.

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

СообщениеДобавлено: Пт окт 05, 2012 8:09 am
Rustam
Здравствуйте!
Подскажите, пожалуйста, как можно реализовать следующую форму печати?
У меня будет таблица, левая часть которой - статичный текст, а правая - таблица, которая заполняется из результатов запроса, причем текст слева должен быть растянутым по всем строкам в правой части.
Насколько я понял, в .jrxml этого не получится сделать, потому что зона details, куда нужно поместить результаты запроса, в ширину занимает всю страницу. Соответственно, статичный текст в левой части будет дублироваться для каждой записи. Мне же надо, чтобы для всех записей был один текст.
Пробовал сделать это в xls, но и там проставить *+ и *- для вывода таблицы можно только для всей строки, т.е. создать таблицу шириной в половину страницы у меня не получится.

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

СообщениеДобавлено: Пн окт 08, 2012 2:56 pm
Татьяна
Одним из основных правил при создании форм печати в формате *.xls есть то, что признак строки *+/*- обязательно должен стоять в первой колонке "А".

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

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

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

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

СообщениеДобавлено: Ср окт 10, 2012 5:26 pm
vlad
Если у Вас последняя версия "Дебета", то в "экселевской" печати можно использовать объединение ячеек. В Вашем случае надо настроить так, как показано в примере:
Merge.jpg
Merge.jpg (31.63 Кб) Просмотров: 9901

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

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

3) В ячейке написать такое значение:
*"Главный бухгалтер ГУ ___________________\n ____________ ___________________________\n (Подпись) (Инициал имени и фамилия)"

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

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

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

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

Еще раз спасибо!

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

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