mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
qif patch
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2467 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
765f8ea987
commit
a293c1bf94
@ -154,6 +154,7 @@
|
||||
;; S : split category
|
||||
((#\S)
|
||||
(set! current-split (make-qif-split))
|
||||
(set! default-split #f)
|
||||
(qif-split:set-category! current-split value)
|
||||
(qif-xtn:set-splits!
|
||||
current-xtn
|
||||
@ -192,6 +193,7 @@
|
||||
(if (qif-xtn:date current-xtn)
|
||||
(qif-file:add-xtn! self current-xtn))
|
||||
(set! current-xtn (make-qif-xtn))
|
||||
(set! current-split #f)
|
||||
(set! default-split (make-qif-split)))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -310,14 +312,13 @@
|
||||
;; and this is if we read a null or eof line
|
||||
(if (and (not heinous-error)
|
||||
(not (eof-object? line)))
|
||||
(line-loop))))))
|
||||
(line-loop))))))
|
||||
|
||||
;; now reverse the transaction list so xtns are in the same order that
|
||||
;; they were in the file. This is important in a few cases.
|
||||
(qif-file:set-xtns! self (reverse (qif-file:xtns self)))
|
||||
return-val))
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; qif-file:process-opening-balance-xtn self xtn
|
||||
;;
|
||||
@ -395,6 +396,7 @@
|
||||
(display elt))
|
||||
lst))))))
|
||||
(set! start-time (gettimeofday))
|
||||
|
||||
(and
|
||||
;; fields of categories.
|
||||
(check-and-parse-field
|
||||
@ -470,7 +472,7 @@
|
||||
set-error)
|
||||
|
||||
;; this one's a little tricky... it checks and sets all the
|
||||
;; split amounts for the transaction together.
|
||||
;; split amounts for the transaction together.
|
||||
(check-and-parse-field
|
||||
qif-xtn:split-amounts qif-xtn:set-split-amounts!
|
||||
qif-parse:check-number-formats '(decimal comma)
|
||||
|
@ -579,11 +579,9 @@
|
||||
(done #f))
|
||||
|
||||
(if bank-xtn?
|
||||
(let ((near (qif-xtn:from-acct xtn)))
|
||||
(set! far-acct-name (qif-split:category split))
|
||||
(if near
|
||||
(set! near-acct-name near)
|
||||
(set! near-acct-name (qif-file:default-account qif-file))))
|
||||
(begin
|
||||
(set! near-acct-name (qif-xtn:from-acct xtn))
|
||||
(set! far-acct-name (qif-split:category split)))
|
||||
|
||||
(let ((qif-accts
|
||||
(qif-split:accounts-affected split xtn))
|
||||
@ -596,11 +594,14 @@
|
||||
;; transactions to match up. Quicken thinks the near
|
||||
;; and far accounts are different than we do.
|
||||
(case action
|
||||
((intincx divx cglongx cgshortx miscincx miscexpx)
|
||||
((intincx divx cglongx cgshortx miscincx miscexpx sellx)
|
||||
(set! amount (- amount))
|
||||
(set! near-acct-name (qif-xtn:from-acct xtn))
|
||||
(set! far-acct-name (qif-split:category split)))
|
||||
((xout sellx)
|
||||
((buyx)
|
||||
(set! near-acct-name (qif-xtn:from-acct xtn))
|
||||
(set! far-acct-name (qif-split:category split)))
|
||||
((xout)
|
||||
(set! amount (- amount)))))
|
||||
(set! amount (- amount commission))))
|
||||
|
||||
@ -619,7 +620,7 @@
|
||||
(set! done #t)))
|
||||
;; iterate with the next split
|
||||
(if (and (not done)
|
||||
(not (null? (cdr splits))))
|
||||
(not (null? (cdr splits))))
|
||||
(split-loop (cdr splits)))))
|
||||
|
||||
;; iterate with the next transaction
|
||||
@ -774,6 +775,8 @@
|
||||
(length (qif-xtn:splits other-xtn)))
|
||||
(qif-xtn:mark-split xtn split)
|
||||
(qif-xtn:mark-split other-xtn other-split))))))
|
||||
|
||||
|
||||
|
||||
(define (qif-xtn:mark-split xtn split)
|
||||
(qif-split:set-mark! split #t)
|
||||
|
Loading…
Reference in New Issue
Block a user