About Support

Support has been a member since August 3rd 2009, and has created 46 posts from scratch.

Support's Bio

Programmer | Delphi | PHP | Ruby | Digital Traveling, My name is Eko Subagio, i have been involve in programming since 1992, it's start from green monitor with 8088 processor, you know from diskette using GW-BASIC, compare now with current technology, double core processor, quad core processor, how it would be in the next fifteen years to come ? You can make the future.

Support's Websites

This Author's Website is http://www.webceraton.com

Support's Recent Articles

Download OpenbravoPOS Manage Report

You need to manage report outside OpenbravoPOS, you need to get summary result of sales transaction, how many product, which top ten item has been sold, you need it, because you want to know which item that really love by customer.

This is the OBPOSManage Report that can provide the summary, top ten sold item, total amount of each category, the report written using Delphi. The code still not release by webceraton, but it could be in the near future.


How to use it ?

First of all, extract the zip file that you have been download from here, then read the readme.txt file, after you read and understand the language, open the config.txt. You need to set Database = fill with your current openbravopos schema name.

OBPOS Manage Report, Summary Report

Top Sales Item Report, CSV Report

OBPOSManage using MySQL database to work, so you should be better using MySQL in order to work with this program. To get the summary report, just click the menu Preview to see the result display in grid, and set the start date of your transaction that you want to get, and also set the end date of your POS transaction.

After you set the date, click OK, the OBPOSManage program will process the calculation of report, and processing top ten or the most moving item in POS. The result will display in the preview report, and from this report you can print, using the general printer.

Saving summary report is possible using menu save to excel csv file. The process to produce report is almost the same with preview report. The different is, after process finish, you will be asking to provide the path, where do you want to put CSV file. You can put the report in USB or flashdisk. So, it is valuable if your computer or POS at your store only once.
Download OBPOSManage click here.

If you any question regarding this program just post comment or ask support post in comment form, so other people can learn from it also. Enjoy the program.

How To Install Delphi Jedi JVCL JCL ?

I still love free component from Delphi JEDI JVCL, JCL as one of the component contributor, i wrote this tutorial to give short guide how to install JVCL 3 to Delphi using JEDI Installer.

You can install JCL first, because JVCL has dependecies to JCL, go to JCL folder then run install.bat, you can also type from command prompt of windows:

Run install.bat in jcl folder

After you run install.bat at JCL folder the new JEDI Installer window will open and pop up to your scree, you can see the list of configuration under the tree menu.

If your computer using Delphi 7, the JEDI Installer will detect the Delphi and will put the Delphi as tab, so you can choose that, then click install button.

Inside of Delphi tab at JEDI Installer, there are installation log, BPL Path, DCP Path, for now, let this path as default, or if you already familiar with Delphi, you can set this Path to different disk or folder. If you think the folder is Ok then just klik Install. Then, you will be asked that you really want to install the selected features ? just click Yes.

Note: Please note, that after or you click Yes, if you have Delphi already running under windows, please close the Delphi first, or the installation will note continue. If you have more than one Delphi version installed in your computer, make sure if you don’t want to install to another Delphi, just uncheck the option in the Delphi tab of JEDI Installer.

Then, the screen progress of compiling JCL library will pop up, and will show the progress of compilation.

Progress of JEDI Installer  After the compilation success, the you should install JVCL, because it has      dependencies to JCL. Now, go to JVCL folder and still using command prompt, type    install. bat. Now, it is the JVCL installation pop up dialog will show up, and you need  to read the mozilla license, then click next, the default option to install or upgrade  already set, then click next. You will the options of the installation, for now, let is as  default and just click next. In the select packages you will see the options and many  package that you want to install, just choose or select all or do nothing, just click  next.

Finally, is the summary of the installation that will do forward, if you don’t have  anything to changes, just click Install.

The progression of JVCL installation will show you, the progress of compilation JVCL. Just wait, untill all progress has finished, then click finish. Now you can open up Delphi to see the JVCL has been installed. Cheers.

Openbravopos How To Suspend Transaction

Do you think you need suspend transaction feature in OpenbravoPOS ?

I found some user asking how to suspend transaction in openbravoPOS, in the original version there is no suspend transaction feature. The case that i found is, Customer came to Cafe and order some coffee, bread, and other item, then they said hold the bill, i will order more later. The question mark is can OpenbravoPOS handle transaction like this ?

I would glad to answer Yes for sure. I just made some changes that would be capture suspend transaction, edit suspend transaction, and close suspend transaction, and the user would be happy to see this.

 

Add Virtual Column To DBGrid

Goal : add virtual column in the left side of DBGrid component.

Why we need to add virtual column, from user experience, they need to identify how many row in the DBGrid. You can solve this using row color to differentiate between even and odd row.

In fact, when there are so many approach, to add virtual column is the close approach to this, without too much code, without changing database structure. Here is the step to do that, what we gonna do is using ZeosDB vcl component, drop TZConnection, drop TZQuery or you can use TZTable. I am using MySQL database here, and create table let say item with the structure as follow:

create item (
ID int(10),
itemname varchar(255) );

After you setup necessary properties for TZConnection, TZQuery or TZTable, add one virtual field to TZQuery or TZTable. Right click on TZQuery or TZTable, open up Field Editor.

add new field, in this example i create vRowNumber, with integer as data type, and choose calculated data.Why we choose as calculated data, because we want to assign new value to field vRowNumber each time the the OnCalc event has triggered. Delphi know very well when onCalc should be call. Here is the code :

procedure Tdm.productCalcFields(DataSet: TDataSet);
begin
productvRowNumber.AsInteger := product.RecNo;
end;

Look at the code above, virtual field vRowNumber from table product is assigned by value from method RecNo. Method RecNo will returning exact value of record number for each row in product table.

The picture at above is the result from virtual field, column Row is the representation of vRowNumber field, which is the value assigned from product.RecNo.

Note: What i am trying to show here is the one way approach, and the value from virtual field vRowNumber will not stored to database, because the goal is we do not need to add new field in item table, because i do not want to changes the database structure only to show the row number. If you want to run the MySQL script when updating client database, you can use ZeosDB component’s TZSQLProcessor. TZSQLProcessor is the VCL component to run script orSQL complex command inside Delphi. I am never test this ZeosDB using Open Source Pascal IDE such as Lazarus.

By using this approach the complexity of updating the database’s structure has been reduce, and also the code to assign row number calculation became very simple. In the next tutorial i will introduce also and write about how to use TZSQLProcessor to work with MysQL database. Remember, you became more understand if you practice more and more.

PHP MySQL Query Case Sensitive

MySQL is the database that will differentiate between lowercase and uppercase fieldname, if you define the field name using lowercase then you should follow the lowercase field name in your programming code. In PHP there are no error found if you access the fieldname using lowercase or uppercase, instead the result will not display or blank result. In order to describe this code in programming, i will create an example below,

create table webuser( ‘NAME’ varchar(100) );
Now access this table in your PHP,
$result = mysql_query(” select name from webuser”) or die(mysql_error());
echo “Name :”. $result['name'];

The result:
Name:

The code at above will not produce error in PHP even you put the die or error trap. This might be will be solve in next PHP version ( PHP6 or next version ). But for the PHP5 and below, you should be carefull using lowercase or uppercase, or putting mistype of fieldname using lowercase or uppercase.

Copyright© 2009-2011 Webceraton. All Rights Reserverd. Forum Contact About