You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ap...@apache.org on 2009/11/13 03:16:54 UTC
svn commit: r835709 - in /ofbiz/trunk/applications/accounting: config/
webapp/accounting/WEB-INF/ webapp/accounting/WEB-INF/actions/invoice/
webapp/accounting/invoice/ webapp/ap/invoices/ widget/
Author: apatel
Date: Fri Nov 13 02:16:54 2009
New Revision: 835709
URL: http://svn.apache.org/viewvc?rev=835709&view=rev
Log:
Bulk print Invoices.
Added:
ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy
ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl (with props)
Modified:
ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl
ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml
Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml?rev=835709&r1=835708&r2=835709&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.xml Fri Nov 13 02:16:54 2009
@@ -7949,6 +7949,9 @@
<value xml:lang="en">Print Deposit Slip</value>
<value xml:lang="hi_IN">à¤à¤®à¤¾ परà¥à¤à¥ पà¥à¤°à¤¿à¤à¤ à¤à¤°à¥</value>
</property>
+ <property key="AccountingPrintInvoices">
+ <value xml:lang="en">Print Invoices</value>
+ </property>
<property key="AccountingProblemChangingInvoiceStatusTo">
<value xml:lang="ar">Ù
Ø´Ù٠عÙد تغÙÙر ÙضعÙØ© اÙÙاتÙرة Ø¥ÙÙ ${newStatus}</value>
<value xml:lang="de">Problem bei der Ãnderung des Rechnungsstatus auf ${newStatus}</value>
Added: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy?rev=835709&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy Fri Nov 13 02:16:54 2009
@@ -0,0 +1,132 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.text.DateFormat;
+import org.ofbiz.accounting.invoice.InvoiceWorker;
+import org.ofbiz.base.util.UtilNumber;
+import org.ofbiz.entity.condition.EntityCondition;
+
+invoiceDetailList = [];
+invoiceIds.each { invoiceId ->
+ invoicesMap = [:];
+ invoice = delegator.findOne("Invoice", [invoiceId : invoiceId], false);
+ invoicesMap.invoice = invoice;
+
+ currency = parameters.currency; // allow the display of the invoice in the original currency, the default is to display the invoice in the default currency
+ BigDecimal conversionRate = new BigDecimal("1");
+ ZERO = BigDecimal.ZERO;
+ decimals = UtilNumber.getBigDecimalScale("invoice.decimals");
+ rounding = UtilNumber.getBigDecimalRoundingMode("invoice.rounding");
+
+ if (invoice) {
+ if (currency && !invoice.getString("currencyUomId").equals(currency)) {
+ conversionRate = InvoiceWorker.getInvoiceCurrencyConversionRate(invoice);
+ invoice.currencyUomId = currency;
+ invoice.invoiceMessage = " converted from original with a rate of: " + conversionRate.setScale(8, rounding);
+ }
+
+ invoiceItems = invoice.getRelatedOrderBy("InvoiceItem", ["invoiceItemSeqId"]);
+ invoiceItemsConv = [];
+ invoiceItems.each { invoiceItem ->
+ if (invoiceItem.amount) {
+ invoiceItem.amount = invoiceItem.getBigDecimal("amount").multiply(conversionRate).setScale(decimals, rounding);
+ invoiceItemsConv.add(invoiceItem);
+ }
+ }
+
+ invoicesMap.invoiceItems = invoiceItemsConv;
+
+ invoiceTotal = InvoiceWorker.getInvoiceTotal(invoice).multiply(conversionRate).setScale(decimals, rounding);
+ invoiceNoTaxTotal = InvoiceWorker.getInvoiceNoTaxTotal(invoice).multiply(conversionRate).setScale(decimals, rounding);
+ invoicesMap.invoiceTotal = invoiceTotal;
+ invoicesMap.invoiceNoTaxTotal = invoiceNoTaxTotal;
+
+ if ("PURCHASE_INVOICE".equals(invoice.invoiceTypeId)) {
+ billingAddress = InvoiceWorker.getSendFromAddress(invoice);
+ } else {
+ billingAddress = InvoiceWorker.getBillToAddress(invoice);
+ }
+ if (billingAddress) {
+ invoicesMap.billingAddress = billingAddress;
+ }
+ billingParty = InvoiceWorker.getBillToParty(invoice);
+ invoicesMap.billingParty = billingParty;
+ sendingParty = InvoiceWorker.getSendFromParty(invoice);
+ invoicesMap.sendingParty = sendingParty;
+
+ // This snippet was added for adding Tax ID in invoice header if needed
+ sendingTaxInfos = sendingParty.getRelated("PartyTaxAuthInfo");
+ billingTaxInfos = billingParty.getRelated("PartyTaxAuthInfo");
+ sendingPartyTaxId = null;
+ billingPartyTaxId = null;
+
+ if (billingAddress) {
+ sendingTaxInfos.eachWithIndex { sendingTaxInfo, i ->
+ if (sendingTaxInfo.taxAuthGeoId.equals(billingAddress.countryGeoId)) {
+ sendingPartyTaxId = sendingTaxInfos[i-1].partyTaxId;
+ }
+ }
+ billingTaxInfos.eachWithIndex { billingTaxInfo, i ->
+ if (billingTaxInfo.taxAuthGeoId.equals(billingAddress.countryGeoId)) {
+ billingPartyTaxId = billingTaxInfos[i-1].partyTaxId;
+ }
+ }
+ }
+ if (sendingPartyTaxId) {
+ invoicesMap.sendingPartyTaxId = sendingPartyTaxId;
+ }
+ if (billingPartyTaxId) {
+ invoicesMap.billingPartyTaxId = billingPartyTaxId;
+ }
+
+ terms = invoice.getRelated("InvoiceTerm");
+ invoicesMap.terms = terms;
+
+ paymentAppls = delegator.findList("PaymentApplication", EntityCondition.makeCondition([invoiceId : invoiceId]), null, null, null, false);
+ invoicesMap.payments = paymentAppls;
+
+ orderItemBillings = delegator.findList("OrderItemBilling", EntityCondition.makeCondition([invoiceId : invoiceId]), null, ['orderId'], null, false);
+ orders = new LinkedHashSet();
+ orderItemBillings.each { orderIb ->
+ orders.add(orderIb.orderId);
+ }
+ invoicesMap.orders = orders;
+
+ invoiceStatus = invoice.getRelatedOne("StatusItem");
+ invoicesMap.invoiceStatus = invoiceStatus;
+
+ edit = parameters.editInvoice;
+ if ("true".equalsIgnoreCase(edit)) {
+ invoiceItemTypes = delegator.findList("InvoiceItemType", null, null, null, null, false);
+ invoicesMap.invoiceItemTypes = invoiceItemTypes;
+ invoicesMap.editInvoice = true;
+ }
+
+ // format the date
+ if (invoice.invoiceDate) {
+ invoiceDate = DateFormat.getDateInstance(DateFormat.LONG).format(invoice.invoiceDate);
+ invoicesMap.invoiceDate = invoiceDate;
+ } else {
+ invoicesMap.invoiceDate = "N/A";
+ }
+ }
+ invoiceDetailList.add(invoicesMap);
+}
+
+context.invoiceDetailList = invoiceDetailList;
Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?rev=835709&r1=835708&r2=835709&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Fri Nov 13 02:16:54 2009
@@ -2180,6 +2180,11 @@
<!-- security https="true" auth="true"/ -->
<response name="success" type="view" value="PrintCheckPDF"/>
</request-map>
+
+ <request-map uri="PrintInvoices">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="PrintInvoices"/>
+ </request-map>
<!--Global GL Settings -->
<request-map uri="globalGLSettings">
@@ -2698,6 +2703,7 @@
<!-- PDFs -->
<view-map name="InvoicePDF" type="screenfop" page="component://accounting/widget/AccountingPrintScreens.xml#InvoicePDF" content-type="application/pdf" encoding="none"/>
<view-map name="PrintCheckPDF" type="screenfop" page="component://accounting/widget/AccountingPrintScreens.xml#PrintCheckPDF" content-type="application/pdf" encoding="none"/>
+ <view-map name="PrintInvoices" type="screenfop" page="component://accounting/widget/AccountingPrintScreens.xml#PrintInvoices" content-type="application/pdf" encoding="none"/>
<!-- Financial Summary Reports -->
<view-map name="FinancialSummaryReportOptions" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#FinancialSummaryReportOptions"/>
Added: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl?rev=835709&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl Fri Nov 13 02:16:54 2009
@@ -0,0 +1,293 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<#escape x as x?xml>
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="main" page-height="11in" page-width="8.5in"
+ margin-top="0.5in" margin-bottom="1in" margin-left=".5in" margin-right="1in">
+ <fo:region-body margin-top="1in"/>
+ <fo:region-before extent="1in"/>
+ <fo:region-after extent="1in"/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <#if invoiceDetailList?has_content>
+ <#list invoiceDetailList as invoiceDetail>
+ <#assign invoice = invoiceDetail.invoice />
+ <#if invoiceDetail.billingParty?has_content>
+ <#assign billingParty = invoiceDetail.billingParty />
+ </#if>
+ <fo:page-sequence master-reference="main">
+ <fo:flow flow-name="xsl-region-body" font-family="Helvetica">
+ <fo:block>
+ <fo:table>
+ <fo:table-column/>
+ <fo:table-column/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block align="left">
+ ${screens.render("component://order/widget/ordermgr/OrderPrintScreens.xml#CompanyLogo")}
+ </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block align="right">
+ <fo:table>
+ <fo:table-column column-width="1in"/>
+ <fo:table-column column-width="2.5in"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block number-columns-spanned="2" font-weight="bold" wrap-option="no-wrap">${invoice.getRelatedOne("InvoiceType").get("description",locale)?if_exists}</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>${uiLabelMap.AccountingInvoiceDateAbbr}:</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block>${invoiceDetail.invoiceDate?if_exists}</fo:block></fo:table-cell>
+ </fo:table-row>
+ <fo:table-row>
+ <fo:table-cell><fo:block>${uiLabelMap.AccountingCustNr}:</fo:block></fo:table-cell>
+ <fo:table-cell>
+ <fo:block>
+ ${billingParty.partyId?if_exists}
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <#if invoiceDetail.billingPartyTaxId?has_content>
+ <fo:table-row>
+ <fo:table-cell><fo:block>${uiLabelMap.PartyTaxId}:</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block> ${invoiceDetail.billingPartyTaxId}</fo:block></fo:table-cell>
+ </fo:table-row>
+ </#if>
+ <fo:table-row>
+ <fo:table-cell><fo:block>${uiLabelMap.AccountingInvNr}:</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block><#if invoice?has_content>${invoice.invoiceId}</#if></fo:block></fo:table-cell>
+ </fo:table-row>
+ <#if invoice?has_content && invoice.description?has_content>
+ <fo:table-row>
+ <fo:table-cell><fo:block>${uiLabelMap.AccountingDescr}:</fo:block></fo:table-cell>
+ <fo:table-cell><fo:block>${invoice.description}</fo:block></fo:table-cell>
+ </fo:table-row>
+ </#if>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+
+ <#if billingParty?has_content>
+ <fo:block>
+ <fo:table space-after="0.3in">
+ <fo:table-column column-width="3.5in"/>
+ <fo:table-body>
+ <fo:table-row >
+ <fo:table-cell>
+ <fo:block>${uiLabelMap.CommonTo}: </fo:block>
+ <#if invoiceDetail.billingAddress?has_content>
+ <#assign billingAddress = invoiceDetail.billingAddress />
+ <#assign billingPartyNameResult = dispatcher.runSync("getPartyNameForDate", Static["org.ofbiz.base.util.UtilMisc"].toMap("partyId", billingParty.partyId, "compareDate", invoice.invoiceDate, "userLogin", userLogin))/>
+ <fo:block>${billingPartyNameResult.fullName?default(billingAddress.toName)?default("Billing Name Not Found")}</fo:block>
+ <#if billingAddress.attnName?exists>
+ <fo:block>${billingAddress.attnName}</fo:block>
+ </#if>
+ <fo:block>${billingAddress.address1?if_exists}</fo:block>
+ <#if billingAddress.address2?exists>
+ <fo:block>${billingAddress.address2}</fo:block>
+ </#if>
+ <fo:block>${billingAddress.city?if_exists} ${billingAddress.stateProvinceGeoId?if_exists} ${billingAddress.postalCode?if_exists}</fo:block>
+ <#else>
+ <fo:block>${uiLabelMap.AccountingNoGenBilAddressFound}${billingParty.partyId?if_exists}</fo:block>
+ </#if>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </fo:block>
+ </#if>
+
+ <fo:block>
+ <#if invoiceDetail.orders?has_content>
+ <#assign orders = invoiceDetail.orders?if_exists />
+ <fo:table space-after="0.3in">
+ <fo:table-column column-width="1in"/>
+ <fo:table-column column-width="5.5in"/>
+ <fo:table-body>
+ <fo:table-row>
+ <fo:table-cell>
+ <fo:block font-size="10pt" font-weight="bold">${uiLabelMap.AccountingOrderNr}:</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block font-size ="10pt" font-weight="bold"><#list orders as order> ${order} </#list></fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </#if>
+
+ <#if invoiceDetail.invoiceItems?has_content>
+ <#assign invoiceItems = invoiceDetail.invoiceItems?if_exists />
+ <fo:table>
+ <fo:table-column column-width="20mm"/>
+ <fo:table-column column-width="20mm"/>
+ <fo:table-column column-width="65mm"/>
+ <fo:table-column column-width="15mm"/>
+ <fo:table-column column-width="25mm"/>
+ <fo:table-column column-width="25mm"/>
+
+ <fo:table-header height="14px">
+ <fo:table-row>
+ <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black">
+ <fo:block font-weight="bold">${uiLabelMap.AccountingItemNr}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black">
+ <fo:block font-weight="bold">${uiLabelMap.AccountingProduct}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black">
+ <fo:block font-weight="bold">${uiLabelMap.CommonDescription}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black">
+ <fo:block font-weight="bold" text-align="center">${uiLabelMap.CommonQty}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black">
+ <fo:block font-weight="bold" text-align="center">${uiLabelMap.AccountingUnitPrice}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell border-bottom-style="solid" border-bottom-width="thin" border-bottom-color="black">
+ <fo:block font-weight="bold" text-align="center">${uiLabelMap.CommonAmount}</fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-header>
+ <fo:table-body font-size="10pt">
+ <#assign currentShipmentId = "">
+ <#assign newShipmentId = "">
+ <#-- if the item has a description, then use its description. Otherwise, use the description of the invoiceItemType -->
+ <#list invoiceItems as invoiceItem>
+ <#assign itemType = invoiceItem.getRelatedOne("InvoiceItemType")>
+ <#assign taxRate = invoiceItem.getRelatedOne("TaxAuthorityRateProduct")?if_exists>
+ <#assign itemBillings = invoiceItem.getRelated("OrderItemBilling")?if_exists>
+ <#if itemBillings?has_content>
+ <#assign itemBilling = Static["org.ofbiz.entity.util.EntityUtil"].getFirst(itemBillings)>
+ <#if itemBilling?has_content>
+ <#assign itemIssuance = itemBilling.getRelatedOne("ItemIssuance")?if_exists>
+ <#if itemIssuance?has_content>
+ <#assign newShipmentId = itemIssuance.shipmentId>
+ </#if>
+ </#if>
+ </#if>
+ <#if invoiceItem.description?has_content>
+ <#assign description=invoiceItem.description>
+ <#elseif taxRate?has_content & taxRate.get("description",locale)?has_content>
+ <#assign description=taxRate.get("description",locale)>
+ <#elseif itemType.get("description",locale)?has_content>
+ <#assign description=itemType.get("description",locale)>
+ </#if>
+
+ <#if newShipmentId?exists & newShipmentId != currentShipmentId>
+ <#-- the shipment id is printed at the beginning for each
+ group of invoice items created for the same shipment
+ -->
+ <fo:table-row height="14px">
+ <fo:table-cell number-columns-spanned="6">
+ <fo:block></fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row height="14px">
+ <fo:table-cell number-columns-spanned="6">
+ <fo:block font-weight="bold"> ${uiLabelMap.ProductShipmentId}: ${newShipmentId} </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <#assign currentShipmentId = newShipmentId>
+ </#if>
+ <fo:table-row height="7px">
+ <fo:table-cell number-columns-spanned="6">
+ <fo:block></fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row height="14px" space-start=".15in">
+ <fo:table-cell>
+ <fo:block> ${invoiceItem.invoiceItemSeqId} </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block text-align="left">${invoiceItem.productId?if_exists} </fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block text-align="right">${description?if_exists}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block text-align="center"> <#if invoiceItem.quantity?exists>${invoiceItem.quantity?string.number}</#if> </fo:block>
+ </fo:table-cell>
+ <fo:table-cell text-align="right">
+ <fo:block> <#if invoiceItem.quantity?exists><@ofbizCurrency amount=invoiceItem.amount?if_exists isoCode=invoice.currencyUomId?if_exists/></#if> </fo:block>
+ </fo:table-cell>
+ <fo:table-cell text-align="right">
+ <fo:block> <@ofbizCurrency amount=(Static["org.ofbiz.accounting.invoice.InvoiceWorker"].getInvoiceItemTotal(invoiceItem)) isoCode=invoice.currencyUomId?if_exists/> </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </#list>
+
+ <#-- the grand total -->
+ <fo:table-row>
+ <fo:table-cell number-columns-spanned="3">
+ <fo:block/>
+ </fo:table-cell>
+ <fo:table-cell>
+ <fo:block font-weight="bold">${uiLabelMap.AccountingTotalCapital}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell text-align="right" number-columns-spanned="2">
+ <fo:block font-weight="bold">
+ <#if invoiceDetail.invoiceTotal?has_content>
+ <#assign invoiceTotal = invoiceDetail.invoiceTotal?if_exists />
+ <@ofbizCurrency amount=invoiceTotal isoCode=invoice.currencyUomId?if_exists/>
+ </#if>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row height="7px">
+ <fo:table-cell>
+ <fo:block/>
+ </fo:table-cell>
+ </fo:table-row>
+ <fo:table-row height="14px">
+ <fo:table-cell number-columns-spanned="3">
+ <fo:block/>
+ </fo:table-cell>
+ <fo:table-cell number-columns-spanned="2">
+ <fo:block>${uiLabelMap.AccountingTotalExclTax}</fo:block>
+ </fo:table-cell>
+ <fo:table-cell number-columns-spanned="1" text-align="right">
+ <fo:block>
+ <#if invoiceDetail.invoiceNoTaxTotal?has_content>
+ <#assign invoiceNoTaxTotal = invoiceDetail.invoiceNoTaxTotal?if_exists />
+ <@ofbizCurrency amount=invoiceNoTaxTotal isoCode=invoice.currencyUomId?if_exists/>
+ </#if>
+ </fo:block>
+ </fo:table-cell>
+ </fo:table-row>
+ </fo:table-body>
+ </fo:table>
+ </#if>
+ </fo:block>
+ </fo:flow>
+ </fo:page-sequence>
+ </#list>
+ </#if>
+ </fo:root>
+</#escape>
Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl?rev=835709&r1=835708&r2=835709&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl (original)
+++ ofbiz/trunk/applications/accounting/webapp/ap/invoices/PurchaseInvoices.ftl Fri Nov 13 02:16:54 2009
@@ -102,6 +102,7 @@
<select name="serviceName" id="serviceName" onchange="javascript:setServiceName(this);">
<option value="">${uiLabelMap.AccountingSelectAction}</option>
<option value="<@o...@ofbizUrl>" id="processMassCheckRun">${uiLabelMap.AccountingIssueCheck}</option>
+ <option value="<@o...@ofbizUrl>">${uiLabelMap.AccountingPrintInvoices}</option>
<option value="massInvoicesToApprove">${uiLabelMap.AccountingInvoiceStatusToApproved}</option>
<option value="massInvoicesToReceive">${uiLabelMap.AccountingInvoiceStatusToReceived}</option>
<option value="massInvoicesToReady">${uiLabelMap.AccountingInvoiceStatusToReady}</option>
Modified: ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml?rev=835709&r1=835708&r2=835709&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/AccountingPrintScreens.xml Fri Nov 13 02:16:54 2009
@@ -100,4 +100,21 @@
</fail-widgets>
</section>
</screen>
-</screens>
\ No newline at end of file
+ <screen name="PrintInvoices">
+ <section>
+ <actions>
+ <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="PartyUiLabels" map-name="uiLabelMap" global="true"/>
+ <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
+ <set field="invoiceIds" from-field="parameters.invoiceIds" type="List"/>
+ <script location="component://accounting/webapp/accounting/WEB-INF/actions/invoice/PrintInvoices.groovy"/>
+ </actions>
+ <widgets>
+ <platform-specific>
+ <xsl-fo><html-template location="component://accounting/webapp/accounting/invoice/PrintInvoices.fo.ftl"/></xsl-fo>
+ </platform-specific>
+ </widgets>
+ </section>
+ </screen>
+</screens>