save corrupted gnucash file

Derek Atkins warlord at MIT.EDU
Fri Sep 24 10:44:06 EDT 2010


Hi,

Zhang Weiwu <zhangweiwu at realss.com> writes:

> On 2010年09月24日 21:51, Derek Atkins wrote:
>> The invoice ID is 100% for human consumption; there is no meaning to
>> GnuCash.  It's just a string.
>>   
> If ID is 100% for human consumption, what is behind the logic of not
> allowing human to edit it or allowing duplicate IDs to be in the first
> place?

Um, you can absolutely edit it!  From the invoice viewer click on the
"Edit" toolbar icon and it will open up the "Edit Invoice" dialog.  From
there you can change the Invoice ID, Customer, Job, Terms, and all the
other data!

> I would not be using ID in place of UUID for reference purpose myself if
> I designed gnuCash in the first place (yes, stupid as you may see me is,
> I also develop software), but I believe in the concept that a piece of
> software is a tool, that it serves a purpose of solving a problem.
> Avoiding human readable ID duplicate in invoice, even the unpaid
> invoices, is a practical business need. And trying to solve a need a
> software itself didn't full-fill by hacking it seems nature to me. You
> argue I have done a wrong way to solve this need reads to me as if you
> assume the need does not exist or should not exist. This sounds like
> denying a need because of lack of good way to solve it, that is really a
> software-development-centric thinking, opposite to the proven-successful
> usage-oriented-design thinking in desktop application industry nowadays.

I argue that you've done wrong by hand-modifying the XML instead of
using the UI to make changes to your data.

There has never been a requirement that the visible, human-readable
InvoiceID be unique.  It may be a requirement in YOUR business, but it
is not a global requirement.  So GnuCash does NOT enforce it.  Sure, the
automated IDs are monotonically increasing (and I admit that there's no
way to set the starting number in the UI), so if you let GnuCash do its
thing you will absolutely get unique IDs (per item type).

You're absolutely right, GnuCash is a tool.. And it tries to be most
things to most people, but it is not everything to everybody.  And
people have to know how to USE a tool properly.  Sure, you could use a
hammer on a screw, but it's better to use a screwdriver instead.

>> most likely you created entries by hand, or you're doing something
>> funky with some merges?
>>   
> Since I use a keyboard-video-mouse computer as most others, all things I
> do to it are by hand. I thus I assume by saying "by hand" you mean I
> edited the XML source, which is a false assumption. They are there
> without any previous edit to the XML source.

Nope, by "by hand" I meant that you entered your own invoice ID into the
window.  OR you're being confused by the fact that a Customer InvoiceID
can be the same as a Vendor BillID.

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-user mailing list