at the beginning of DB. All tables charset were settled utf8 previously but I don't know why and from were this statement didn't change.

Also in previous versions DB does not had this statement.

I solved this

Changed SET NAMES latin1; to UTF8

For using FA, I fully modified DB (including all default values, languages and chart of accounts) to localize both language and chart of account.
I always had problem viewing DB information in FA, even after changing DB in utf-8.
In previous versions I solved this issue via adding

 mysql_set_charset("utf8"); 

within two functions in connect_db.inc file and this way I could solve it.

Nevertheless in FA 2.4 there are major updates and I don't know how do I solve this.

Dear Janusz

You are right, I don't know why we couldn't understand this option clearly. Very sorry of that.

After composing "Direct Invoice" we need to settle customer payment. Two ways FA lets us, first "Customer Payments" second "Deposit Entry". If we use "Deposit Entry" for settling payments, we always see unsettled payments in "Customer Payments". Also our accountants team tried in other types and saw this issue persists.

refer to my previous post: https://frontaccounting.com/punbb/viewtopic.php?pid=23675#p23675

6

(12 replies, posted in Installation)

 $brain_smashed = $apmuthu_knowledge;  

Thank you apmuthu :-)

I successfully recover .... yuhahahahahah

With the help of your last pdf attachment and some Googling upon full text guide, finally issue solved!

http://www.thegeekstuff.com/2014/04/recover-innodb-mysql

----------------------------------------------------------------------------------------

How to Recover InnoDB MySQL Table Data from ibdata and .frm Files

This tutorial explains how to restore MySQL tables when all or some of the tables are lost, or when MySQL fails to load table data.

One of the reason for this to happen is when the table data is corrupted.

In this particular scenario, when you connect to the MySQL database server, you cannot see one more tables, as they are missing.

Under this scenario, the MySQL log file contained the following messages:

InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
The method explained below will work only for InnoDB database.

Note: Before you do anything, take a backup of all the MySQL files and database in the current condition, and keep it somewhere safe.

To restore the table data you have make sure that data directory and its contents are intact. In my case it was fine.

drwx------ 2 mysql mysql     4096 Oct 11  2012 performance_schema
drwx------ 2 mysql mysql     4096 Dec 10  2012 ndbinfo
drwx--x--x 2 mysql mysql     4096 Dec 10  2012 mysql
-rw-rw---- 1 mysql mysql       56 Dec 19  2012 auto.cnf
drwx------ 2 mysql mysql     4096 Jul 30  2013 bugs
-rw-r----- 1 mysql mysql 50331648 Mar 18 10:35 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Apr 22  2013 ib_logfile1
-rw-r----- 1 mysql mysql 35651584 Mar 18 10:35 ibdata1
..
Ibdata1 – This file is the InnoDB system table space, which contains multiple InnoDB tables and associated indexes.
*.frm – Holds metadata information for all MySQL tables. These files are located inside the folder of the corresponding MySQL database. (for example, inside “bugs” directory)
ib_logfile* – All data changes are written into these log files. This is similar to the archive logs concepts that we find in other RDBMS databases.
Copy the Files

To restore the data from the above files, first stop the MySQL server.
# service mysqld stop
Copy the ibdata files, and the database schema folder to some other directory. We will use this to restore our Mysql database. In this case, we’ll copy it to the /tmp directory. The name of the database scheme in this example is bugs.

cp –r ibdata* ib_logfile* /tmp

cp –r schema_name/  /tmp/schema_name/
Start the MySQL server:

# service mysqld start
On a related note, for a typical MySQL database backup and restore, you should use the mysqldump command.

Restore the Data

Next, restore the table data as explained below.

In the my.cnf configuration file, set the value of the following parameter to the current size of the ib_logfile0 file. In the following example, I’ve set it to 48M, as that is the size I see for the ib_logfile0 file when I did “ls -lh ib_logfile0″

innodb_log_file_size=48M
Please note that both the ib_logfile0 and ib_logfile1 file size will be the same.

Copy the previous ibdata files to respective position, inside mysql data directory.

cp –r /tmp/ibdata* /var/lib/mysql/
Create an empty folder inside data directory with the same name as the database schema name that you are trying to restore, and copy the previous .frm files inside this folder as shown below:

cp –r /tmp/ib_logfile* /var/lib/mysql/
cp –r /tmp/schema_name/*.frm /var/lib/mysql/schema_name/
Finally, restart the MySQL server.

service mysqld restart
Now you have MySQL server running with the restored tables. Don’t forget to grant appropriate privileges for the clients to connect to the MySQL database.

7

(12 replies, posted in Installation)

BTW, many time I tried these commands to repair tables but didn't worked!
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
mysqlcheck -u root -p --check --all-databases
mysqlcheck -u root -p --optimize --all-databases

Also your last message which attached with the title of "Recovering an InnoDB table from only an .ibd file" was more out of my knowledge :-) my brain smashed

I believe there should be a way, because I saved those needed files but I can't put together them

8

(12 replies, posted in Installation)

I don't know how really should I appreciate your kind helps

I read all of references last night. Also I found  those (ibdata1, ib_logfile0, ib_logfile1) files from lost server, attached via below link.
Download Link from my web server

According your kind recommendation & references:
1. I made a virtual machine with Debian 7 and all needed staff, such as phpmyadmin, mysql and ...
2. Create an empty DB with that name
3. Stop MySQL engine
4. Copy those mentioned files in place
5. Gave desire mysql group permission to files and DB files
6. Start MySQL

While starting mysql, it reported can't repair some DB in my made DB.
The only thing that I can't control mysql version compatibility with my lost server.

Sorry for taking your valuable time too much, can you put some effort for the attached files!

9

(12 replies, posted in Installation)

Hi dear apmuthu
Thanks a ton


please if you don't mind answering some question smile

Some DB files had three items of (*.myd *.myi *.frm) but some just had (*.frm) files. Since I knew copy action was done successfully, DB files should not be corrupted. Is it possible some DB Tables became MyISAM and some of them InnoDB? if yes how could I know that?

How did you restore that? can I do via WAMP? or certainly should do it via Linux based mysql? and how should my configuration would be? by stopping MySQL engine and copy/paste solve my needs?

Please give me a comprehensive solution to bring out this DB, I lost my trust beside my friend sad 

Thanks for the time you put for analyzing DB files.

10

(12 replies, posted in Installation)

Appreciate you kind condolence
I must solve this, don't have any excuse for my friend sad

11

(12 replies, posted in Installation)

I really got in a big disaster sad((

I lost my Debian server accidentally, that was my own fault sad( For about 3 days (day & night) I am working with DB raw files.
I only copied all mysql *.myd *.myi *.frm files within " /var/lib/mysql" directory. I don't taken backup is MyISAM or InnoDB.

I got tired of Googling, please help me.


below is the uploaded files in my web server sad(
www.eai.co.ir/Backup/fa_db.zip

12

(6 replies, posted in Accounts Receivable)

still unsolved and very ugly bug

13

(6 replies, posted in Accounts Receivable)

Dear Janusz

Please keep up with me until step 3 and hold there smile . Suppose business wants to exchange product, without any money back (refund). When the business return back the sold product and wanted to issue Invoice at the same time for replacement, top of invoice shows  “Current Credit” amount for that customer. It says business should pay 100$ for that customer because of that product he/she returned.

Now consider replacement invoice again issued, when we check the “Customer Payments” notice that unsettled payment for the replacement. In fact that customer has not due for business but in  “Customer Payments” wrongly show a record of unsettled payment. And in no way can't remove that record.


ANOTHER EXAMPLE


Consider instead of entering unsettled “Customer Payments” form their own place we use Banking and General Leader > Payments. When we enter the payments still we saw unsettled at “Customer Payments” section too.



You can see these errors on Purchase section too.

14

(6 replies, posted in Accounts Receivable)

still I am looking for ways to solve it!!!

There is a very risky bug in both Sales/Purchase “payment” section
Let me explain it as a case study, step by step:

1. Issuing a direct invoice with the product “X” by the price of 100 $. Considering that “Current Credit” in “Direct Invoice” shows 0 USD.
2. We go to “Customer Payments” and allocate whole 100$ amount.
3. Then Customer asks for refund. Do the process via “Customer Credit Notes” for returning products X without giving any money back.
4. After that, same customer ask for alternative product. Here we go to the “Direct Invoice” and we saw “Current Credit” in “Direct Invoice” shows 100 $.
5. Finally the time for allocating payment in “Customer Payments” we saw the problem. Since the current product has a new price, “Customer Payments” section instead of using customer credit, show us whole price for customer.

You can see this bug in both Sales/Purchase “payments” section. Professionals can solve this issue but those are not accountant have problem with it. In my idea this bug is very dangerous point in accounting system.

In accounting for 2 simple reason "allocate payment" is not suitable.

1. We received payment without entering any sales 
2. Received more money than issued invoice

Also accountants have more reason than I wrote here.
In my own opinion this is a bug and have solution to solve it.

17

(3 replies, posted in Report Bugs here)

apmuthu I did both, I have problem with this beta version only.

18

(3 replies, posted in Report Bugs here)

We use previous versions of FA and also PDF generates in Arabic language. Now in recent beta version we can't fix the problem. Reports do not generates in utf-8.

Consider a business had issued some "Direct Invoices" to customer X without allocating "Customer Payments". In my case suppose there are 3 Invoices for customer X.

Now for some reasons accountant entered a "Deposits" for customer X from "Banking and General Ledger". Since we entered a "Deposits", FA must lessen the remaining amount at "Customer Payments". This is a problem. It is true in reports we can see the right remaining but the time we reach to the "Customer Payments" we receive wrong results.

Also this is the same behavior in "Payments to Suppliers" section.

20

(18 replies, posted in Wish List)

apmuthu, any recommendation on how to start this module?

With the budget and knowledge we have it took's a lot for us to create this but we will do that. Your further guideline we boost us more, such as which tables to work with and so on.

21

(18 replies, posted in Wish List)

Exactly, you well understood my meant apmuthu, thank you.

I and our team worked on FA very much, we really believed in we are a part of FA and can't give up.

We found a normal solution for check issues. We just need to know the encashment period while looking at "Bank Account Inquiry". For this we need to:

1. Add a date input in customers and suppliers "Payment Entry" for keeping check encashment date.
2. Altering “Bank Account Inquiry” section. Add a Combo box to let users to choose wither they are looking entry date or encashment date and have another encashment field in data grid.

Apmuthu, in your experience how much time does it takes to alter FA to feet in this shape?

22

(18 replies, posted in Wish List)

Well, there is a big difference here.
Shape of business trades here is vary from US; suppose a business that takes 100's (or more than) of checks from consumers or businesses within a month. Then that business pass away the taken checks to other businesses, like suppliers or etc…, or business issue their own checks to others. Meanwhile here businesses due to backs late encashment or instead of issuing their own company checks pass away taken checks to others, and because of that often put them in banks.

In “Reconcile Bank Account” you can just checkmark and compare with bank statement and this do not alter or change GL. Any change should made at other part like GL or payment entry manually.
Now if that business want to look up for checks they have taken from date to date for encashment or giving to other suppliers what have to do?
For your consideration our type of accounting is accrual and not cash accounting and because of that most of bank transaction based on check.

23

(18 replies, posted in Wish List)

apmuthu, did I clearly express what I want? at first stage it is very important to me that I indicate FA check section shortage clearly.

How do you put "Bank Account Reconciliation" in check section?

24

(18 replies, posted in Wish List)

Dear apmuthu, the only thing I want is to have:

1. Adding another "date" input in "Payment Entry(ies)".
2. For checks look up solution, to add 2 "Date input text" in "Journal Inquiry" with start and end date; this will solve everything because we can easily check what checks should be cashed at specific period of time or when is the checks due dates.

25

(18 replies, posted in Wish List)

I wish joe also involve to this matter too...I think Non Field DB Data can't applicable for this matter.