Thanks for the feedback.

4,527

(1 replies, posted in Translations)

If it is small enough, upload the zip here or place a link to it here. You can also fork my github repo that has all the extensions and more and send in  a pull request.

4,528

(1 replies, posted in Accounts Receivable)

Can apply Discount at Payment time as well on Payment Allocation form. Have a service item as discount billed in with negative amount may be possible.....

If it is small enough, upload the zip here or place a link to it here. You can also fork my github repo that has all the extensions and more and send in  a pull request.

4,530

(22 replies, posted in Reporting)

I too am unable to duplicate this error in a test environment in Debian Squeeze, Debian Wheezy and XAMPP v1.7.3 in WinXP SP3 / Win7 / LXDE on Debian 7 Desktop and IE 8 and FF33.

@carmelr can post the code and location of file include here and/or in the wiki for anyone encountering this problem.

4,531

(22 replies, posted in Reporting)

Replace the line with:

$abc = "Content-Disposition: attachment; filename='$filename'";
header($abc);

4,532

(22 replies, posted in Reporting)

See my post of 4 seconds earlier than yours.

4,533

(22 replies, posted in Reporting)

The only difference I find is that your $filename is quoted but the one in the code I posted is not!

Replace line 36 in reporting/prn_redirect.php

    header("Content-Disposition: attachment; filename=$filename" );

with

    header("Content-Disposition: attachment; filename='$filename'");

Or try swapping the single and double quotes in the replacement as well.

4,534

(48 replies, posted in Setup)

Non Field DB Data inclusion into reports and data entry forms for FA 2.3 is in my GitHub FAMods repo.

The enablers for it ported for FA 2.4 have been submitted to the devs and attached herein.

The actual implementation will vary across implementations and hence the devs may not want the specifics in my FAMods to be ported.

In FA 2.4, the function get_supplier_details_to_order() is in purchasing/includes/db/po_db.inc whereas in FA 2.3 it was in purchasing/includes/ui/po_ui.inc. Form customisations should still be made in the latter.

4,535

(22 replies, posted in Reporting)

This is a browser encoding issue. Try to set the browser encoding to Western and then to Unicode and see the difference. Also what platforms and browsers have you tried? What about a browser in Linux? The major ones - IE 8, FF24+, Chrome (I haven't tesed it), etc should have their own quirks for encoding settings. Also see if there are any line endings that may be dos instead of unix style in the scripts.

Also try to upload a good xls file to the server and download it back to see if there are any differences.

4,536

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

Refer the Wiki's Reports Page.
1.1 - Aged Customer Analysis
1.2 Company's debts to the customers - Sundry Creditors

2.1 - Aged Suppliers Analysis
2.2 Suppliers debts to Company - Sundry Debtors

Also checkout Outstanding Transactions (Print Statements).

Sundry Debtors / Creditors -> GL Ledger Reports.

Attached is the header2.inc file that should be placed in the company/#/reporting/includes folder where # is your company number. This will make the condensed report only for the specific company and only for the invoice report whilst all other reports will not be affected.

If you have found this useful, consider donating to the project and help others in the forum as you gain experience.

Checkout the attachment if that is what you want. It is a very dirty hack of the reporting file inclusions.

Setup => Display Setup => Decimal Places for Quantity.
Since you already have that setup correctly, it could be some js_cache issue as well. just delete all js files from company/#/js_cache folder and try. Also check the units of measure table for 0_item_units => there is decimals field there.

For your second one, comment out line 322 in includes/reporting/pdf_reports.inc like:

//        $this->Text($companyCol, $this->host);

This will suppress it from all reports that do not use the Headers2 function that includes the balance sheet (rep706.php).
If you want to selectively do it, then wrap it with appropriate "if" statement on document type.

Your files have been attached for the forum to be independent of external sources.

4,541

(48 replies, posted in Setup)

The current snapshot installs correctly.

Current progress in FA 2.4:

Installs without errors.
Report Headers2 now have SetCommonData variables available for use.
All session current_user data now have safe fallbacks on no user.

In FA 2.3, the js cache for the company was in:
./company/0/js_cache/
but now in FA 2.4 it is in
./company/0/js_cache/1,
./company/0/js_cache/2,
..


This is to have separate folders ($user_id) for each user so that date format and other specifics will not overwrite / constrain one another.

The files generally in the /tmp folder - faillog.php, errors.log, etc are to be placed above the webroot and hence are not in the release / repo and get generated on usage based on settings in the config.php file.

4,542

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

I had made an error in the replacement value and have corrected the post since. Have a go again now.

4,543

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

Nice catch. When a class extends another and attempts to override a parent method (function), it should maintain the same number of arguments or the parent method should have default values for missing arguments in the overriding methods.

For a start, try the following in the file /modules/textcart/includes/textcart_manager.inc:
Change lines 703 and 733:

  function item_to_text($item) {

to be

  function item_to_text($item, $user_price_dec) {

4,544

(3 replies, posted in Installation)

Stands corrected - that's what happens when typing in BBCode....

4,545

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

I have patched the files needed to incorporate the latest FA v2.3.22+. Kindly verify the commits in my FA repo.

Synched textcart patched file inventory/transfers.php with core
elax textcart patched files updated to latest in core (sales, inventory, purchasing)

4,546

(10 replies, posted in Report Bugs here)

This might have something to do with new value computation being based on average costs (changes made in Aug/Sep 2014)  which can be 0 if no input costs were available such as in opening balances or in/out rates.

4,547

(48 replies, posted in Setup)

The current unstable FA 2.4 snapshot will install with some errors and will need fixes to the includes/current_user.inc attached herein.

--- includes/current_user.inc Mon Jan 19 16:57:39 2015
+++ includes/current_user.inc Wed Jan 21 03:15:25 2015
@@ -448,17 +448,26 @@
 
 function user_price_dec()
 {
- return $_SESSION["wa_current_user"]->prefs->price_dec();
+  global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ? 
+   $_SESSION["wa_current_user"]->prefs->price_dec() : $SysPrefs->prices_dec;
 }
 
 function user_exrate_dec()
 {
- return $_SESSION["wa_current_user"]->prefs->exrate_dec();
+  global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ? 
+   $_SESSION["wa_current_user"]->prefs->exrate_dec() : $SysPrefs->rates_dec;
 }
 
 function user_percent_dec()
 {
- return $_SESSION["wa_current_user"]->prefs->percent_dec();
+  global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ? 
+   $_SESSION["wa_current_user"]->prefs->percent_dec() : $SysPrefs->percent_dec;
 }
 
 function user_show_gl_info()
@@ -481,15 +490,36 @@
 
 function user_date_display()
 {
-  global $SysPrefs;
-
- return isset($_SESSION["wa_current_user"]) ?
-   $_SESSION["wa_current_user"]->prefs->date_display() : $SysPres->dflt_date_sep;
+ $fmt ='m/d/Y';
+ if (isset($_SESSION["wa_current_user"])) {
+  $fmt = $_SESSION["wa_current_user"]->prefs->date_display();
+ } else {
+  $sep = user_date_sep();
+  $user_date_fmt = user_date_format();
+  switch ($user_date_fmt) {
+   case 0:
+    $fmt = "m".$sep."d".$sep."Y"; break;
+   case 1:
+    $fmt = "d".$sep."m".$sep."Y"; break;
+   case 2:
+    $fmt = "Y".$sep."m".$sep."d"; break;
+   case 3:
+    $fmt = "M".$sep."j".$sep."Y"; break;
+   case 4:
+    $fmt = "j".$sep."M".$sep."Y"; break;
+   default:
+    $fmt = "Y".$sep."M".$sep."j";
+  }
+ }
+ return $fmt;
 }
 
 function user_date_sep()
 {
- return $_SESSION["wa_current_user"]->prefs->date_sep();
+  global $SysPrefs;
+
+ return isset($_SESSION["wa_current_user"]) ?
+   $_SESSION["wa_current_user"]->prefs->date_sep() : $SysPrefs->dflt_date_sep;
 }
 
 function user_tho_sep()

SysPrefs is wrongly spelt as $SysPres one instance above. The switch case may be converted to an array whose index can choose the format string.

4,548

(22 replies, posted in Reporting)

The method End() in class FrontReport in includes/excel_report.inc file is the one that writes the excel sheet and then it is sent to the browser with headers for download to a unique filename in lines 30 to 42 of reporting/prn_redirect.php:

if (isset($_GET['xls']))
{
    $filename = $_GET['filename'];
    $unique_name = preg_replace('/[^0-9a-z.]/i', '', $_GET['unique']);
    $path =  company_path(). '/pdf_files/';
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=$filename" );
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
    header("Pragma: public");
    echo file_get_contents($path.$unique_name);
    exit();
}

Try it under PHP 5.3.x first - possibly in xampp 1.7.3 or so and see if we can locate and php version specific issue. Works okay from my end though.

Attached is the screenshot from XAMPP v1.7.3 / PHP 5.3.1 / MySQL 5.1.41.

Do you want to try just billing the customer for labour charges alone?

Otherwise you will have to hack the two reports into one by making a union of the two sqls with appropriate column name aliases synched.

4,550

(22 replies, posted in Reporting)

Look at one of the code recent fixes in FA v2.4 - all tables were converted elegantly to InnoDB. Otherwise export the data alone out, drop the database and create a new one, import the schema with the appropriate collation and import the data back.