|
|
|
|
@ -364,13 +364,111 @@
|
|
|
|
|
(list "Petrol")))))
|
|
|
|
|
|
|
|
|
|
(define (env-create-test-accounts env)
|
|
|
|
|
(env-create-account-structure-alist env
|
|
|
|
|
(list "Root"
|
|
|
|
|
(list (cons 'type ACCT-TYPE-ASSET))
|
|
|
|
|
(list "Bank")
|
|
|
|
|
(list "Wallet")
|
|
|
|
|
(list "Other")
|
|
|
|
|
(list "Expenses"
|
|
|
|
|
(list (cons 'type ACCT-TYPE-EXPENSE))))))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(env-create-account-structure-alist
|
|
|
|
|
env
|
|
|
|
|
(list "Root"
|
|
|
|
|
(list (cons 'type ACCT-TYPE-ASSET))
|
|
|
|
|
(list "Bank")
|
|
|
|
|
(list "Wallet")
|
|
|
|
|
(list "Other")
|
|
|
|
|
(list "Expenses"
|
|
|
|
|
(list (cons 'type ACCT-TYPE-EXPENSE))))))
|
|
|
|
|
|
|
|
|
|
(define (mnemonic->commodity sym)
|
|
|
|
|
(gnc-commodity-table-lookup
|
|
|
|
|
(gnc-commodity-table-get-table (gnc-get-current-book))
|
|
|
|
|
(gnc-commodity-get-namespace (gnc-default-report-currency))
|
|
|
|
|
sym))
|
|
|
|
|
|
|
|
|
|
(define-public (create-test-data)
|
|
|
|
|
(let* ((env (create-test-env))
|
|
|
|
|
(GBP (mnemonic->commodity "GBP"))
|
|
|
|
|
(structure
|
|
|
|
|
(list "Root" (list
|
|
|
|
|
(cons 'type ACCT-TYPE-ASSET))
|
|
|
|
|
(list "Asset"
|
|
|
|
|
(list "Bank")
|
|
|
|
|
(list "GBP Bank" (list
|
|
|
|
|
(cons 'commodity GBP)))
|
|
|
|
|
(list "Wallet"))
|
|
|
|
|
(list "Income" (list
|
|
|
|
|
(cons 'type ACCT-TYPE-INCOME)))
|
|
|
|
|
(list "Income-GBP" (list
|
|
|
|
|
(cons 'type ACCT-TYPE-INCOME)
|
|
|
|
|
(cons 'commodity GBP)))
|
|
|
|
|
(list "Expenses" (list
|
|
|
|
|
(cons 'type ACCT-TYPE-EXPENSE)))
|
|
|
|
|
(list "Liabilities" (list (cons 'type ACCT-TYPE-LIABILITY)))
|
|
|
|
|
(list "Equity" (list
|
|
|
|
|
(cons 'type ACCT-TYPE-EQUITY)))))
|
|
|
|
|
(account-alist (env-create-account-structure-alist env structure))
|
|
|
|
|
(bank (cdr (assoc "Bank" account-alist)))
|
|
|
|
|
(gbp-bank (cdr (assoc "GBP Bank" account-alist)))
|
|
|
|
|
(wallet (cdr (assoc "Wallet" account-alist)))
|
|
|
|
|
(income (cdr (assoc "Income" account-alist)))
|
|
|
|
|
(gbp-income (cdr (assoc "Income-GBP" account-alist)))
|
|
|
|
|
(expense (cdr (assoc "Expenses" account-alist)))
|
|
|
|
|
(liability (cdr (assoc "Liabilities" account-alist)))
|
|
|
|
|
(equity (cdr (assoc "Equity" account-alist))))
|
|
|
|
|
|
|
|
|
|
;; populate datafile with old transactions
|
|
|
|
|
(env-transfer env 01 01 1970 bank expense 5
|
|
|
|
|
#:description "desc-1" #:num "trn1"
|
|
|
|
|
#:memo "memo-3")
|
|
|
|
|
|
|
|
|
|
(env-transfer env 31 12 1969 income bank 10
|
|
|
|
|
#:description "desc-2" #:num "trn2"
|
|
|
|
|
#:void-reason "void" #:notes "notes3")
|
|
|
|
|
|
|
|
|
|
(env-transfer env 31 12 1969 income bank 29
|
|
|
|
|
#:description "desc-3" #:num "trn3"
|
|
|
|
|
#:reconcile (cons #\c (gnc-dmy2time64 01 03 1970)))
|
|
|
|
|
|
|
|
|
|
(env-transfer env 01 02 1970 bank expense 15
|
|
|
|
|
#:description "desc-4" #:num "trn4"
|
|
|
|
|
#:notes "notes2" #:memo "memo-1")
|
|
|
|
|
|
|
|
|
|
(env-transfer env 10 01 1970 liability expense 10
|
|
|
|
|
#:description "desc-5" #:num "trn5"
|
|
|
|
|
#:void-reason "any")
|
|
|
|
|
|
|
|
|
|
(env-transfer env 10 01 1970 liability expense 11
|
|
|
|
|
#:description "desc-6" #:num "trn6"
|
|
|
|
|
#:notes "notes1")
|
|
|
|
|
|
|
|
|
|
(env-transfer env 10 02 1970 bank liability 8
|
|
|
|
|
#:description "desc-7" #:num "trn7"
|
|
|
|
|
#:notes "notes1" #:memo "memo-2"
|
|
|
|
|
#:reconcile (cons #\y (gnc-dmy2time64 01 03 1970)))
|
|
|
|
|
|
|
|
|
|
(env-create-multisplit-transaction
|
|
|
|
|
env 14 02 1971
|
|
|
|
|
(list (vector bank -100 -100)
|
|
|
|
|
(vector expense 80 80)
|
|
|
|
|
(vector wallet 20 20))
|
|
|
|
|
#:description "$100bank -> $80expenses + $20wallet"
|
|
|
|
|
#:notes "multisplit")
|
|
|
|
|
|
|
|
|
|
(let ((closing-txn (env-transfer
|
|
|
|
|
env 31 12 1977 expense equity
|
|
|
|
|
111 #:description "Closing")))
|
|
|
|
|
(xaccTransSetIsClosingTxn closing-txn #t))
|
|
|
|
|
|
|
|
|
|
(env-transfer-foreign env 15 01 2000 gbp-bank bank
|
|
|
|
|
10 14 #:description "GBP 10 to USD 14")
|
|
|
|
|
|
|
|
|
|
(env-transfer-foreign env 15 02 2000 bank gbp-bank
|
|
|
|
|
9 6 #:description "USD 9 to GBP 6")
|
|
|
|
|
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (m)
|
|
|
|
|
(env-transfer env 08 (1+ m) 1978
|
|
|
|
|
gbp-income gbp-bank 51 #:description "#51 income")
|
|
|
|
|
(env-transfer env 03 (1+ m) 1978
|
|
|
|
|
income bank 103 #:description "$103 income")
|
|
|
|
|
(env-transfer env 15 (1+ m) 1978
|
|
|
|
|
bank expense 22 #:description "$22 expense")
|
|
|
|
|
(env-transfer env 09 (1+ m) 1978
|
|
|
|
|
income bank 109 #:description "$109 income"))
|
|
|
|
|
(iota 12))
|
|
|
|
|
account-alist))
|
|
|
|
|
|