I recently noticed the following lines in the AccountingTypeData.xml file (starting around line 511): <!-- An Enumeration to identify the taxable invoice item types. For these, the only important fields are enumId and enumTypeId. --> <EnumerationType description="Taxable Invoice Item Types" enumTypeId="TAXABLE_INV_ITM_TY" hasTable="N" parentTypeId=""/> <Enumeration description="Sales Invoice Sales Tax" enumCode="INV_SALES_TAX" enumId="INV_SALES_TAX" sequenceId="01" enumTypeId="TAXABLE_INV_ITM_TY"/> <Enumeration description="Sales Invoice Line Item Sales Tax" enumCode="ITM_SALES_TAX" enumId="ITM_SALES_TAX" sequenceId="02" enumTypeId="TAXABLE_INV_ITM_TY"/> <Enumeration description="Purchase Invoice Sales Tax" enumCode="PINV_SALES_TAX" enumId="PINV_SALES_TAX" sequenceId="03" enumTypeId="TAXABLE_INV_ITM_TY"/> <Enumeration description="Purchase Invoice Line Item Sales Tax" enumCode="PITM_SALES_TAX" enumId="PITM_SALES_TAX" sequenceId="04" enumTypeId="TAXABLE_INV_ITM_TY"/> <Enumeration description="Customer Return Sales Tax Adjustment" enumCode="CRT_SALES_TAX_ADJ" enumId="CRT_SALES_TAX_ADJ" sequenceId="05" enumTypeId="TAXABLE_INV_ITM_TY"/> The point of these records seem to be to define the set of InventoryItemType records that are taxable... although that doesn't seem correct as it doesn't describe the "taxable" types, but rather the "tax" types. One of the great benefits of having a specific entity for types rather than using something generic like the Enumeration entity is that we can add fields like an "isTax" flag, which seems to be a more effective and tenable option for this. I haven't traced back to see who wrote or committed this, but it does break common patterns and may not be the easiest way to implement what seems to be targeted by these records. -David |
Hi David
Curiosity got the better of me, Si put it in last year, so I wouldn't hold your breathe for a response on this. Regards Scott 2008/4/23 David E Jones <[hidden email]>: > > I recently noticed the following lines in the AccountingTypeData.xml file > (starting around line 511): > > <!-- An Enumeration to identify the taxable invoice item types. For > these, the only important fields are enumId and enumTypeId. --> > <EnumerationType description="Taxable Invoice Item Types" > enumTypeId="TAXABLE_INV_ITM_TY" hasTable="N" parentTypeId=""/> > <Enumeration description="Sales Invoice Sales Tax" > enumCode="INV_SALES_TAX" enumId="INV_SALES_TAX" sequenceId="01" > enumTypeId="TAXABLE_INV_ITM_TY"/> > <Enumeration description="Sales Invoice Line Item Sales Tax" > enumCode="ITM_SALES_TAX" enumId="ITM_SALES_TAX" sequenceId="02" > enumTypeId="TAXABLE_INV_ITM_TY"/> > <Enumeration description="Purchase Invoice Sales Tax" > enumCode="PINV_SALES_TAX" enumId="PINV_SALES_TAX" sequenceId="03" > enumTypeId="TAXABLE_INV_ITM_TY"/> > <Enumeration description="Purchase Invoice Line Item Sales Tax" > enumCode="PITM_SALES_TAX" enumId="PITM_SALES_TAX" sequenceId="04" > enumTypeId="TAXABLE_INV_ITM_TY"/> > <Enumeration description="Customer Return Sales Tax Adjustment" > enumCode="CRT_SALES_TAX_ADJ" enumId="CRT_SALES_TAX_ADJ" sequenceId="05" > enumTypeId="TAXABLE_INV_ITM_TY"/> > > The point of these records seem to be to define the set of > InventoryItemType records that are taxable... although that doesn't seem > correct as it doesn't describe the "taxable" types, but rather the "tax" > types. > > One of the great benefits of having a specific entity for types rather > than using something generic like the Enumeration entity is that we can add > fields like an "isTax" flag, which seems to be a more effective and tenable > option for this. > > I haven't traced back to see who wrote or committed this, but it does > break common patterns and may not be the easiest way to implement what seems > to be targeted by these records. > > -David > > |
Isn't this
http://mail-archives.apache.org/mod_mbox/ofbiz-dev/200804.mbox/%3C366005883.1207246104380.JavaMail.jira@brutus%3E a similar enumeration abuse? -Bruno 2008/4/23 Scott Gray <[hidden email]>: > Hi David > > Curiosity got the better of me, Si put it in last year, so I wouldn't hold > your breathe for a response on this. > > Regards > Scott > > 2008/4/23 David E Jones <[hidden email]>: > > > > > I recently noticed the following lines in the AccountingTypeData.xml > file > > (starting around line 511): > > > > <!-- An Enumeration to identify the taxable invoice item types. For > > these, the only important fields are enumId and enumTypeId. --> > > <EnumerationType description="Taxable Invoice Item Types" > > enumTypeId="TAXABLE_INV_ITM_TY" hasTable="N" parentTypeId=""/> > > <Enumeration description="Sales Invoice Sales Tax" > > enumCode="INV_SALES_TAX" enumId="INV_SALES_TAX" sequenceId="01" > > enumTypeId="TAXABLE_INV_ITM_TY"/> > > <Enumeration description="Sales Invoice Line Item Sales Tax" > > enumCode="ITM_SALES_TAX" enumId="ITM_SALES_TAX" sequenceId="02" > > enumTypeId="TAXABLE_INV_ITM_TY"/> > > <Enumeration description="Purchase Invoice Sales Tax" > > enumCode="PINV_SALES_TAX" enumId="PINV_SALES_TAX" sequenceId="03" > > enumTypeId="TAXABLE_INV_ITM_TY"/> > > <Enumeration description="Purchase Invoice Line Item Sales Tax" > > enumCode="PITM_SALES_TAX" enumId="PITM_SALES_TAX" sequenceId="04" > > enumTypeId="TAXABLE_INV_ITM_TY"/> > > <Enumeration description="Customer Return Sales Tax Adjustment" > > enumCode="CRT_SALES_TAX_ADJ" enumId="CRT_SALES_TAX_ADJ" sequenceId="05" > > enumTypeId="TAXABLE_INV_ITM_TY"/> > > > > The point of these records seem to be to define the set of > > InventoryItemType records that are taxable... although that doesn't seem > > correct as it doesn't describe the "taxable" types, but rather the "tax" > > types. > > > > One of the great benefits of having a specific entity for types rather > > than using something generic like the Enumeration entity is that we can > add > > fields like an "isTax" flag, which seems to be a more effective and > tenable > > option for this. > > > > I haven't traced back to see who wrote or committed this, but it does > > break common patterns and may not be the easiest way to implement what > seems > > to be targeted by these records. > > > > -David > > > > > |
yes... and no :)
That is an example of something that should be completed and refactored; the reasonId in the IIDetail, in my opinion, should reference to a new entity IIDReasonType (or similar) and the VarianceReason (the names of the entities may not be correct, I'm just using my memory) should be deprecated and the reason id in the PhysicalInventoryVariance should point to the new IIDReasonType entity. But this, as I wrote before, will require some (more serious) design than this. Jacopo On Apr 23, 2008, at 12:10 PM, Bruno Busco wrote: > Isn't this > http://mail-archives.apache.org/mod_mbox/ofbiz-dev/200804.mbox/%3C366005883.1207246104380.JavaMail.jira@brutus%3E > a similar enumeration abuse? > > -Bruno > > > 2008/4/23 Scott Gray <[hidden email]>: > >> Hi David >> >> Curiosity got the better of me, Si put it in last year, so I >> wouldn't hold >> your breathe for a response on this. >> >> Regards >> Scott >> >> 2008/4/23 David E Jones <[hidden email]>: >> >>> >>> I recently noticed the following lines in the AccountingTypeData.xml >> file >>> (starting around line 511): >>> >>> <!-- An Enumeration to identify the taxable invoice item types. For >>> these, the only important fields are enumId and enumTypeId. --> >>> <EnumerationType description="Taxable Invoice Item Types" >>> enumTypeId="TAXABLE_INV_ITM_TY" hasTable="N" parentTypeId=""/> >>> <Enumeration description="Sales Invoice Sales Tax" >>> enumCode="INV_SALES_TAX" enumId="INV_SALES_TAX" sequenceId="01" >>> enumTypeId="TAXABLE_INV_ITM_TY"/> >>> <Enumeration description="Sales Invoice Line Item Sales Tax" >>> enumCode="ITM_SALES_TAX" enumId="ITM_SALES_TAX" sequenceId="02" >>> enumTypeId="TAXABLE_INV_ITM_TY"/> >>> <Enumeration description="Purchase Invoice Sales Tax" >>> enumCode="PINV_SALES_TAX" enumId="PINV_SALES_TAX" sequenceId="03" >>> enumTypeId="TAXABLE_INV_ITM_TY"/> >>> <Enumeration description="Purchase Invoice Line Item Sales Tax" >>> enumCode="PITM_SALES_TAX" enumId="PITM_SALES_TAX" sequenceId="04" >>> enumTypeId="TAXABLE_INV_ITM_TY"/> >>> <Enumeration description="Customer Return Sales Tax Adjustment" >>> enumCode="CRT_SALES_TAX_ADJ" enumId="CRT_SALES_TAX_ADJ" >>> sequenceId="05" >>> enumTypeId="TAXABLE_INV_ITM_TY"/> >>> >>> The point of these records seem to be to define the set of >>> InventoryItemType records that are taxable... although that >>> doesn't seem >>> correct as it doesn't describe the "taxable" types, but rather the >>> "tax" >>> types. >>> >>> One of the great benefits of having a specific entity for types >>> rather >>> than using something generic like the Enumeration entity is that >>> we can >> add >>> fields like an "isTax" flag, which seems to be a more effective and >> tenable >>> option for this. >>> >>> I haven't traced back to see who wrote or committed this, but it >>> does >>> break common patterns and may not be the easiest way to implement >>> what >> seems >>> to be targeted by these records. >>> >>> -David >>> >>> >> |
Free forum by Nabble | Edit this page |