Account flows
In the Accounts table, I have a view called Flows with the following script. It gives the correct dataset but would like to filter out from that dataset the selected account ledger line items (that is, xAccountId).
in other words, using another analogy, give me all products that a customer also purchased when they purchased Product X but do not list Product X.
"PURPOSE: SELECT ALL TRANSACTION LINE ITEMS WHERE JOURNAL ENTRY NUMBER EQUALS ALL JOURNAL ENTRY NUMBERS IN ACCOUNT";
let xAccountId := number(Id);
let xLedgerId := text(unique(concat((select Ledger)[Accounts.Id = xAccountId].Journal.Id)));
(select Ledger)[contains(xLedgerId, text(Journal.Id))]
52 replies
-
I would upload a file, but v3.10.10 broke the Export to Ninox function of the MacOS app.
You can put this in a new button in the Accounts table > Ledger tab:
let xFund := unique(Ledger.Journal.Fund); for loop1 in xFund do let loopLedger := (Ledger[Journal.Fund = loop1] order by Journal.Date); for loop2 in loopLedger do let xLoc := index(loopLedger, loop2); if xLoc = 0 then loop2.(Balance := loop2.DrCr) else loop2.(Balance := item(loopLedger, xLoc - 1).Balance + loop2.DrCr) end end end
Line 1 creates a unique array of the Funds associated with the Account.
Line 2 starts a loop using the array in line 1.
Line 3 filters the linked Ledger records to only have the Funds in the current loop then orders the results by Date.
Line 4 starts a sub loop using the results from line 3.
Line 5 - 9 are just the same as last time just modified to fit the new loop structure.
You can then group the Ledger tab view element by Fund and see the results.
Then you have to update the Trigger after update of the Amount field in the Ledger table to:
let t := this; let xLedger := (Accounts.Ledger[Journal.Fund = t.Journal.Fund] order by Journal.Date); for loop1 in xLedger do let xLoc := index(xLedger, loop1); if xLoc = 0 then loop1.(Balance := loop1.DrCr) else loop1.(Balance := item(xLedger, xLoc - 1).Balance + loop1.DrCr) end end
-
This would be a perfect example to export the records to a json and inject this data into a dynamic printreport to get a pdf.
Using the same formula from your view with customized fields after the select.
e.g.:
(select Invoices){
name: FirstName + " " + LastName,
adres: Street + " " + Number
}see this post : https://forum.ninox.com/t/60yhd2g
Content aside
- Status Answered
- 1 yr agoLast active
- 52Replies
- 462Views
-
4
Following