SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Нумерация страниц в PDF формуляре



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
peleken
Специалист
Специалист



Joined: 17 Jan 2011
Posts: 61

PostPosted: Mon Dec 24, 2012 3:16 pm    Post subject: Нумерация страниц в PDF формуляре Reply with quote

Здравствуйте, уважаемые гуру.
Возник вопрос по PDF формуляру в ракурсе постраничной нумерации. Сразу скажу в java скриптинге не селен.
Есть определенная задача которая выполняется, в том числе при помощи скрипта, который описан ниже.
Скрипт разделяет страницы по определенному производителю и нумерует страницы. Например: Есть пара производителей JCB и CATERPILLAR. К примеру пришло время заказывать товар у этих производителей и при помощи программы мы получаем заявки на закупку в одном формуляре. Заявки отсортированы по производителю. У CATERPILLAR вылезло 5 листов с нумерацией: стр.1, 2, 3, 4, 5. Следом в этом формуляре выходят, например, 2 листа для JCB с нумерацией: 1, 2.... и в конце вылетает пустая страница с footerom. Как избавиться от этой пустой страницы?

И второе. Если есть два производителя и создаются заявки всего на двух листах, то нумерация происходит так: стр. 1 (первая заявка), стр. 2 (вторая заявка) и пустой лист. А должно быть: стр. 1 (первая заявка), стр. 1 (вторая заявка), и без пустого листа.



Code:
 data.#pageSet[0].Page1.TextField1::initialize - (FormCalc, client)
var pgi = 0;
var ii = 0;
var manuf;
var manuf_save;


 data.#pageSet[0].Page1.TextField1::ready:layout - (FormCalc, client)
;текущая страница
var pg = xfa.layout.page( ref($) )
;всего страниц
var pgc = $layout.pageCount()
   pgi = pgi + 1;
$.rawValue = Concat ("Page / Стр. ", pgi );

; Чтобы не перейти на несуществующую запись
if (pg == pgc - 1) then;
   ii = ii - 1;
endif;
; текущий производитель
manuf = $record.MAIN_TAB.DATA[ii].HEADER.MANUF;
if ( manuf ne manuf_save ) then;
   pgi = 0
    manuf_save = manuf;
    ii = ii + 1;
else;
   pgi = 1;
endif;

   pgi = pgi + 1;
$.rawValue = Concat ("Page / Стр. ", pgi );
Back to top
View user's profile Send private message
Nick_Papkov
Участник
Участник


Age: 46
Joined: 22 Aug 2013
Posts: 27
Location: г. Жлобин, Республика Беларусь

PostPosted: Fri Sep 27, 2013 12:10 am    Post subject: Re: Нумерация страниц в PDF формуляре Reply with quote

peleken wrote:
Здравствуйте, уважаемые гуру.
Возник вопрос по PDF формуляру в ракурсе постраничной нумерации. Сразу скажу в java скриптинге не селен.
Есть определенная задача которая выполняется, в том числе при помощи скрипта, который описан ниже.
Скрипт разделяет страницы по определенному производителю и нумерует страницы. Например: Есть пара производителей JCB и CATERPILLAR. К примеру пришло время заказывать товар у этих производителей и при помощи программы мы получаем заявки на закупку в одном формуляре. Заявки отсортированы по производителю. У CATERPILLAR вылезло 5 листов с нумерацией: стр.1, 2, 3, 4, 5. Следом в этом формуляре выходят, например, 2 листа для JCB с нумерацией: 1, 2.... и в конце вылетает пустая страница с footerom. Как избавиться от этой пустой страницы?

И второе. Если есть два производителя и создаются заявки всего на двух листах, то нумерация происходит так: стр. 1 (первая заявка), стр. 2 (вторая заявка) и пустой лист. А должно быть: стр. 1 (первая заявка), стр. 1 (вторая заявка), и без пустого листа.


Если программа печати z, то вариант решения с правильной нумерацией страниц может быть такой - перейти от печати всех заявок в рамках одного формуляра на печать каждой заявки на отдельном формуляре в рамках программы печати. А формуляр вызывать в цикле, давая каждый раз на вход данные только одной заявки.
Насчет пустого листа выскажу предположение, что в конце области печати стоит принудительный переход на следующую страницу. Если да, то после перехода на выше описанный вариант уберите этот переход.

_________________
Когда другие слепо следуют за истиной, помни - ничто не истина.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.