4,401

(16 replies, posted in Banking and General Ledger)

Lines 36 to 41 in gl/manage/bank_accounts.php:

    if ($Mode=='ADD_ITEM' && (gl_account_in_bank_accounts(get_post('account_code')) 
            || key_in_foreign_table(get_post('account_code'), 'gl_trans', 'account'))) {
        $input_error = 1;
        display_error(_("The GL account selected is already in use. Select another GL account."));
        set_focus('account_code');
    }

Line 39 above can have the error message modified as @joe stated or the if statement modified to be more tolerant like:

    if ($Mode=='ADD_ITEM' && (gl_account_in_bank_accounts(get_post('account_code')) )) {
        $input_error = 1;
        display_error(_("The GL account selected is already in use. Select another GL account."));
        set_focus('account_code');
    }

4,402

(16 replies, posted in Banking and General Ledger)

@joe: The error string would be quite explanatory, but what was the need to check if there were transactions prior to it's assignment to the Bank Account? Is it not sufficient to check if it was just already allotted to some other Account?

Provide an example of the 2 fields envisaged - are they different for each GRN or only their values are different for each GRN or they have some relationship (calculatable formula) with existing constants / field values?

You might want to experiment with manually entered values into the sys_prefs table and / or use special charge / service items in the GRN.

Checkout the screenshot in the wiki and make a mockup of what you want and link it in here.

Upgrade your install by overwriting with the changed files from this post.

Where is the Polish version hosted? Any screenshots?

4,406

(3 replies, posted in FA Modifications)

Where? If it is the text in the report, look at the doctext.inc and/or correct it in the translations.

Banking and General ledger => Currencies => Edit Currency => tick AutoUpdate => Update

4,408

(16 replies, posted in Banking and General Ledger)

@:bobloblian: Your kind of persistence and feedback is what makes FA what it is. The info has been wikied.

@joe: Any logic in this condition needs to be wikied so that when we re-visit it in FA 2.4 we can make better workflows.

Will Tags suffice?

By "#" do you mean id or wildcard "*"?

The complete UK rep107.php and doctext.inc patch with screenshots are attached herein. Please check how you wish to code in the summary tax (or omit it fully) and the correctness of the "included" tax in the line items. Please test for multiple items with different rates of tax in invoices before submitting full patch.

4,412

(16 replies, posted in Banking and General Ledger)

Please provide the before and after sql backups differences so that it can be matched against any other means of inclusion.
Added screenshots on my take.
Removed Wiki inclusion.

Although Credit Card Account used to make payments to suppliers is actually a liability account, it may need to be treated as a checking account (Asset) in FA to be usable.

In view of the recent changes in rep107.php and after synching the white space diffs, I have attached the patch file for this commit. Further changes may need to be done in accommodating the Subtotal, total and other columns to be (6,8) instead of (6,7) and some flag inclusion for switching between the UK and normal invoice report formats.

Attached file has screenshots of 2 different invoices created with the patch that shows what further changes may be necessary.

@joe: Should there be a flag in rep107.php to incorporate this feature?

Also can we move the copyright header from all the FA files and keep them in one single licence file in the webroot?

4,415

(16 replies, posted in Banking and General Ledger)

Wiki-ed it.

4,416

(21 replies, posted in Reporting)

This means that this error pre-existed in FA. In FA v2.4, we must make sure that $customer has some value (even if blank) before arriving at rep107.php since the very same construct "if (!exists_customer_trans(....." precedes the current commit lines of rep107.php in rep110.php and rep113.php and the equivalent "if($myrow['debtor_no'] != $customer) {" instead of the current commit lines will always be sufficient even if not coded so.

@joe: thanks for spotting and correcting it forthwith. I had tested in Windoze that was probably more forgiving of absent variables!

4,417

(0 replies, posted in Reporting)

What is the purpose of $sign in rep107.php - it always has the value of 1 and nowhere does it get changed. Is it to provide an integer value? If so, what use is round2() in which it occurs?

It also appears in rep109.php, rep111.php, rep209.php without declaration in it (hopefully it came from some included file!).

It appears in rep113.php with a constant value of -1 and nowhere does it get changed.

4,418

(21 replies, posted in Reporting)

Have you tried to clear all the cache and close all instances of your browser before trying it?

Take a dump of all variables available while entering rep107.php from each menu link instance and report the difference. It may have something to do with the $currency variable not being defined or defined wrongly - under what set of values I cannot ascertain as it works correctly for me.

4,419

(21 replies, posted in Reporting)

All reports affected by the currency filter commit other than rep108.php get their results from other functions. In FA 2.4, we can consider filtering them in the WHERE clause in the source function's SQL tself.

In rep108.php, the sql is executed inline and can hence be filtered in the WHERE clause itself instead of in the php loop after the fact. The patch below achieves it:

--- reporting/rep108.php    Fri Feb 13 20:23:10 2015
+++ reporting/rep108.php    Fri Feb 13 20:19:18 2015
@@ -86,18 +86,17 @@
    if ($orientation == 'L')
         recalculate_cols($cols);
  
-    $sql = "SELECT debtor_no, name AS DebtorName, address, tax_id, curr_code, curdate() AS tran_date FROM ".TB_PREF."debtors_master";
+    $sql = "SELECT debtor_no, name AS DebtorName, address, tax_id, curr_code, curdate() AS tran_date FROM ".TB_PREF."debtors_master WHERE 1 ";
     if ($customer != ALL_TEXT)
-        $sql .= " WHERE debtor_no = ".db_escape($customer);
-    else
+        $sql .= " AND debtor_no = ".db_escape($customer);
+    if ($currency != ALL_TEXT)
+        $sql .= " AND curr_code = ".db_escape($currency);
+
         $sql .= " ORDER by name";
     $result = db_query($sql, "The customers could not be retrieved");
 
     while ($myrow=db_fetch($result))
     {
-        if ($currency != ALL_TEXT && $myrow['curr_code'] != $currency) {
-            continue;
-        }    
         $date = date('Y-m-d');
 
         $myrow['order_'] = "";

Journal Voucher / Credit / Debit Notes.

If you use the Non Field DB Data method, you do not need any extra field for such features. Refer the wiki for it.

4,422

(21 replies, posted in Reporting)

@joe: Thanks. That was fast and elegant.

For the record:
ALL_TEXT, the blank string constant, is defined in include/types.inc and is included in includes/main.inc which in turn is included in includes/session.inc which is included in all report files.
Hence it may be safely used in all reports.

4,423

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

There is already a README.md file in your GitHub repo. You can take the properly formatted one from mine and extend it to cover the date format aspects and other help info.

4,424

(21 replies, posted in Reporting)

@joe: Whilst incorporating the Currency filter in the appropriate report request forms, plesse try to include Sales Group filter as well. The latter will help manage exceptions easily with the help of temporary groups.

In FA 2.4, we can allow customer branches be part of multiple Sales Groups and possibly include a fallback Sales Group in the Customer record (debtor_master) as well.

4,425

(2 replies, posted in Setup)

Please post as a new topic under relevant head.

Read the FA Wiki and follow this Forum Post.