https://issues.apache.org/jira/browse/OFBIZ-3537
Some of the types are a little ambiguous or inconsistent but if you take a 
browse through the attached txt file you'll see that nothing is missing.

Regards
Scott

HotWax Media
http://www.hotwaxmedia.com

On 25/09/2010, at 4:51 AM, Jonatan Soto wrote:

> What do you mean?
> 
> I am saying that to me there's an error in the seed data and what I did in
> order to not alter the current database values for a xxxTYPE table. The code
> below Is just a simple hack I did before someone with more experience can
> check it out and confirm if I am right or not.
> 
> In case I am right, I think a patch that corrects the seed data wouldn't be
> enough because a script that performs the necessary updates for the existing
> sales invoices data and everything related is also needed, mostly for the
> current production environments.
> 
> 
> On Fri, Sep 24, 2010 at 6:29 PM, BJ Freeman <[email protected]> wrote:
> 
>> have you looked at the makecondition method?
>> 
>> Jonatan Soto sent the following on 9/24/2010 2:00 AM:
>> 
>> Given the following queries and code:
>>> 
>>> mysql>  select INVOICE_ITEM_TYPE_ID, PARENT_TYPE_ID from INVOICE_ITEM_TYPE
>>> where INVOICE_ITEM_TYPE_ID = 'INVOICE_HEAD_ADJ' OR PARENT_TYPE_ID =
>>> 'INVOICE_HEAD_ADJ';
>>> +----------------------+------------------+
>>> | INVOICE_ITEM_TYPE_ID | PARENT_TYPE_ID   |
>>> +----------------------+------------------+
>>> | INVOICE_HEAD_ADJ     | INVOICE_ADJ      |
>>> | PINVOICE_ADJ         | INVOICE_HEAD_ADJ |
>>> | SINVOICE_HEAD_ADJ    | INVOICE_HEAD_ADJ |
>>> +----------------------+------------------+
>>> 3 rows in set (0.00 sec)
>>> 
>>> mysql>  select INVOICE_ITEM_TYPE_ID, PARENT_TYPE_ID from INVOICE_ITEM_TYPE
>>> where INVOICE_ITEM_TYPE_ID = 'PINVOICE_ADJ' OR PARENT_TYPE_ID =
>>> 'PINVOICE_ADJ';
>>> +----------------------+------------------+
>>> | INVOICE_ITEM_TYPE_ID | PARENT_TYPE_ID   |
>>> +----------------------+------------------+
>>> | PINVOICE_ADJ         | INVOICE_HEAD_ADJ |
>>> | PINV_ADD_FEATURE     | PINVOICE_ADJ     |
>>> | PINV_DISCOUNT_ADJ    | PINVOICE_ADJ     |
>>> | PINV_MISC_CHARGE     | PINVOICE_ADJ     |
>>> | PINV_PROMOTION_ADJ   | PINVOICE_ADJ     |
>>> | PINV_SALES_TAX       | PINVOICE_ADJ     |
>>> | PINV_SHIP_CHARGES    | PINVOICE_ADJ     |
>>> | PINV_SURCHARGE_ADJ   | PINVOICE_ADJ     |
>>> | PINV_WARRANTY_ADJ    | PINVOICE_ADJ     |
>>> | P_FEE                | PINVOICE_ADJ     |
>>> +----------------------+------------------+
>>> 10 rows in set (0.00 sec)
>>> 
>>> mysql>  select INVOICE_ITEM_TYPE_ID, PARENT_TYPE_ID from INVOICE_ITEM_TYPE
>>> where INVOICE_ITEM_TYPE_ID = 'SINVOICE_HEAD_ADJ' OR PARENT_TYPE_ID =
>>> 'SINVOICE_HEAD_ADJ';
>>> +----------------------+-------------------+
>>> | INVOICE_ITEM_TYPE_ID | PARENT_TYPE_ID    |
>>> +----------------------+-------------------+
>>> | FEE                  | SINVOICE_HEAD_ADJ |
>>> | INV_ADD_FEATURE      | SINVOICE_HEAD_ADJ |
>>> | INV_DISCOUNT_ADJ     | SINVOICE_HEAD_ADJ |
>>> | INV_INTRST_CHRG      | SINVOICE_HEAD_ADJ |
>>> | INV_MISC_CHARGE      | SINVOICE_HEAD_ADJ |
>>> | INV_PROMOTION_ADJ    | SINVOICE_HEAD_ADJ |
>>> | INV_SALES_TAX        | SINVOICE_HEAD_ADJ |
>>> | INV_SHIPPING_CHARGES | SINVOICE_HEAD_ADJ |
>>> | INV_SURCHARGE_ADJ    | SINVOICE_HEAD_ADJ |
>>> | INV_WARRANTY_ADJ     | SINVOICE_HEAD_ADJ |
>>> | SINVOICE_HEAD_ADJ    | INVOICE_HEAD_ADJ  |
>>> +----------------------+-------------------+
>>> 11 rows in set (0.00 sec)
>>> 
>>> GetInvoiceItemTypes.groovy:
>>> 
>>> if ("SALES_INVOICE".equals(invoice.invoiceTypeId)) {
>>>    itemTypesCond = exprBldr.OR() {
>>>        EQUALS(invoiceItemTypeId: "INVOICE_ADJ")
>>>        EQUALS(parentTypeId: "INVOICE_ADJ")
>>>        EQUALS(invoiceItemTypeId: "INVOICE_ITM_ADJ")
>>>        EQUALS(parentTypeId: "INVOICE_ITM_ADJ")
>>>        EQUALS(invoiceItemTypeId: "INV_PROD_ITEM")
>>>        EQUALS(parentTypeId: "INV_PROD_ITEM")
>>>    }
>>>    invoiceItemTypes = delegator.findList("InvoiceItemType",
>>> itemTypesCond,
>>> null, ["parentTypeId", "invoiceItemTypeId"], null, false);
>>>    glAccountOrganizationAndClassList =
>>> delegator.findByAnd("GlAccountOrganizationAndClass", [organizationPartyId
>>> :
>>> invoice.partyIdFrom]);
>>> } else if ("PURCHASE_INVOICE".equals(invoice.invoiceTypeId)) {
>>>    itemTypesCond = exprBldr.OR() {
>>>        EQUALS(invoiceItemTypeId: "PINVOICE_ADJ")
>>>        EQUALS(parentTypeId: "PINVOICE_ADJ")
>>>        EQUALS(invoiceItemTypeId: "PINVOICE_ITM_ADJ")
>>>        EQUALS(parentTypeId: "PINVOICE_ITM_ADJ")
>>>        EQUALS(invoiceItemTypeId: "PINV_PROD_ITEM")
>>>        EQUALS(parentTypeId: "PINV_PROD_ITEM")
>>>    }
>>>    invoiceItemTypes = delegator.findList("InvoiceItemType",
>>> itemTypesCond,
>>> null, ["parentTypeId", "invoiceItemTypeId"], null, false);
>>>    glAccountOrganizationAndClassList =
>>> delegator.findByAnd("GlAccountOrganizationAndClass", [organizationPartyId
>>> :
>>> invoice.partyId]);
>>> }
>>> 
>>> In the last query the PARENT_TYPE_ID shouldn't be INVOICE_ADJ instead
>>> of INVOICE_HEAD_ADJ
>>> and also in the first query the INVOICE_ITEM_TYPE_ID field shouldn't be
>>> SINVOICE_ADJ?
>>> 
>>> ------
>>> 
>>> I want to create a sales item tax manually in a sales invoice for instance
>>> so for now I've replaced the OR conditional when invoiceTypeId =
>>> 'SALES_INVOICE' with this:
>>> 
>>> if ("SALES_INVOICE".equals(invoice.invoiceTypeId)) {
>>>    itemTypesCond = exprBldr.OR() {
>>>        EQUALS(invoiceItemTypeId: "SINVOICE_ADJ")
>>>        EQUALS(parentTypeId: "SINVOICE_ADJ")
>>>        EQUALS(invoiceItemTypeId: "SINVOICE_ITM_ADJ")
>>>        EQUALS(parentTypeId: "SINVOICE_ITM_ADJ")
>>>        EQUALS(invoiceItemTypeId: "SINV_PROD_ITEM")
>>>        EQUALS(parentTypeId: "SINV_PROD_ITEM")
>>>        EQUALS(invoiceItemTypeId: "SINVOICE_HEAD_ADJ") -->  to be removed
>>> if
>>> the relation parent ->  child is not correct as I suspect
>>>        EQUALS(parentTypeId: "SINVOICE_HEAD_ADJ") -->  to be removed if
>>> the
>>> relation parent ->  child is not correct as I suspect
>>>    }
>>> 
>>> 
>>> 
>>> 
>> 
> 
> 
> -- 
> -----
> 
> Jonatan Soto

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to