176

(82 replies, posted in FA Modifications)

Ok, your explanation given in Post#10 is enough to create a sample module. Except nothing should be done in dashboards folder instead reporting folder shall be used in module to create the file custom_dashboards.php.

Thanks for this great feature.

177

(3 replies, posted in Installation)

I have checked the Logs of my server when It Crashes as CPU Usage reaches 100%.

I found few core pages and my module pages with a query string /modules/container/containers.php?JsHttpRequest=0-xml

Is this an Ajax Call?

This is a simple Page to add Containers against Jobs (Dimensions).

This client have more than 3000 open Jobs (Dimensions).

Is this Ajax Call taking so much resources is due to the Dimensions Being Loaded in the Drop Down List?

Or there is any other reason for this resource consumption.

@All Gurus please guide me.

Regards.

178

(82 replies, posted in FA Modifications)

Hello @notrinos I am working on this dashboard system. In Post # 19 you have given a link of Sample Dashboard Module. That link is not working. Can you share that sample again.

Regards.

With patch files it will be easy to test.

180

(7 replies, posted in Accounts Receivable)

@Braath, thanks. The logout is not "Authorization Timeout". Suddenly the main login screen appears. I have increased the session timeout to 36000 secs in both php.ini and company setup.

How can I set a monitoring on Session. Any hint?

181

(7 replies, posted in Accounts Receivable)

One of my clients have 300-400 invoices on daily basis.

While punching invoices, he is facing abnormally system being logged out.

No particular behavior or error is recorded.

Sometimes it logs out after 2 invoices and sometimes after 8 invoices.

Any ideas?

182

(4 replies, posted in FA Modifications)

The feature is good. But can't help. smile

This error also come when Line endings are not correct. It should be LF with Linux . On PHP 7 if line endings are not correct then the said file will be ignored in inclusion.

If you want to import Journal Transactions and Bank Related Transactions then you can use import_multijournalentries extension. If you want to import Inventory Transactions you can use import_items extension

Which one?

It is composer based. How can I install composer for this API?

Great.....

Thief of the ledger has been caught smile

See this image https://prnt.sc/pvpkcu

Payment received against Prepaid Sales Order. Invoice not made so and hence not reflected in Customer Balances.

189

(1 replies, posted in Manufactoring)

Hello @Marxist,

This sort of Income Statment is Valid when the Inventory Costing method is either FIFO or LIFO.

Since FA uses Average Costing so it is not applicable in FA.

In order to get it done it may require some core changes and lot of customizations

Regards.

@Mahmoud

It depends on lot of factors.

1. Whether or not you have allowed Negative Inventory in your system

2. Secondly FA calculates Avg Cost of the items when they are Received and sometimes whey they are Stocked out. That Avg Cost is saved as the Standard Cost for that item in FA. Inventory Valuation Report actually picks that Cost for Valuation.

3. Now the way that Avg Cost is calculated in FA needs to be understood. I have tried to explain this in this ARTICLE

4. There has been a lot of discussion on this topic on Forum and we are expecting some Bug Fixes in upcoming 2.5.

5. By that time if you can also share your experiences following the article above that how right or wrong you found FA to affect average cost then it will help the community.

6. There is one more way that affects Average Cost not discussed in this article because I have disabled that in PakERP. That is Location Transfers.

Hope this helps you to find more bugs and share with community and enable you to give better suggestions.

Good Luck.

No I have that code and it works fine for GET commands.

I didn't had any problem in reading the $content returned from the curl request, at all.

I had problem in sending the POST request using curl.

That is addressed by http_build_query($data); line.

In Wiki I suggest change the code as below for facurlrest.php

Contents of facurlrest.php file:

<?php
// FrontAccounting Bridge REST Test Script
// Author: Ap.Muthu
// Website: www.apmuthu.com
// Release Date: 2012-11-28

include_once "fabridge.php";

$method = isset($_GET['m']) ? $_GET['m'] : 'g'; // g, p, t, d => GET, POST, PUT, DELETE
$action = isset($_GET['a']) ? $_GET['a'] : '';
$record = isset($_GET['r']) ? $_GET['r'] : '';
$filter = isset($_GET['f']) ? $_GET['f'] : false;

// Sample Data for POST
$data = array(
'firstName'=> 'John',
'lastName'=> 'Doe'
);

$data = http_build_query($data);

$output = fa_bridge($method, $action, $record, $filter, $data);
echo print_r($output, true);

?>

@apmuthu, I was right. The problem was not of PHP.

This Post helped me. STACK OVERFLOW

now facurlrest.php looks like below

<?php
// FrontAccounting Bridge REST Test Script
// Author: Ap.Muthu
// Website: www.apmuthu.com
// Release Date: 2012-11-28

include_once "fabridge.php";

$method = isset($_GET['m']) ? $_GET['m'] : 'g'; // g, p, t, d => GET, POST, PUT, DELETE
$action = isset($_GET['a']) ? $_GET['a'] : '';
$record = isset($_GET['r']) ? $_GET['r'] : '';
$filter = isset($_GET['f']) ? $_GET['f'] : false;

$data =  array(
      'trans_type' => '10',
      'ref'=> 'NoGuia0001',
      'customer_id'=> '78',
      'branch_id'=> '78',
      'location'=> 'DEF',
      'deliver_to'=> 'ABC, S.A. DE C.V.',
      'delivery_date'=> '09/11/2019',
      'delivery_address'=> 'Karachi',
      'order_date'=> '09/11/2019',
      'phone'=> '',
      'cust_ref'=> '',
      'comments'=> '',
      'ship_via'=> '1',
      'payment'=> '1',
      'sales_type'=> '1',
      'items'=> array
        (
          0 => array
          (
            'stock_id'=> '2801',
            'description'=> 'iPhone',
            'qty'=> '1',
            'price'=> '100',
            'discount'=> '0'
          ),
          1 => array
          (
            'stock_id'=> '2802',
            'description'=> 'Samsung',
            'qty'=> '1',
            'price'=> '100',
            'discount'=> '0'
          ),
        ),

      );

$data = http_build_query($data);

$output = fa_bridge($method, $action, $record, $filter, $data);

?>

Ok, one more thing.

The current core api module doesn't have the line of code to decode as below.

json_decode($info, true);

So is it assumed that the POST data being sent through api is already decoded by the time it reaches at this point

function sales_add()
{
    $app    = \Slim\Slim::getInstance('SASYS');
    $req    = $app->request();
    $info    = $req->post();

Or something is missed here?

Because without converting the JSON data into PHP Array we can't add it to cart.

Ok, I have created a fresh invoice and the Credited it. It is showing single entry. I have to look into the specific transaction in detail.

I am using PHP Version 5.6.40 on CentOs Linux Cloud.

But I think this is not related to PHP version. Have you given the above output after sending the $data through curl request in API?

In my first post I have shown two outputs of same data.

First one is read at the receiving server of API call. (Not JSON optimized)

Second one is at the Send Server before API call. (JSON optimized)

So If the PHP version is causing the issue then both outputs shall be same.

In my case sending and receiving servers are same server with two different directories.

Can you please retest it with the API Call?

Ok Thanks for pointing this out. But problem doesn't lie here.

Even If I pass following simplest data as given in wiki

$data = json_encode(array(
'firstName'=> 'John',
'lastName'=> 'Doe'
));

$output = fa_bridge($method, $action, $record, $filter, $data);

It is parsed in api/sales.inc as below

function sales_add()
{
    $app    = \Slim\Slim::getInstance('SASYS');
    $req    = $app->request();
    $info    = $req->post();

The variable $info is read as below

Array
(
    [{"firstName":"John","lastName":"Doe"}] => 
)

While it shall be parsed as below

{"firstName":"John","lastName":"Doe"}

Please Check this https://prnt.sc/pvdi0b

Hello,

When a Credit Note is Entered, In inventory/inquiry/stock_movements.php each line is repeated two times as shown in image below.

https://prnt.sc/pvd1o8

@joe my vote for it, please consider.

Using the Latest API module (modified by @ApMuthu) and guidance given in Wiki I modified the following file

facurlrest.php

<?php
// FrontAccounting Bridge REST Test Script
// Author: Ap.Muthu
// Website: www.apmuthu.com
// Release Date: 2012-11-28

include_once "fabridge.php";

$method = isset($_GET['m']) ? $_GET['m'] : 'g'; // g, p, t, d => GET, POST, PUT, DELETE
$action = isset($_GET['a']) ? $_GET['a'] : '';
$record = isset($_GET['r']) ? $_GET['r'] : '';
$filter = isset($_GET['f']) ? $_GET['f'] : false;

$data =  json_encode(array(
      'trans_type' => '10',
      'ref'=> 'NoGuia0001',
      'customer_id'=> '78',
      'branch_id'=> '78',
      'location'=> 'DEF',
      'deliver_to'=> 'ABC, S.A. DE C.V.',
      'delivery_date'=> '2019/11/09',
      'delivery_address'=> 'Karachi',
      'order_date'=> '09/11/2019',
      'phone'=> '',
      'cust_ref'=> '',
      'comments'=> '',
      'ship_via'=> '1',
      'payment'=> '1',
      'sales_type'=> '1',
      'items'=> array
        (
          0 => array
          (
            'stock_id'=> '2801',
            'description'=> 'iPhone',
            'qty'=> '1',
            'price'=> '100',
            'discount'=> '0'
          ),
          0 => array
          (
            'stock_id'=> '2802',
            'description'=> 'Samsung',
            'qty'=> '1',
            'price'=> '100',
            'discount'=> '0'
          ),
        ),

      ));


$output = fa_bridge($method, $action, $record, $filter, $data);

?>

The $data is being read at modules/api/sales.inc at Line: 256 as below

Array
(
    [{"trans_type":"10","ref":"NoGuia0001","customer_id":"78","branch_id":"78","location":"DEF","deliver_to":"ABC,_S_A__DE_C_V_","delivery_date":"2019\/11\/09","delivery_address":"Karachi","order_date":"09\/11\/2019","phone":"","cust_ref":"","comments":"","ship_via":"1","payment":"1","sales_type":"1","items":] => Array
        (
            [{"stock_id":"2802","description":"Samsung","qty":"1","price":"100","discount":"0"}] => 
        )

)

While the Correct JSON Presentation of this Data shall be

{"trans_type":"10","ref":"NoGuia0001","customer_id":"78","branch_id":"78","location":"DEF","deliver_to":"ABC, S.A. DE C.V.","delivery_date":"2019\/11\/09","delivery_address":"Karachi","order_date":"09\/11\/2019","phone":"","cust_ref":"","comments":"","ship_via":"1","payment":"1","sales_type":"1",
"items":[{"stock_id":"2802","description":"Samsung","qty":"1","price":"100","discount":"0"}]}

How to handle this?

Due to wrong presentation of JSON Data I am not able to apply json_decode($data, true).

However, I have tested the api successfully by manually putting the correct presentation of this data on modules/api/sales.inc

Regards.

One of my client has reported this problem. Here is the ledger of his Walk In Customer.

All Transactions are being shown Knocked Off, But the total of Charges and Debits gives a difference of -36000.

Since this is Walk in Customer so Payment is settled then and there and the same is being reflected that Not a Single Transaction in itself has a balance.

But How shall I interpret this -36000?

Even the Customer Transaction Inquiry is showing the Balance of -36,000

If I see this report with Show Balance = Yes then it gives the Ending Balance of -36,000.

The client says there is no Dues or Extra Payments from this customer as all Individual Transactions are being Knocked Off.

The ledger is complete from the Day1 till date.