You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Jacques Le Roux (Jira)" <ji...@apache.org> on 2021/11/05 08:01:00 UTC

[jira] [Comment Edited] (OFBIZ-5996) Handling of Agreement Role(s)

    [ https://issues.apache.org/jira/browse/OFBIZ-5996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17439063#comment-17439063 ] 

Jacques Le Roux edited comment on OFBIZ-5996 at 11/5/21, 8:00 AM:
------------------------------------------------------------------

Hi Pierre,

It works almost well, but you can't re-add an existing invalidated role (w/of course a new date-time), you get:

{quote}
Erreur(s) :
Erreur lors de l'appel de l'événement: org.apache.ofbiz.webapp.event.EventHandlerException: Service invocation error (org.apache.ofbiz.entity.GenericEntityException: org.apache.ofbiz.entity.GenericEntityException: Error while inserting: [GenericEntity:AgreementRole][agreementId,8000(java.lang.String)][createdStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][createdTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][fromDate,2021-11-05 08:49:04.0(java.sql.Timestamp)][lastUpdatedStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][lastUpdatedTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][partyId,SALES(java.lang.String)][roleTypeId,AGRMNT_OWNER(java.lang.String)][thruDate,null()] (SQL Exception while executing the following:null (The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL211103174827420' defined on 'AGREEMENT_ROLE'.)) (Error while inserting: [GenericEntity:AgreementRole][agreementId,8000(java.lang.String)][createdStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][createdTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][fromDate,2021-11-05 08:49:04.0(java.sql.Timestamp)][lastUpdatedStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][lastUpdatedTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][partyId,SALES(java.lang.String)][roleTypeId,AGRMNT_OWNER(java.lang.String)][thruDate,null()] (SQL Exception while executing the following:null (The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL211103174827420' defined on 'AGREEMENT_ROLE'.))))
{quote}

Note: this issue does not exist in the recent added similar feature in Party component.

Also are you sure it's OK to remove the AddParty label in ManufacturingUiLabels.xml because you dont touch to any screens in Manufacturing. I mean are you sure that the new AddParty label in PartyUiLabels.xml will be used there (in Manufacturing)?



was (Author: jacques.le.roux):
Hi Pierre,

It works almost well, but you can't re-add an existing invalidated role (w/of course a new date-time), you get:

{noformat}
Erreur(s) :
Erreur lors de l'appel de l'événement: org.apache.ofbiz.webapp.event.EventHandlerException: Service invocation error (org.apache.ofbiz.entity.GenericEntityException: org.apache.ofbiz.entity.GenericEntityException: Error while inserting: [GenericEntity:AgreementRole][agreementId,8000(java.lang.String)][createdStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][createdTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][fromDate,2021-11-05 08:49:04.0(java.sql.Timestamp)][lastUpdatedStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][lastUpdatedTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][partyId,SALES(java.lang.String)][roleTypeId,AGRMNT_OWNER(java.lang.String)][thruDate,null()] (SQL Exception while executing the following:null (The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL211103174827420' defined on 'AGREEMENT_ROLE'.)) (Error while inserting: [GenericEntity:AgreementRole][agreementId,8000(java.lang.String)][createdStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][createdTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][fromDate,2021-11-05 08:49:04.0(java.sql.Timestamp)][lastUpdatedStamp,2021-11-05 08:49:09.515(java.sql.Timestamp)][lastUpdatedTxStamp,2021-11-05 08:49:09.361(java.sql.Timestamp)][partyId,SALES(java.lang.String)][roleTypeId,AGRMNT_OWNER(java.lang.String)][thruDate,null()] (SQL Exception while executing the following:null (The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint or unique index identified by 'SQL211103174827420' defined on 'AGREEMENT_ROLE'.))))
{noformat}

Note: this issue does not exist in the recent added similar feature in Party component.

Also are you sure it's OK to remove the AddParty label in ManufacturingUiLabels.xml because you dont touch to any screens in Manufacturing. I mean are you sure that the new AddParty label in PartyUiLabels.xml will be used there (in Manufacturing)?


> Handling of Agreement Role(s)
> -----------------------------
>
>                 Key: OFBIZ-5996
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5996
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: accounting
>    Affects Versions: Trunk
>            Reporter: Pierre Smits
>            Assignee: Pierre Smits
>            Priority: Major
>              Labels: agreement(s), role, roles
>
> The roles screen on an agreement enable the user to add any party into any role on the agreement. 
> An example, user bizadmin can select party DemoEmployee for role PACKER and try to persist this agreement role. This leads to an error, like below:
> {code:java}
> The Following Errors Occurred:Error doing entity-auto operation for entity AgreementRole in service createAgreementRole: org.apache.ofbiz.entity.GenericEntityException: org.apache.ofbiz.entity.GenericEntityException: Error while inserting: [GenericEntity:AgreementRole][agreementId,AGR_SALES(java.lang.String)][createdStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][createdTxStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][lastUpdatedStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][lastUpdatedTxStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][partyId,DemoEmployee(java.lang.String)][roleTypeId,PACKER(java.lang.String)] (SQL Exception while executing the following:INSERT INTO OFBIZ.AGREEMENT_ROLE (AGREEMENT_ID, PARTY_ID, ROLE_TYPE_ID, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, CREATED_STAMP, CREATED_TX_STAMP) VALUES (?, ?, ?, ?, ?, ?, ?) (INSERT on table 'AGREEMENT_ROLE' caused a violation of foreign key constraint 'AGRMNT_ROLE_PRLE' for key (DemoEmployee,PACKER). The statement has been rolled back.)) (Error while inserting: [GenericEntity:AgreementRole][agreementId,AGR_SALES(java.lang.String)][createdStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][createdTxStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][lastUpdatedStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][lastUpdatedTxStamp,2021-11-04 11:14:26.779(java.sql.Timestamp)][partyId,DemoEmployee(java.lang.String)][roleTypeId,PACKER(java.lang.String)] (SQL Exception while executing the following:INSERT INTO OFBIZ.AGREEMENT_ROLE (AGREEMENT_ID, PARTY_ID, ROLE_TYPE_ID, LAST_UPDATED_STAMP, LAST_UPDATED_TX_STAMP, CREATED_STAMP, CREATED_TX_STAMP) VALUES (?, ?, ?, ?, ?, ?, ?) (INSERT on table 'AGREEMENT_ROLE' caused a violation of foreign key constraint 'AGRMNT_ROLE_PRLE' for key (DemoEmployee,PACKER). The statement has been rolled back.)))
> {code}
> The error message is valid, as the selected party doesn't have the selected role assigned to him. But undesirable.
> Even though it is questionable whether a party should be assigned to the role of PACKER on an agreement (and lets for the sake of the argument accept that it is a valid choice), the user then needs to ensure that the party gets the role before the agreement role can be established.
> In order to mitigate this, the user should only be able to:
>  # select a role that is applicable to an agreement (e.g. editor, reviewer, approver), and then
>  # select a party who has such role assiocated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)