Six months ago, I blogged about writing a program which would import data from the Imos program into Priority. A key statement in what I wrote appears at the end: I didn't bother with building the bills of material as this will require a fair amount of fiddling and imagination. I don't think I got very far with this at all as the required data was missing and I had great difficulty in explaining to the contractor what we required.
About two months ago, we met with representatives of the biggest kitchen cupboard manufacturers in Israel (it so happens that their CEO used to work for us). They use Imos and our CEO thought that the meeting would be mutually beneficial. As it happens, they didn't want any information from us, but they did warn us about the suitability (or otherwise) of the program. We came away from this meeting exceedingly depressed; afterwards I was witness to an hour long conversation with the contractor (who was not present at the meeting, naturally) in which he explained how this company is not representative and how their problems would not affect us. We almost decided to drop the project there and then.
About two weeks ago, one of the kitchen cupboard representatives started working for us. I wondered whether we had poached him but he told me that he left that company of his own free will and only later was approached by us. He knows how to develop in Imos so he is functioning as a middle man between the demands of Priority and the capabilities of Imos.
We met twice last week; the first time, I explained what data was required from Imos so that I could build an order and define bills of materials. The second time, he produced a spreadsheet which contained most of the required data in a form which I could use (there were a few intermediate versions which weren't suitable). I started to write a Delphi program which would read this spreadsheet (xls format) and output files which could be imported into Priority.
Since I last worked on this subject, I discovered a fairly simple method of building bills of materials so I was able to implement this new method. Yesterday I worked on the program which I had started on Thursday, expanding and correcting. At the same time, I worked on creating suitable interfaces in Priority. By about 2pm, I had a program and an interface which worked perfectly - at least, as far as we had defined the data.
Today I added some more flourishes and to be honest, I am very pleased with what I have achieved. Unfortunately, almost nobody will be aware of that achievement and those that will be will not understand the level of sophistication required. I suppose that, like my music, I have to be satisfied with the pleasure that the final work gives me, without expecting that anyone else will appreciate.