hello everyone , can anyone here help me please , i have develloped an interface and i configiured the save button in this interface to do the update of a record field this is my code :
a!buttonWidget( saveInto: { /*a!save(*/ /*target: local!currentUserAccount,*/ /*value: a!update(local!currentUserAccount , 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}PBY account.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}Solde', local!newBalance), */ /*),*/ a!writeRecords( records: local!currentUserAccount, onSuccess: a!save( target: local!currentUserAccount, value: a!update(local!currentUserAccount , 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}PBY account.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}Solde', local!newBalance), ), ) }, label: if(ri!isUpdate, "Save", "Create"), submit: true, style: "SOLID", validate: true )
Discussion posts and replies are publicly visible
Hi,
1. "that shows me the interface that contain this button . the didn't work " , This means the write to record is not happening?
if i do the test in the site the write to record is not happening . but when i test it in the interface where i have the interface code the write to record happen
I do the configuration in the interface because I'm trying to update a field of another record, not the record that contains the form information.
OK. Now, in line 114, you modify the data AFTER you write it to the DB. Is that by intention?
yes ! the field "solde" is initially given by the user in a account form then stored in a "account" record . if th user did a transaction then the field solde will be updated
Hm ... checking your code, I see that you write local!lcurrentUserAccount to DB, but do not do any updates to it. I mean, all saveInto in the form store their data into the rule input.
i did it in button configuration line 110 , is it incorrect !
Is my understanding correct: You have to update record first and then write?
Thank you for your response. No, I want the data to be updated even if I test it on my site. In my case, the update is only executed if I test my interface and this is the problem.
You asked me same question on other thread too?You can update your record first then write that record.Try this and let me know if that works for you.
a!localVariables( local!currentUserAccount : rule!PBY_getaccountbyid("test"), local!newBalance : if( and( a!isNotNullOrEmpty( ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'] ), a!isNotNullOrEmpty( local!currentUserAccount ), ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'] >= 0 ), local!currentUserAccount['recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}'] + ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'], 0 ), local!typeValue: if( ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}'] = "Virement interne", "Virement interne", if( ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}'] = "Virement externe", "Virement externe", null() ) ), a!formLayout( label: if( ri!isUpdate, "Update transaction", "Create transaction" ), contents: { a!columnsLayout( columns: { a!columnLayout( contents: { a!dropdownField( choiceLabels: {"Virement interne","Virement externe",}, choiceValues: {"Virement interne","Virement externe",}, label: "Type transaction", labelPosition: "ABOVE", placeholder: "Selectionner le type de virement", saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}'], value : local!typeValue, searchDisplay: "AUTO", validations: {} ), /*a!textField(*/ /*label: "Type Transaction",*/ /*labelPosition: "ABOVE",*/ /*value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'],*/ /*saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'],*/ /*characterLimit: 255,*/ /*required: false*/ /*),*/ a!integerField( label: "Somme", labelPosition: "ABOVE", value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'], saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}'], required: false ), a!textField( label: "Discription", labelPosition: "ABOVE", value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{ab543c07-1cb7-49d8-84a7-f62d36e9b438}'], saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{ab543c07-1cb7-49d8-84a7-f62d36e9b438}'], characterLimit: 255, required: false ) } ), a!columnLayout( contents: { a!pickerFieldRecords( label: "Compte Utilisateur", labelPosition: "ABOVE", placeholder: "Select a Account", maxSelections: 1, recordType: 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}', value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{30901144-d5a7-4d96-8411-68ef7cef8a04}'], saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{30901144-d5a7-4d96-8411-68ef7cef8a04}'] ), a!dateTimeField( label: "Date", labelPosition: "ABOVE", value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{2f45e501-55aa-4cda-907f-cd99cf82e7cc}'], saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}.fields.{2f45e501-55aa-4cda-907f-cd99cf82e7cc}'], required: false ), /*a!pickerFieldRecords(*/ /*label: "",*/ /*labelPosition: "ABOVE",*/ /*placeholder: "Select a User",*/ /*maxSelections: 1,*/ /*recordType: 'recordType!{4fd8023a-5200-4bb0-af2d-7bed73fb330b}PBY user',*/ /*value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{692a0a51-d46d-4fee-a10e-aad2f90cb201}userId'],*/ /*saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{692a0a51-d46d-4fee-a10e-aad2f90cb201}userId']*/ /*)*/ } ) } ) }, buttons: a!buttonLayout( primaryButtons: { a!buttonWidget( saveInto: { a!save( target: local!currentUserAccount, value: a!update(local!currentUserAccount , 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}', local!newBalance), ), a!writeRecords( records: local!currentUserAccount, onSuccess: a!save( target: local!currentUserAccount, value: fv!recordsUpdated ), ) }, label: if(ri!isUpdate, "Save", "Create"), submit: true, style: "SOLID", validate: true ) }, secondaryButtons: { a!buttonWidget( label: "Cancel", value: true, saveInto: ri!cancel, submit: true, style: "OUTLINE", validate: false ) } ) ) )
It works! Thank you a lot for your help. I really appreciate your assistance.
Perfect! Nice to hear that.