updating data

Hello devs, I need your help. I have two records: 'account' and 'transaction', and the 'balance' field of 'account' varies based on the value of the 'Amount' field of 'Transaction'. I've added conditions to update the 'Balance' (in the saveInto function) when the user clicks 'Create transaction' and it works well in the interface the field in my ruleInput record has been updated, but the update isn't happening at the database level. How can I dynamically change the balance on my site based on the value of the 'Amount' field of the transaction record?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Senior Developer

    In saveInto, update the real account, not rule!Input. Use queryRecord to get from Account record(transaction.accountId) to fetch it. Calculate new balance based on transaction type and amount. Simply update the account's Balance with update(account, Balance, newBalance). Save the transaction record as usual.
    Let me know if that works for you.

  • the "Account" record shouldn't be passed to my interface as a ri ?

  • 0
    Certified Senior Developer
    in reply to hrshkar

    Yes! As per my understanding from your issue mentioned.
    Try doing it what i suggested once.

  • im new to appian and i don't know why it gives me this error when i try to correct my code and impliment what you have said this is my code : "Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error : Could not find variable 'local!currentUserAccount'"

    a!localVariables(
      local!newBalance : 
      if(
        and(
          a!isNotNullOrEmpty(
            ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}somme']
          ),
          a!isNotNullOrEmpty(
            local!currentUserAccount
          ),
          ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}somme'] >= 0
        ),
        local!currentUserAccount + ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}somme'],
        0
      ),
    local!currentUserAccount : rule!PBY_getaccountbyid("test"),
      local!typeValue: if(
        ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'] = "Virement interne",
        "Virement interne",
        if(
          ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'] = "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}PBY transaction.fields.{7c7b6fd3-57be-4b83-8c0e-4e9ac46f0ed3}TypeTransaction'],
                  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}PBY transaction.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}somme'],
                  saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{e57ce205-d18d-4eb2-83ee-f669e5c56ab1}somme'],
                  required: false
                ),
                a!textField(
                  label: "Discription",
                  labelPosition: "ABOVE",
                  value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{ab543c07-1cb7-49d8-84a7-f62d36e9b438}disc'],
                  saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{ab543c07-1cb7-49d8-84a7-f62d36e9b438}disc'],
                  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}PBY account',
                  value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{30901144-d5a7-4d96-8411-68ef7cef8a04}accountId'],
                  saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{30901144-d5a7-4d96-8411-68ef7cef8a04}accountId']
                ),
                a!dateTimeField(
                  label: "Date",
                  labelPosition: "ABOVE",
                  value: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{2f45e501-55aa-4cda-907f-cd99cf82e7cc}date'],
                  saveInto: ri!record['recordType!{ad2b45c4-cbc3-4de4-a189-c5593ad5032b}PBY transaction.fields.{2f45e501-55aa-4cda-907f-cd99cf82e7cc}date'],
                  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['recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}PBY account.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}Solde'],
                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
          )
        },
        secondaryButtons: {
          a!buttonWidget(
            label: "Cancel",
            value: true,
            saveInto: ri!cancel,
            submit: true,
            style: "OUTLINE",
            validate: false
          )
        }
      )
    )
    )

  • +1
    Certified Senior Developer
    in reply to hrshkar

    local!currentUserAccount that's not defined properly.

    Check this code.

    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 + 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['recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}'],
                  value: a!update(local!currentUserAccount , 'recordType!{b37748b2-8103-41ea-8028-2b358e4f229c}.fields.{4a9de4b2-f127-44f1-86d2-21c2a6b2ee2d}' , local!newBalance), 
                ),
              },
              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
            )
          }
        )
      )
    )



  • Thanks alot for you answers , when i try to give a value to my "somme" field i got this error : Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error : Cannot add incompatible operands of type b37748b2-8103-41ea-8028-2b358e4f229c and type Number (Integer).    eventhougth "Solde" is equal to 1000 in the local!UserAccount record

  • 0
    Certified Senior Developer
    in reply to hrshkar


    Check below code.

    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 + 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), 
                ),
              },
              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 gives me this error : Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error [evaluation ID = 60b37:5d843] : An error occurred while executing a save: Expression evaluation error: You must specify a variable to save into, such as ri!name << fn!sum. Received: b37748b2-8103-41ea-8028-2b358e4f229c.

  • 0
    Certified Lead Developer
    in reply to hrshkar

    You need to use a!save() inside a saveInto to manipulate data.

  • +1
    Certified Senior Developer
    in reply to hrshkar

    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 + 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), 
                ),
              },
              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
            )
          }
        )
      )
    )

Reply
  • +1
    Certified Senior Developer
    in reply to hrshkar

    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 + 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), 
                ),
              },
              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
            )
          }
        )
      )
    )

Children