Re: [outkafe] WG: WG: Development of accounting solution
Status: Alpha
Brought to you by:
datadictator
|
From: A.J. V. <aj...@ou...> - 2009-07-06 10:52:10
|
That sounds... impossible - unless somebody else put it up there.
I have never released the source code as a package, and it's not
hosted on sourceforge, the only role sourceforge plays is in hosting
the mailing list, none of the code or distribution happens there.
The contributors guide on the wiki does explain how to get the code,
but that is based on subversion being used... it seems highly unlikely
that this is not svn based.
Before you try anything else, just check for me if there is a .svn
directory in your source tree please ?
Also - I almost forgot - I need the sql dump with the database schema
for the new table as well. You can just mail that to me directly.
Ciao
A.J.
On Mon, Jul 6, 2009 at 12:42 PM, Roman Meier<rom...@gi...> wrote:
> Hi A.J.
>
> I don't think I did a subversion checkout. I rather downloaded the code
> as a package from sourceforge. Sorry, it's been a few months back and I
> don't remember very well.
>
> Beside, I also did some minor changes to the code based on the feedback
> of my staff. They have nothing to do with the accounting part. You can
> ignore these changes.
>
> As far as I know, the relevant changes are in the folders "liboukafe"
> and "outkafeadmin" only. I can archive and send these folders to you.
>
> Sorry for the inconvenience. Let me know, how you like to go about it.
>
> Kind regards,
> Roman
>
> -----Ursprüngliche Nachricht-----
> Von: A.J. Venter [mailto:aj...@ou...]
> Gesendet: Montag, 6. Juli 2009 07:31
> An: User discussion and support list.
> Betreff: Re: [outkafe] WG: WG: Development of accounting solution
>
> I take it you did a subversion checkout from the repository ?
>
> In that case, the easiest way to get the code to me is to do the
> following,
> cd into the directory where you worked on the code and then run
>
> svn diff > accounting.patch
>
> bzip2 the accounting.patch file and mail it to me. This file will
> include all your changes, I can then apply it to my working directory
> to get those changes, commit them, work on them and will ultimately
> release a new version with this feature included.
>
> Ciao
> A.J.
>
> On Sun, Jul 5, 2009 at 4:09 PM, Roman Meier<rom...@gi...>
> wrote:
>> Hi A.J.
>>
>> I finished the accounting part a few days ago. Since then my boys are
>> beta testing it. It works fine and the feedback is positive so far.
> I'm
>> ready to submit it to you.
>>
>> Finally I didn't include the cvs part. I wasn't able to fit it into
> the
>> design or I simply didn't understand it. Sorry for that. Please feel
>> free to add it yourself.
>>
>> How can I submit the code to you?
>>
>> Kind regards,
>> Roman
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Roman Meier [mailto:rom...@gi...]
>> Gesendet: Donnerstag, 25. Juni 2009 12:21
>> An: 'User discussion and support list.'
>> Betreff: AW: [outkafe] WG: Development of accounting solution
>>
>> Hi A.J.
>>
>> Thanks for the cvs report code ! I'll give cvs a chance then :-)
>>
>> Kind regards,
>> Roman
>>
>> -----Ursprüngliche Nachricht-----
>> Von: A.J. Venter [mailto:ajv...@gm...]
>> Gesendet: Donnerstag, 25. Juni 2009 09:37
>> An: User discussion and support list.
>> Betreff: Re: [outkafe] WG: Development of accounting solution
>>
>> Hi Roman,
>> Since you need to extract the data from the database to present a
> report
>> you have basically two approaches you can take.
>> The one is to have your read method export a set of VAR parameters and
>> feed them back as variables, this is doable and you can put the
>> conversions in the lib then, - but you have a stack of them so you
> will
>> need to use arrays or something... it gets really complex.
>> The other is to use a tstringlist and set up a function method -which
>> means the compiler does almost all the work for you, in that case
>> though, you need to differentiate the columns in some way that will
> make
>> it easy to tell them apart on the other end, CVS is by far the easiest
>> format to parse, heck - here's the code:
>>
>> Var TmpStr,Time, Description,AmountStr : String;
>> Amount,Total : Real;
>> ...
>> Total := 0;
>> for I in 0 to Stringlist.Count -1 do
>> Begin
>> TmpStr := StringList[I];
>> Time := Copy(TmpStr,1,pos(',',TmpStr)-1);
>> Delete(TmpStr,1,pos(',',Tmpstr));
>> Delete (Time,1,1);
>> Time := Copy(Time,1,pos('"',Time);
>> //Repeat exactly as above for Description and amountStr
>> Ammount := StrToFloat(AmountStr);
>> Total := Total+Amount;
>> //Add all three to listview, look in the main tab at the userlist
>> code for an example
>> End;
>> //Add the total to the view
>>
>> Voila - there's the code to display the report, and you already HAVE
> the
>> CSV, so adding a button to save the file is now really easy,
> basically,
>> I would say if you implement what you want in the easiest possible way
> -
>> you'll get the CSV export feature for free :)
>>
>> Ciao
>> A.J.
>> On Thu, Jun 25, 2009 at 11:25 AM, Roman Meier <rom...@gi...>
>> wrote:
>> Hi A.J.
>>
>> Thanks a lot for the detailed road map !
>>
>> I don't know yet, if I'm going to implement CVS reports. However, I'll
>> think about it.
>>
>> I'll start with the implementation within next week.
>>
>> Kind regards,
>> Roman
>>
>> -----Ursprüngliche Nachricht-----
>> Von: A.J. Venter [mailto:aj...@ou...]
>> Gesendet: Donnerstag, 25. Juni 2009 08:14
>> An: User discussion and support list.
>> Betreff: Re: [outkafe] WG: Development of accounting solution
>>
>> I went and thought about it... actually - trust me, it won't :)
>> The older direqcafe didn't use a database at all, it stored it's data
>> in a flatfile binary data-file that was shared across machines... yes,
>> it was a REALLY stupid design, but there were reasons for it at the
>> time (the main one being that it had been meant as an LTSP only
>> solution, not networked) - but this does mean that the code was
>> completely wrong for how outkafe works.
>> Your system really should store these entries in a table in the
>> database, and use SQL to generate the data for the reports.
>>
>> Here's how I would go about it:
>> Step one, access your postgresql server using something like PGadmin,
>> and create a new table with the fields you need.
>> It need not be too much, essentially all you need is
>> Timestamp (also set as your primary key)
>> Description (something you can use to save what kind of transaction it
>> was)
>> Amount (A floatingpoint field to store the amount, positive or
>> negative).
>>
>> Before you now do anything else, do a sql-dump of this table, which
>> will give you an SQL file that people can use to create the table - we
>> can then add it to the schema for a next release which will include
>> your work- voila :)
>>
>> Then you code into liboutkafe.pas - find the methods that do
>> transactions, there are only about 3 or 4 of them anyway, and add a
>> SQL call to each of them to log it (you will find enough examples of
>> how to create the sql calls in the library - just a line or two above)
>>
>> The SQL you will want to generate will ultimately be something like
> this
>> INSERT INTO transaction_log VALUES(NOW,'Time sold','43.75');
>>
>> There you go - you now have a solid log of transactions - that's your
>> first major milestone. The next one is to be able to report on it.
>> The proper way is to first define a new report class in liboutkafe
>> which will handle the DB stuff for you, essentially your report class
>> will have just methods to take input fields you want as potential
>> criteria (for now, lets assume we only have to worry about a date
>> range, so that will mean our parameters will be two TDate variables
>> for start and end) - and then perform the SQL steps (which you can see
>> examples of in the other methods) and return the data as needed.
>> I would suggest your report method produce a TStringList which holds
>> the data returned as a CSV format set.
>> So our entry above would come back as:
>> "2009-06-25 10:05:22:06","Time sold","43.75"
>>
>> Voila, now you have a core reporting back end.
>>
>> Add a new tab on the outkafeadmin interface for accounting, at the top
>> of the tab put a small panel with your filtering options, you
>> basically just need two TDateEdits a "save as" button and a "submit"
>> button, in the rest of the tab, put a TListView to display the stuff,
>> set your column names - and you're good to go.
>>
>> The submit button creates an instance of the report class, generates a
>> report and then parses the CSV in the stringlist to fill the
>> tstringlist , as you do so, you can add up the column values to
>> produce a total line at the bottom. You could either put this in the
>> tlistview itself, or perhaps display it more prominently in a bottom
>> panel or something - see what works design wise.
>>
>> The Save-As button should be disabled until the submit button is
>> pressed, when it is subsequently clicked, it should save the
>> TStringList to a text file (TStringList has a SaveToFile method which
>> makes this really easy) - so you'll need a TSaveFileDialog as well to
>> hook up, there should be examples of using this in the code, else
>> check wiki.lazarus.freepascal.org
>>
>> And now your reports are save-able as CSV's, which in turn can be
>> imported into spreadsheets, and from there into other types of
>> software if needed :)
>> The CSV export will be really useful, and very easy to add - so I
>> think that will greatly increase the utility of your addon, no others
>> are really critical, if people want a PDF or something, they can use
>> their spreadsheet program to generate it and take care of things like
>> formatting while they are at it.
>>
>> That should give you all you want, with a few touches to make it
>> useful to a lot of people :) - and while this is just a set of steps,
>> I think you should find them simple enough to follow, and if you just
>> put in the time, you'll get what you want, and others will also get
>> the benefit - and we can release that as the next outkafe release.
>>
>> As a side-benefit, it means the next set of binaries will also be
>> updated with libpq requirements etc. for new distro's -all in all, a
>> good step forward.
>> I will take it on myself to do a few more things once you're done and
>> package a release out of the work.
>>
>> Ciao
>> A.J.
>>
>> On Wed, Jun 24, 2009 at 9:53 PM, Roman Meier<rom...@gi...>
>> wrote:
>>> Hi A.J.
>>>
>>> Thanks for your input !
>>>
>>> I can't promise a perfect designed solution too :-) I just need a
>>> working solution. Maybe you'll find the time one day to improve upon.
>>>
>>> I perfectly agree with your propositions. Transactions where money
>> goes
>>> out will not come now. I simply don't need that at the moment.
>>>
>>> Please get the code for me. It may help.
>>>
>>> Kind regards,
>>> Roman
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: A.J. Venter [mailto:ajv...@gm...]
>>> Gesendet: Mittwoch, 24. Juni 2009 17:23
>>> An: User discussion and support list.
>>> Betreff: Re: [outkafe] WG: Development of accounting solution
>>>
>>> I may if I go have a look - but it's approach was really rather badly
>>> designed.
>>> I wouldn't even touch it if I were you.
>>>
>>> What I would suggest, based on code I did for private customers (and
>>> thus can't share) which worked well:
>>> Create first of all, a logging module, that logs the transactions,
>> make
>>> sure you log everything you actually need, a timestamp of the
>>> transaction, the amount in etc.
>>>
>>> Ditto for transactions where money goes out.
>>>
>>> Then instead of thinking "accounting" you think "reporting" - your
>>> accounting is merely to pull stats from the report, like "total sales
>> on
>>> date X" - which is now all doable in pure SQL - lazarus is just the
>>> interface, the database already knows how to get this data, so just
>> tell
>>> it to :)
>>>
>>> Ciao
>>> A.J.
>>> On Wed, Jun 24, 2009 at 7:11 PM, Roman Meier <rom...@gi...>
>>> wrote:
>>> Hi A.J.
>>>
>>> Do you still have the code of the older direqcafe version? I can
>> imagine
>>> that its accounting part can help me a lot. Can you make it available
>>> for download?
>>>
>>> Kind regards,
>>> Roman
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Roman Meier [mailto:rom...@gi...]
>>> Gesendet: Mittwoch, 24. Juni 2009 09:14
>>> An: 'User discussion and support list.'
>>> Betreff: AW: [outkafe] Development of accounting solution
>>>
>>> Hi A.J.
>>>
>>> Thanks for your support !
>>>
>>> Good, I'll integrate the code into Outkafe then.
>>>
>>> Please feel free to submit your requirements.
>>>
>>> Kind regards,
>>> Roman
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: A.J. Venter [mailto:aj...@ou...]
>>> Gesendet: Montag, 22. Juni 2009 09:56
>>> An: User discussion and support list.
>>> Betreff: Re: [outkafe] Development of accounting solution
>>>
>>> Hi Roman,
>>> I think it's a good idea, I must warn you though - I had one in the
>>> older direqcafe versions, it was the hardest part of the code to
>>> maintain, you can write it any way you want - but I think if you
> build
>>> it into outkafe as a new feature set you will be able to achieve more
>>> over-all, and can use the outkafe library directly rather than having
>> to
>>> rely on plugin calls.
>>>
>>> I am happy to support you in the process, but I must say that I
>>> basically considder outkafe a completed product and I'm only doing
>>> crucial maintainance on it now, my focus is on kongoni and it's using
>> up
>>> every spare moment I have.
>>> I would love to see outkafe continue, but I just don't have the time
>>> myself anymore, ideally somebody would take over the project as a
>> whole
>>> and see it into the future, with new and fresh ideas, but in the
>>> meantime, I'll fix critical bugs and help out people like you trying
>> to
>>> expand it.
>>>
>>>
>>> Ciao
>>> A.J.
>>> On Mon, Jun 22, 2009 at 11:49 AM, Roman Meier <rom...@gi...>
>>> wrote:
>>> Hi list
>>>
>>> I would like to develop a simple accounting solution for outkafe that
>>> can be used by anybody using outkafe.
>>>
>>> I intend to use the existing outkafe postgresql database to store the
>>> data. Therefore I can add another table to it. The columns may be:
>>>
>>> Id: 4319
>>> Staff: felix
>>> Time: 11:3:7
>>> Date: Sun Feb 1 2009
>>> Units: 50
>>> Username: nketsiah
>>>
>>> Should I develop a perl plugin for outkafe or should I integrate the
>>> code directly into outkafe using lazarus?
>>>
>>> I need a list with basic requirements / ideas that should be
>>> implemented?
>>>
>>> I need some feedback to make sure that I'm choosing the right
>> direction.
>>>
>>> Kind regards,
>>> Roman
>>>
>>>
>>>
>>
> ------------------------------------------------------------------------
>>> ------
>>> Are you an open source citizen? Join us for the Open Source Bridge
>>> conference!
>>> Portland, OR, June 17-19. Two days of sessions, one day of
>> unconference:
>>> $250.
>>> Need another reason to go? 24-hour hacker lounge. Register today!
>>>
>>
> http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebrid
>>> ge.org
>>> _______________________________________________
>>>
>>> OutKafe MailingList.
>>> MailingList Options:
>>> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
>>> OutKafe Website/WIKI:
>>> http://outkafe.outkastsolutions.co.za
>>>
>>>
>>>
>>> --
>>> A.J. Venter
>>> Tel.: +27 21 554 5059
>>> Fax: +27 11 252 9197
>>> Outkast Solutions IT
>>> www.outkastsolutions.co.za
>>> A division of Global Pact Trading Pty Ltd.
>>>
>>> www.silentcoder.co.za - Blog
>>> scartoonz.silentcoder.co.za - ScarToonz webcomic
>>>
>>>
>>>
>>
> ------------------------------------------------------------------------
>>> ------
>>> _______________________________________________
>>>
>>> OutKafe MailingList.
>>> MailingList Options:
>>> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
>>> OutKafe Website/WIKI:
>>> http://outkafe.outkastsolutions.co.za
>>>
>>>
>>>
>>> --
>>> "Semper in excretum set alta variant" - My father
>>> A.J. Venter - http://www.silentcoder.co.za
>>>
>>>
>>>
>>
> ------------------------------------------------------------------------
>> ------
>>> _______________________________________________
>>>
>>> OutKafe MailingList.
>>> MailingList Options:
>> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
>>> OutKafe Website/WIKI:
>>> http://outkafe.outkastsolutions.co.za
>>>
>>
>>
>>
>> --
>> A.J. Venter
>> Tel.: +27 21 554 5059
>> Fax: +27 11 252 9197
>> Outkast Solutions IT
>> www.outkastsolutions.co.za
>> A division of Global Pact Trading Pty Ltd.
>>
>> www.silentcoder.co.za - Blog
>> scartoonz.silentcoder.co.za - ScarToonz webcomic
>>
>>
> ------------------------------------------------------------------------
>> ------
>> _______________________________________________
>>
>> OutKafe MailingList.
>> MailingList Options:
>> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
>> OutKafe Website/WIKI:
>> http://outkafe.outkastsolutions.co.za
>>
>>
> ------------------------------------------------------------------------
>> ------
>> _______________________________________________
>>
>> OutKafe MailingList.
>> MailingList Options:
>> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
>> OutKafe Website/WIKI:
>> http://outkafe.outkastsolutions.co.za
>>
>>
>>
>> --
>> "Semper in excretum set alta variant" - My father
>> A.J. Venter - http://www.silentcoder.co.za
>>
>>
>>
> ------------------------------------------------------------------------
> ------
>> _______________________________________________
>>
>> OutKafe MailingList.
>> MailingList Options:
> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
>> OutKafe Website/WIKI:
>> http://outkafe.outkastsolutions.co.za
>>
>
>
>
> --
> A.J. Venter
> Tel.: +27 21 554 5059
> Fax: +27 11 252 9197
> Outkast Solutions IT
> www.outkastsolutions.co.za
> A division of Global Pact Trading Pty Ltd.
>
> www.silentcoder.co.za - Blog
> scartoonz.silentcoder.co.za - ScarToonz webcomic
>
> ------------------------------------------------------------------------
> ------
> _______________________________________________
>
> OutKafe MailingList.
> MailingList Options:
> https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
> OutKafe Website/WIKI:
> http://outkafe.outkastsolutions.co.za
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
>
> OutKafe MailingList.
> MailingList Options: https://lists.sourceforge.net/lists/listinfo/akinimod-direqcafe
> OutKafe Website/WIKI:
> http://outkafe.outkastsolutions.co.za
>
--
A.J. Venter
Tel.: +27 21 554 5059
Fax: +27 11 252 9197
Outkast Solutions IT
www.outkastsolutions.co.za
A division of Global Pact Trading Pty Ltd.
www.silentcoder.co.za - Blog
scartoonz.silentcoder.co.za - ScarToonz webcomic
|