update record field doesn't work when i test my site and it works when i do the test in the interface

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
        )
this code work and do the update if i do the test in the interface but when i test it in my interface using the record action " new Transaction " that shows me the interface that contain this botton . the didn't work ! how can solve the problem please 

  Discussion posts and replies are publicly visible

  • i did it in button configuration line 110 , is it incorrect ! 

  • 0
    Certified Senior Developer
    in reply to hrshkar

    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.

  • +1
    Certified Senior Developer
    in reply to hrshkar

    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.

  • 0
    Certified Senior Developer
    in reply to hrshkar

    Perfect! Nice to hear that.