Hello If you're using flatpak your portfolio.scm is probably located in another folder. I am sorry I don't know where exactly. Does anyone know if there is a flatpak nightly available?
On Sun, 6 Oct 2019 at 13:02, NOSTOP <[email protected]> wrote: > Hello John. > > I'm on ver 3.7, Flatpak, Linux Mint 18.3 > > My file : portfolio.scm is different. There is no "report-currency" to > change into "currency" at line 199 or anywhere else in the file. > > > * > portfolio.scm :* > > > > (define-module (gnucash report standard-reports portfolio)) > > (use-modules (gnucash main)) ;; FIXME: delete after we finish modularizing. > (use-modules (srfi srfi-1)) > (use-modules (gnucash gnc-module)) > (use-modules (gnucash gettext)) > > (use-modules (gnucash printf)) > > (gnc:module-load "gnucash/report/report-system" 0) > > (define reportname (N_ "Investment Portfolio")) > > (define optname-price-source (N_ "Price Source")) > (define optname-shares-digits (N_ "Share decimal places")) > (define optname-zero-shares (N_ "Include accounts with no shares")) > > (define (options-generator) > (let* ((options (gnc:new-options)) > ;; This is just a helper function for making options. > ;; See gnucash/src/scm/options.scm for details. > (add-option > (lambda (new-option) > (gnc:register-option options new-option)))) > > ;; General Tab > ;; date at which to report balance > (gnc:options-add-report-date! > options gnc:pagename-general > (N_ "Date") "a") > > (gnc:options-add-currency! > options gnc:pagename-general (N_ "Report's currency") "c") > > (gnc:options-add-price-source! > options gnc:pagename-general > optname-price-source "d" 'pricedb-latest) > > (add-option > (gnc:make-number-range-option > gnc:pagename-general optname-shares-digits > "e" (N_ "The number of decimal places to use for share numbers.") 2 > 0 6 0 1)) > > ;; Account tab > (add-option > (gnc:make-account-list-option > gnc:pagename-accounts (N_ "Accounts") > "b" > (N_ "Stock Accounts to report on.") > (lambda () (filter gnc:account-is-stock? > (gnc-account-get-descendants-sorted > (gnc-get-current-root-account)))) > (lambda (accounts) (list #t > (filter gnc:account-is-stock? accounts))) > #t)) > > (gnc:register-option > options > (gnc:make-simple-boolean-option > gnc:pagename-accounts optname-zero-shares "e" > (N_ "Include accounts that have a zero share balances.") > #f)) > > (gnc:options-set-default-section options gnc:pagename-general) > options)) > > ;; This is the rendering function. It accepts a database of options > ;; and generates an object of type <html-document>. See the file > ;; report-html.txt for documentation; the file report-html.scm > ;; includes all the relevant Scheme code. The option database passed > ;; to the function is one created by the options-generator function > ;; defined above. > (define (portfolio-renderer report-obj) > > (let ((work-done 0) > (work-to-do 0)) > > ;; These are some helper functions for looking up option values. > (define (get-op section name) > (gnc:lookup-option (gnc:report-options report-obj) section name)) > > (define (get-option section name) > (gnc:option-value (get-op section name))) > > (define (table-add-stock-rows table accounts to-date currency > exchange-fn price-fn include-empty > collector) > > (let ((share-print-info > (gnc-share-print-info-places > (inexact->exact (get-option gnc:pagename-general > optname-shares-digits))))) > > (define (table-add-stock-rows-internal accounts odd-row?) > (if (null? accounts) collector > (let* ((row-style (if odd-row? "normal-row" "alternate-row")) > (current (car accounts)) > (rest (cdr accounts)) > (commodity (xaccAccountGetCommodity current)) > (ticker-symbol (gnc-commodity-get-mnemonic commodity)) > (listing (gnc-commodity-get-namespace commodity)) > (unit-collector (gnc:account-get-comm-balance-at-date > current to-date #f)) > (units (cadr (unit-collector 'getpair commodity #f))) > > (price-info (price-fn commodity to-date)) > (price (car price-info)) > (price-monetary (if price > (gnc:make-gnc-monetary > (gnc-price-get-currency price) > (gnc-price-get-value price)) > (gnc:make-gnc-monetary > currency > (cdr price-info)))) > (value (exchange-fn (gnc:make-gnc-monetary commodity > units) > currency))) > > (set! work-done (+ 1 work-done)) > (gnc:report-percent-done (* 100 (/ work-done work-to-do))) > (if (or include-empty (not (gnc-numeric-zero-p units))) > (begin (collector 'add currency (gnc:gnc-monetary-amount > value)) > (gnc:html-table-append-row/markup! > table > row-style > (list (gnc:html-account-anchor current) > (gnc:make-html-table-header-cell/markup > "text-cell" ticker-symbol) > (gnc:make-html-table-header-cell/markup > "text-cell" listing) > (gnc:make-html-table-header-cell/markup > "number-cell" > (xaccPrintAmount units share-print-info)) > (gnc:make-html-table-header-cell/markup > "number-cell" > (gnc:html-price-anchor price > price-monetary)) > (gnc:make-html-table-header-cell/markup > "number-cell" value))) > ;;(display (sprintf #f "Shares: %6.6d " > (gnc-numeric-to-double > units))) > ;;(display units) (newline) > (if price (gnc-price-unref price)) > (table-add-stock-rows-internal rest (not odd-row?))) > (begin (if price (gnc-price-unref price)) > (table-add-stock-rows-internal rest odd-row?)))))) > > (set! work-to-do (length accounts)) > (table-add-stock-rows-internal accounts #t))) > > ;; Tell the user that we're starting. > (gnc:report-starting reportname) > > ;; The first thing we do is make local variables for all the specific > ;; options in the set of options given to the function. This set will > ;; be generated by the options generator above. > (let ((to-date (gnc:date-option-absolute-time > (get-option gnc:pagename-general "Date"))) > (accounts (get-option gnc:pagename-accounts "Accounts")) > (currency (get-option gnc:pagename-general "Report's currency")) > (report-title (get-option gnc:pagename-general > gnc:optname-reportname)) > (price-source (get-option gnc:pagename-general > optname-price-source)) > (include-empty (get-option gnc:pagename-accounts > optname-zero-shares)) > > (collector (gnc:make-commodity-collector)) > ;; document will be the HTML document that we return. > (table (gnc:make-html-table)) > (document (gnc:make-html-document))) > > (gnc:html-document-set-title! > document (string-append > report-title > (sprintf #f " %s" (gnc-print-date to-date)))) > > ;(gnc:debug "accounts" accounts) > (if (not (null? accounts)) > (let* ((commodity-list (gnc:accounts-get-commodities > (append > (gnc:acccounts-get-all-subaccounts > accounts) accounts) currency)) > (pricedb (gnc-pricedb-get-db (gnc-get-current-book))) > (exchange-fn (gnc:case-exchange-fn price-source currency > to-date)) > (price-fn > (case price-source > ((weighted-average average-cost) > (lambda (foreign date) > (cons #f (gnc-numeric-div > (gnc:gnc-monetary-amount > (exchange-fn (gnc:make-gnc-monetary > foreign > (gnc-numeric-create 10000 > 1)) > currency)) > (gnc-numeric-create 10000 1) > GNC-DENOM-AUTO > (logior (GNC-DENOM-SIGFIGS 5) > GNC-RND-ROUND))))) > ((pricedb-latest) > (lambda (foreign date) > (let* ((price > (gnc-pricedb-lookup-latest-any-currency > pricedb foreign)) > (fn (if (and price (> (length price) 0)) > (let ((v (gnc-price-get-value (car > price)))) > (gnc-price-ref (car price)) > (cons (car price) v)) > (cons #f (gnc-numeric-zero))))) > (if price (gnc-price-list-destroy price)) > fn))) > ((pricedb-nearest) > (lambda (foreign date) > (let* ((price > > (gnc-pricedb-lookup-nearest-in-time-any-currency > pricedb foreign (timespecCanonicalDayTime > date))) > (fn (if (and price (> (length price) 0)) > (let ((v (gnc-price-get-value (car > price)))) > (gnc-price-ref (car price)) > (cons (car price) v)) > (cons #f (gnc-numeric-zero))))) > (if price (gnc-price-list-destroy price)) > fn)))))) > > (gnc:html-table-set-col-headers! > table > (list (_ "Account") > (_ "Symbol") > (_ "Listing") > (_ "Units") > (_ "Price") > (_ "Value"))) > > (table-add-stock-rows > table accounts to-date currency > exchange-fn price-fn include-empty collector) > > (gnc:html-table-append-row/markup! > table > "grand-total" > (list > (gnc:make-html-table-cell/size > 1 6 (gnc:make-html-text (gnc:html-markup-hr))))) > > (collector > 'format > (lambda (currency amount) > (gnc:html-table-append-row/markup! > table > "grand-total" > (list (gnc:make-html-table-cell/markup > "total-label-cell" (_ "Total")) > (gnc:make-html-table-cell/size/markup > 1 5 "total-number-cell" > (gnc:make-gnc-monetary currency amount))))) > #f) > > (gnc:html-document-add-object! document table)) > > ;if no accounts selected. > (gnc:html-document-add-object! > document > (gnc:html-make-no-account-warning > report-title (gnc:report-id report-obj)))) > > (gnc:report-finished) > document))) > > (gnc:define-report > 'version 1 > 'name reportname > 'report-guid "4a6b82e8678c4f3d9e85d9f09634ca89" > 'menu-path (list gnc:menuname-asset-liability) > 'options-generator options-generator > 'renderer portfolio-renderer) > > > > > > > -- > Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-User-f1415819.html > _______________________________________________ > gnucash-user mailing list > [email protected] > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > If you are using Nabble or Gmane, please see > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. > _______________________________________________ gnucash-user mailing list [email protected] To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.
