Friday, November 25, 2005

OFBiz Development SVN r 6194

54 new commits this week. SVN 6194 builds and installs successfully.

Significant changes this week
  1. Standard cost calculations for products based on costs of materials and fixed asset usage.
  2. New tax authority model to calculate sales or VAT taxes for orders.
  3. Enhancements to order returns.
Thanks to our contributors
This week's contributors include Ray Barlow, Jacopo, David, Andy, and myself.

Accounting
  • Change over from SimpleSalesTaxLookup to the new TaxAuthority model during order creation process. The new tax calculations are done with BigDecimal using definitions in arithmetic.properties. (r 6190, 6191)
Base and Framework
  • EntitySaxReader now prints the name of the entity when trying to set fields. (r 6144)
  • entitymodel.xsd now permits unlimited number of copyright and author tags. (r 6151)
  • Fixed problems with entity comparisons by cached condition with the IN operator. (r 6155)
  • New tag in form widget to support currency format. You can now use type="currency" and currency="${currencyUomId}" in the tags to have the field displayed as a currency. (r 6159)
Content
  • Fixed EmailServices so that the baseUrl is always set, even if webSiteId is null. (r 6141)
Entity Model
  • Additional order return enhancements, including a new expectedItemStatus field for return items. (r 6164)
  • New costUomId in CostComponent to specify the currency of a cost. (r 6171)
Manufacturing
  • Moved getProductRouting to a new RoutingServices xml file. (r 6168)
  • First implementation of service for getEstimatedTaskTime. (r 6169)
  • Expire product costs when new product costs are calculated. (r 6181)
  • New service to calculate product costs for all products, which can be run from webtools. (r 6182)
Order
  • New service to update ShoppingListItem's quantityPurchased field based on all items on an order. This is run after the order is created to keep shopping lists up to date. (r 6142)
  • Moved return services to a new OrderReturnServices class from OrderServices. (r 6145)
  • Moved service for getDefaultProductStoreEmailScreenLocation to ProductStoreWorker from OrderServices. (r 6145, 6148)
  • Fixed bug where cancelled order items would crash the order view page in order manager. The inventory summary will no longer be displayed for cancelled or completed orders. (r 6157)
  • Fixed bug where order_id was being passed twice from order view and edit order items pages, causing crashes. (r 6158)
  • Added two asterisks to highlight that home phone number is required when creating new customer during checkout in order manager. (r 6162)
  • New link to create a customer while entering an order during order entry. (r 6163)
  • Additional order return enhancements, including a new expectedItemStatus field for return items. (r 6164)
  • Permission for createOrderRequirementCommitment has been commented out so that ecommerce customers who create orders that in turn create a requirement would not encounter an error. (r 6166)
  • Added returnHeaderTypeId to the quick refund order service as a parameter and to the orderview form. (r 6174)
  • Bug fixes for request item to quote process. (r 6187)
  • Fixed bug where ATP quantity was displayed as the QOH quantity on the showcart screen. (r 6188)
  • Updated credit card screen for customer billing settings in order entry to have more current years. (r 6189)
  • Change over from SimpleSalesTaxLookup to the new TaxAuthority model during order creation process. The new tax calculations are done with BigDecimal using definitions in arithmetic.properties. (r 6190, 6191)
  • In the view request screen, request items are now shown ordered by sequence number. (r 6192)
  • Fixed calc errors in the quote profit page. (r 6193)
Party
  • Better checking of null quantityPurchased values on the edit shopping list screen. (r 6143)
  • Enhancements to the Edit Configurations screens in catalog manager, including only showing the product of the config option when editing it. (r 6179)
Product
  • New screen in facility manager to search for inventory items based on product attributes (currently just the OEM manufacturer party id.) (r 6160, 6161, 6165)
  • New screen, the "Costs" tab for products, in catalog manager for getting the product's cost information. (r 6173, 6180)
  • Re-formatted the supplier product list form in catalog manager using tabletext instead of inputBox; right align numeric fields; and using the currency tag to format the prices. (r 6175)
  • New ProductAndPriceView view-entity for ProductAndPrice lookups. (r 6183)
  • Fixed problem with displaying lists of products containing virtual products by making productId a display field rather than a hidden one for virtual products during product lookup. (r 6184)
  • Advanced variant lookup in ProductAndPrice lookup. (r 6185, 6186)
  • Change over from SimpleSalesTaxLookup to the new TaxAuthority model during order creation process. The new tax calculations are done with BigDecimal using definitions in arithmetic.properties. (r 6190, 6191)
  • Fixed ui label bug in the product's work effort form. (r 6194)
Seed Data
  • New seed data for TaxAuthority model. (r 6147)
  • Replaced Payment.basedOnPaymentId with PaymentApplication.toPaymentId, for associating payments with other payments. (r 6154)
  • Sample data for marketing campaigns and tracking codes in DemoMarketing. (r 6176)
  • Change over from SimpleSalesTaxLookup to the new TaxAuthority model during order creation process. The new tax calculations are done with BigDecimal using definitions in arithmetic.properties. (r 6190, 6191)

Friday, November 18, 2005

OFBiz Development SVN r 6140

32 new commits this weeks. SVN r 6140 builds and installs successfully.

Significant changes this week:
  1. New arithmetic.properties file for configuring BigDecimal precision, and new UtilAccounting class for working with them.
  2. New return screens which allow return adjustments to be entered.
  3. New services for calculating sales taxes (not completed yet.)
Thanks to our Contributors

This week's contributors include Manuel Meyer, Ray Barlow, David, Andy, Jacopo, and myself.

Accounting
  • Fixed TaxAuthorityServices' permissions - changed them from EXAMPLE to ACCOUNTING (r 6111)
  • Removed status changes from IN PROCESS to RECEIVED or from READY back to IN PROCESS or CANCELLED. All invoices must now go through a READY status, which means it is approved. Once READY, invoices cannot be CANCELLED. (r 6123)
  • New file applications/accounting/config/artihmetic.properties, which defines rounding and precision properties for BigDecimals separately for invoices, orders, finaccts, and sales tax. (r 6130, 6138, 6139)
  • New services for tax calculations (r 6136)
  • New UtilAccounting class, with methods for working with BigDecimals and for determing types of payments and GL accounts. (r 6137)
Accounting/GL Implementation
  • New service to post internal transaction to match GL accounts of invoices and payments, in case they did not match originally (ie, prepayments and deposits)
  • Some refactoring of GL services to BigDecimal, but not all done yet.
Base and Framework
  • Added apache jakarta commons lang 2.1 (r 6112)
  • Added missing condition-object element to widget-form.xsd (r 6116)
  • New "transaction-timeout" attribute for screen element in screen widget xml (r 6119)
  • New entity engine test to test the storing of null and byte values into "BLOB" types. (r 6120, 6132)
  • ServiceUtil now uses FastMap instead of HashMap (r 6140)
Entity Model
  • SimpleSalesTaxLookup has new fields taxAuthPartyId and taxAuthGlAccountId for GL accounts for sales tax. (r 6110)
  • Payment now has a basedOnPaymentId, in case one payment is related to another one. (r 6131)
Order
  • When creating quotes, will now copy productStoreId from custRequest to quote. Also, will no longer create quote role of REQ_TAKER, since that is automatically done. (r 6107)
  • Fixed bug where shopping cart was looking for "description" instead of "comments" from QuoteItem. (r 6108)
  • OrderServices will now populate the taxAuthPartyId and overrideGlAccountId of OrderAdjustments with taxAuthPartyId and taxAuthGlAccountId from SimpleSalesTaxLookup. This helps GL posting later on. (r 6110)
  • Removed duplicate link for view/edit delivery schedule on order header. (r 6114)
  • QuoteServices for sending a quote pdf now sets a partyId so that the email can be stored (although it's not right now.) (r 6115)
  • Changed all JavaScript calls to toggleAll, selectAll, and checkToggle methods to use new methods with explicit form names, rather than implicitly using "selectAllForm" (r 6118)
  • Product lookup in request forms now uses LookupProductAndPrice instead of just LookupProduct (r 6121)
  • When exploding auto-exploded marketing packages, a default quantity of 1.0 is used if the quantity in ProductAssoc is not specified. Avoids possible null exceptions. (r 6122)
  • Re-factored data model for returns, introducing ReturnHeaderType (vendor vs. customer returns), ReturnItemType, ReturnItemTypeMap (maps invoiceItemTypeIds to returnItemTypeIds) (r 6124, 6133)
  • Fixed bug where user can't view other orders after creating an order note. (r 6129)
  • Return screens now include adjustments in returns. (r 6133, 6134, 6135)
Party
  • Party manager's create new customer script also now uses the createPersonAndUserLogin service, instead of encrypting password and storing it directly. (r 6127)
Product
  • Product association page now shows the "quantity" products associated from this product. (r 6113)
  • Changed all JavaScript calls to toggleAll, selectAll, and checkToggle methods to use new methods with explicit form names, rather than implicitly using "selectAllForm" (r 6118)
Seed Data
  • Removed status changes from IN PROCESS to RECEIVED or from READY back to IN PROCESS or CANCELLED. All invoices must now go through a READY status, which means it is approved. Once READY, invoices cannot be CANCELLED. (r 6123)
  • New period types seed data for "Sales Quarter" and "Sales Month" (r 6125)
eCommerce
  • Fix double encryption of passwords in ecommerce which made it impossible to log back in after you've created an account and password. (r 6126)

Friday, November 11, 2005

OFBiz Development SVN r 6108

38 new commits this week. SVN 6108 builds and installs successfully.

Significant changes this week
  1. The long-awaited re-factoring of the sales tax data model and functions have started with new screens and services in the accounting application.
  2. There is a new capability to generate a PDF of a quote and send it to someone as an attachment.
Thanks to our contributors
This week's contributors include Hans Bakker, Ray Barlow, Jacopo, David, Andy, Leon Torres, and myself.

Accounting
  • New GlAccountTypes for "Uninvoiced Shipment Receipts" and "Purchase Price Variance" and demo GL accounts for these. The idea is that we want to be able to account for inventory receipts as soon as they are received and then later reconcile purchase invoices against the original PO through the variance account. (r 6071)
  • OrderRole values are now propagated to InvoiceRole values. (r 6075)
  • Implemented TaxAuthority data maintenance user interfaces and services in the accounting application. (r 6081)
  • Improvement to InvoiceWorker.getInvoiceAddressByType - if an address is not found from InvoiceContactMech, it will now go look for it from PartyContactMechPurpose, using partyId based on type of invoice. If it still doesn't find an address of the specified type, it'll get you the GENERAL_LOCATION. (r 6099)
Accounting/General Ledger
  • Changed posting of inventory and accounts payable invoices: Inventory values are posted to GL as soon as they are received against Uninvoiced Shipment Receipts based on original purchase order prices. Accounts Payable invoices are matched against Uninvoiced Shipment Receipts, and the difference between PO and invoice price is reconciled in a Purchase Price Variance account.
  • Better invoice PDFs
  • Some UI changes to the invoice forms
Base and Framework
  • New condition-object" definition in form widget (similar to condition-expr and condition-list) (r 6080)
  • Fixed problem with get-related not working when the source doesn't exist in screen widget. (r 6080, 6082)
  • Fixed missing login messages. (r 6084)
  • createNote service will now accept a "noteDate" parameter if it is passed in and use the current time if it is not. (r 6102)
Entity Model
  • New relationship from FixedAssetStdCost to FixedAsset (r 6076)
  • OrderHeader has new fields "externalId" and "internalCode" for help with integration. (r 6088)
  • New view entity CountryTeleCodeAndName which helps lookup phone codes for countries. (r 6091)
  • Fixed method in ModelEntity.convertFieldValue to not break GenericEntity.NULL_FIELD and convert it to a String when the field's Java type is String. (r 6095, 6096)
Marketing
  • Clean up of marketing application code and fixed the SegmentGroup lookup form. (r 6074)
Order
  • Converted field-to-field, env-to-field, and string-to-field to "set" in CustRequestServices and QuoteServices minilang script. (r 6077, 6078)
  • OrderHeader has new fields "externalId" and "internalCode" for help with integration. (r 6088)
  • New Quote PDF and new ability to send a quote confirmation email (with PDF attached) from the View Quote screen of order manager. (r 6083, 6089, 6097)
  • Patch to fix NPE in order PDF's company header section (r 6092)
  • New and improved company header for order receipts and other PDFs: it will now retrieve company information and logo from the database settings. (r 6100, 6101)
  • ShoppingCartItem now sets base price internally using setBasePrice method instead of "=" assignment. Cleans up code. (r 6104)
  • storeOrder service now suppoprts setting externalId and internalCode parameters and Lists of orderAttributes and orderItemAttributes. (r 6105)
  • Quote attributes will now be stored as order attributes. (r 6106)
  • When creating quotes, will now copy productStoreId from custRequest to quote. Also, will no longer create quote role of REQ_TAKER, since that is automatically done. (r 6107)
  • Fixed bug where shopping cart was looking for "description" instead of "comments" from QuoteItem. (r 6108)
Party
  • Edit shopping list form in party manager now has a field for modifying the quantity purchased. (r 6072)
  • Cleanup of party screens and forms, especially the SegmentGroup screens. editcontactmech.bsh now only looks for partyId (instead of party_id as well). Changing from request.getParameter to parameters.get (r 6073, 6094)
  • createPerson now passing in full context parameters to createNote (r 6103)
Product
  • Adds check that orderItemShipGrpInvRes.quantity is not null when creating an item issuance (in IssuanceServices.xml#createItemIssuance) (r 6086)
  • Fixed bad field name for unitCost on form in facility manager to update inventory items (r 6087)
Seed Data
  • New GlAccountTypes for "Uninvoiced Shipment Receipts" and "Purchase Price Variance" and demo GL accounts for these. The idea is that we want to be able to account for inventory receipts as soon as they are received and then later reconcile purchase invoices against the original PO through the variance account. (r 6071)
Work Effort
  • Corrected name of "addWorkEffortTimeToInvoice" (r 6085)
eCommerce
  • Added Roles information to the Request and Quote reports in ecommerce. (r 6079)

Friday, November 04, 2005

OFBiz Development SVN r6070

40 new commits this week. SVN 6070 builds and installs successfully.

Significant changes this week
  1. Order manager now has the "quickcheckout" screen as well. You can now select all order options on one screen and create the order.
  2. New reports to show sales by store, purchases by organization, and inventory by company, by facility, and by supplier.
  3. pos-containers is changed so that it starts on port 9994, allowing you to run POS and the server at the same time.
  4. startofbiz.bat now pipes output to a logs\console.log file as well, for all our Windows users.
Thanks to our contributors
This week's contributors include Ray Barlow, Roma Ferre Ananos, David, Leon, and myself.

Base and Framework
  • startofbiz.bat now pipes output to logs\console.log (r 6041)
  • pos-containers' beanshell ports are now set to 9993 and 9994, so the POS and server can be run at the same time. (r 6041)
  • Fixed bug with EntityFinderUtil where a call to getPartialList started with 1 instead of 0. (r 6047)
  • Fixed bad ui label on common login screen for "Registered" (r 6058)
Seed Data
  • Added OFBTOOLS_VIEW permission to the BIZADMIN, ORDERADMIN, ORDERADMIN_LTD, ORDERPROC, ORDERENTRY, ORDERPURCH, and ORDERENTRY_ALL security groups. (r 6064)
eCommerce
  • Fixed some ecommerce checkout screens to get party from cart rather than from the user login, so as to make them compatible with order manager as well. (r 6052)
  • Fixed [Set Default] button in customer's viewprofile page. (r 6061)
Marketing
  • Fixed bad link for "Segments" tab in Marketing application. (r 6043)
  • Fixed validation warning from entity-and operator in Segment Group Class List screen. (r 6044)
Order
  • Displays product feature type descriptions instead of just featureTypeIds on product detail pages of order entry. (r 6033)
  • Request items screen pagination set to 50 instead of 2. (r 6037)
  • Removed duplicate set in the product duplication service. (r 6038)
  • Fixed bug where the cart was not being cleared from session when the order has been transformed into a request or quote. The "destroyCart" URL parameter should be set to "Y" but was not being read from parameter (was being read from request attribute instead.) (r 6040)
  • Link from order header to show packing slip for shipments, right next to the shipment link. (r 6046)
  • Created new service to get ATP and QOh quantities for a list of OrderItems. This is used in order manager's order entry and order view screens to show inventory holdings. (r 6049)
  • Defined a main decorator location for order manager, so we can reuse screens from ecommerce in order manager by referring to a parametrized decorator. (r 6050)
  • Check that the country code is actually there in orderheader, to avoid possible crashes. (r 6053)
  • Modified checkoutoptions page to put the cart's orderPartyId as a parameter and also removed duplicate DONE_PAGE hidden parameters. All part of effor to get quickcheckout to work in order manager. (r 6054)
  • Changed some order manager checkout controller names to avoid conflicts with quickcheckout. (r 6056)
  • Quick lookup for products during order entry: enter a partial productId, and it will do a case-insensitive lookup for all products which start with this productId. (r 6060)
  • New feature which automatically creates a shipment of all purchase order items and then takes the user directly to receive the items in the facility manager. New link in order manager's order view page to "quick receive purchase order" into only warehouses which are owned by the bill-to party of purchase order. Involved a re-factoring and re-use of quickShipEntireOrder. (r 6066, 6070)
Party
  • Added back missing DONE_PAGE to edit contact mech page's update postal address section, so it could work correctly with order manager. (r 6055)
Product
  • Fixes a problem with duplicating products. (r 6034)
  • Facility manager's "View Inventory Availability By Product" now has a drop down option for supplier as well. (r 6035)
  • Fixed pagination bug in request items page. (r 6036)
  • Added price range lookup to the field lookup form. (r 6039)
  • XSL:FO templates for picklist and packing slip now use the FTL ?xml to handle internal names with XML characters. (r 6045)
  • Added lookup by brandName to product lookup screens. Also, when a variant item is found, there is now a link to show all the variants. This screen is used in many places including the order manager. (r 6059)
  • New lookup screen for ProductCategory, plus clean up for controller. (r 6062)