It should not cause any problems if we change it in v2.3 itself isn't it?

4,952

(9 replies, posted in Reporting)

Clear browser cache. Logout and login again. Crear the js cache from the company folder and the and template cache as well.

4,953

(9 replies, posted in Reporting)

You must not comment out / remove all these lines. Just remove the if wrapper so that all lines will print - replace them with:

// Display all lines
        $rep->row += 6;
        $rep->Line($rep->row);
        $rep->NewLine();
        $rep->TextCol(0, 2,    _('Total') . " " . $typename);
        for ($i = 1; $i <= 12; $i++)
            $rep->AmountCol($i + 1, $i + 2, ($total[$i] + $ctotal[$i]) * $convert, $dec);
        $rep->NewLine();

4,954

(1 replies, posted in Reporting)

reporting/repXXX.php files generate the reports (modified clones in # company folders override them).
reporting/reports_main.php file contains the form input variables.
FPDF / TCPDF / HTML2PDF libraries can be used to customise generation of the PDF Reports.
Have look at the reporting/includes/pdf_report.inc file that has the FA PDF report class and the reporting/includes/excel_report.inc file that has the FA Excel report class.

4,955

(7 replies, posted in Announcements)

FA Forum Registrations stats attached.

4,956

(12 replies, posted in FA Modifications)

Is it completed now at:
https://github.com/cambell-prince/frontaccounting/commits/feature/tempBankTransferEdit
?

Get your changed files from:
https://frontaccounting.com/punbb/viewtopic.php?id=5211

4,958

(65 replies, posted in Setup)

Here is a pure MySQL import of one customer sequence for FA v2.3.22:

SET @currency=(SELECT MID(`value`,1,3) AS currency FROM `2_sys_prefs` WHERE category='setup.company' AND `name`='curr_default');  # SGD
SET @debtorsact=(SELECT (`value`+0) AS debtors_act FROM `2_sys_prefs` WHERE category='glsetup.sales' AND `name`='debtors_act');   # 1200
SET @paymentdiscact=(SELECT (`value`+0) AS debtors_act FROM `2_sys_prefs` WHERE category='glsetup.sales' AND `name`='default_prompt_payment_act');  # 4500
SET @salesdiscact=(SELECT (`value`+0) AS debtors_act FROM `2_sys_prefs` WHERE category='glsetup.sales' AND `name`='default_sales_discount_act');    # 4510
SET @ref='Jack Brown';
SET @name='Jack David';
SET @name2='Brown';
SET @address='123 Timbuktoo Street, Johannesburg, South Africa';
SET @phone='94568745';
SET @email='jack@dbrown.com';
SET @CitizenID='H5463546T';
SET @Gender='Male';

INSERT INTO 2_crm_persons (ref, `name`, name2, address, phone, email, notes) VALUES (@ref, @name, @name2, @address, @phone, @email, CONCAT(@CitizenID,' ',@Gender));

SET @personid=LAST_INSERT_ID();

INSERT INTO `2_debtors_master` (debtor_no, `name`, debtor_ref, address, tax_id, curr_code, credit_status, payment_terms, credit_limit, notes) 
  SELECT 
    NULL AS debtor_no, 
    CONCAT(`name`,' ',name2) AS `name`, 
    ref AS debtor_ref,
    address, 
    '' AS tax_id, 
    @currency AS curr_code, 
    1 AS credit_status,
    4 AS payment_terms, 
    0 AS credit_limit, 
    '' AS notes 
  FROM 2_crm_persons 
  WHERE id = @personid;

SET @debtorno=LAST_INSERT_ID();

INSERT INTO `2_cust_branch` (branch_code, debtor_no, br_name, branch_ref, br_address, area, salesman, contact_name, default_location, 
                                tax_group_id, sales_account, sales_discount_account, receivables_account, payment_discount_account, br_post_address, notes) 
  SELECT 
    NULL AS branch_code,
    @debtorno AS debtor_no,
    `name` AS br_name,
    debtor_ref AS branch_ref,
    address AS br_address,
    1 AS area,
    1 AS salesman,
    '' AS contact_name,
    'DEF' AS default_location,
    1 AS tax_group_id,
    '' AS sales_account,
    @salesdiscact AS sales_discount_account,
    @debtorsact AS receivables_account,
    @paymentdiscact AS payment_discount_account,
    address AS br_post_address,
    notes
  FROM `2_debtors_master`
  WHERE debtor_no = @debtorno;

SET @brcode=LAST_INSERT_ID();

INSERT INTO `2_crm_contacts` (id, person_id, `type`, `action`, entity_id) VALUES 
  (NULL, @personid, 'cust_branch', 'general', @brcode)
, (NULL, @personid, 'customer', 'general', @debtorno);

ERD is in the Wiki and attached in this post as well.

Move all files from the /account/frontaccounting directory to the /account directory.
Go to your browser and access the url:
http://IP.or.domain/account
It will redirect you to the install page.....

The field crm_contacts.entity_id is used to look up the cust_branch.branch_code in reporting/rep103.php and hence both must be of the same field type. The former is VARCHAR(11) whilst the latter is INT(11). Any reason why the former remains VARCHAR?

The file sales/includes/db/branches_db.inc too uses the entity_id field to lookup the branch_code in a similar way.

To match the order of Nickname (ref), First Name (name), Last Name (name2) in the function that inserts and updates these fields in the crm_persons table, we need it to match the arguments order being passed on during it's invocations.

The function add_crm_persons() is defined in includes/db/crm_contacts_db.inc:

function add_crm_person($ref, $name, $name2,.....

but invoked in line 120 of sales/manage/customers.php by:

add_crm_person($_POST['CustName'], $_POST['cust_ref'], '', ......

4,962

(14 replies, posted in Modules Add-on's)

Just like importing bank statements into FA, we also need to import customers into FA. Since both can benefit from a common CSV parsing routine based on different templates, it would also be a nice addition or as a separate extension that partakes of this code.

4,963

(14 replies, posted in Modules Add-on's)

The only relation to this module will be the CSV parser. You can refer this post for the SQLs involved.

4,964

(3 replies, posted in Reporting)

Look up the font variable in the config.php file and set it accordingly.

4,965

(1 replies, posted in Items and Inventory)

Increase the thread_stack parameter value from the current 128K to 192 K for 32 bit systems or 256 K for 64 bit systems.

http://stackoverflow.com/questions/2919558/mysql-servers-thread-stack-parameter-what-is-it-how-big-should-it-be
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html

You will need to set it in the my.cnf or my.ini or .my.cnf file under the [mysqld] stanza and restart the mysqld process/server.

thread_stack=196608

4,966

(9 replies, posted in Reporting)

You need to modify the file reporting/rep705.php by seeing if the "if" wrapper is needed in lines 146 to 156:

    //Display Type Summary if total is != 0 OR head is printed (Needed in case of unused hierarchical COA) 
    if ($printtitle)
    {
        $rep->row += 6;
        $rep->Line($rep->row);
        $rep->NewLine();
        $rep->TextCol(0, 2,    _('Total') . " " . $typename);
        for ($i = 1; $i <= 12; $i++)
            $rep->AmountCol($i + 1, $i + 2, ($total[$i] + $ctotal[$i]) * $convert, $dec);
        $rep->NewLine();
    }

4,967

(14 replies, posted in Modules Add-on's)

Does this still work in FA v2.3.22?

4,968

(14 replies, posted in Modules Add-on's)

That's great! See if you can extend it to importing customers as well or make another one for it.

4,969

(65 replies, posted in Setup)

Please pass on the old customer import from csv module so that we can make it up-to-date. It does not seem to be available in the extensions repo.

On adding a customer through the FA Add Customer form the following SQLs are generated:

INSERT INTO `2_crm_persons` VALUES 
('2', 'Justin Zhou Lu', 'Justin Lu', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '', '0');

INSERT INTO `2_crm_contacts` VALUES 
  (3, '2', 'cust_branch', 'general', '2')
, (4, '2', 'customer', 'general', '2');

INSERT INTO `2_cust_branch` VALUES
 (2, '2', 'Justin Zhou Lu', 'Justin Lu', '', '1', '1', '', 'DEF', '1', '', '4510', '1200', '4500', '1', '0', '', '0', 'Male', '0');

INSERT INTO `2_debtors_master` VALUES
 ('2', 'Justin Zhou Lu', 'Justin Lu', NULL, 'PQ453625N', 'USD', '1', '0', '0', '1', '4', '0', '0', '0', 'Male', '0');

Attached is what I understand to be the ERD between these tables (they are not fully depicted in the FA v2.3 ERD pdf).

Joe / Janusz - please explain if these relationships are correct with the 2_crm_contacts.type field enforcing some sort of filter.

There is no field for gender and CitizenID Number of the person in FA as of now.....GST / VAT Number field can be used for Citizen ID Number for now whilst gender can be placed in the Notes field but these land up in the 2_cust_branch and 2_debtors_master tables!

The id field of the 2_crm_contacts table does not seem to be referenced anywhere and is just used for uniqueness for view/edit purposes.

The cust_branch.branch_ref, debtors_master.debtor_ref and the crm_persons.name (and not the crm_persons.ref) are in the select boxes.

Wiki-ed it.

4,971

(4 replies, posted in Setup)

Hiding Menu Tabs might make sense. Otherwise, if you want to have an All-Journal system, then stop the other application files from being included and being invoked to be loaded in frontaccounting.php (comment out what is not needed in the following code snippet from the said file):

..
..
    include_once($path_to_root . '/applications/customers.php');
    include_once($path_to_root . '/applications/suppliers.php');
    include_once($path_to_root . '/applications/inventory.php');
    include_once($path_to_root . '/applications/manufacturing.php');
    include_once($path_to_root . '/applications/dimensions.php');
..
..
            $this->add_application(new customers_app());
            $this->add_application(new suppliers_app());
            $this->add_application(new inventory_app());
            $this->add_application(new manufacturing_app());
            $this->add_application(new dimensions_app());
....

4,972

(12 replies, posted in FA Modifications)

Joe please add this.

4,973

(4 replies, posted in Modules Add-on's)

any reason why person_id is a tinyblob?

4,974

(2 replies, posted in Report Bugs here)

Set your (currently error causing path) session path to be somewhere under your writeable path in the php.ini and make sure it is writeable by the web server user.
Otherwise, make sure the stated /var/php_sessions folder is created and writeable by the web server user.

Compare the Database backup schema with the CoA sql used and see what has changed and alter the db structure accordingly.

Be careful with any extensions used and their default data as well.

====
Google Translate: smile

Comparar el esquema de copia de seguridad de base de datos con el sql CoA utilizado y ver lo que ha cambiado y alterar la estructura db en consecuencia.

Tenga cuidado con las extensiones utilizadas y sus datos por defecto también.
====