so with

//new function calculate_next
function calculate_next($myrow)
{
    if ($myrow['days'] == -1) {
// ignore months when days = -1
    $next = add_days($next, 1);
    $next = end_month($next);
    return $next;
} else {
    $next = add_months($next, $myrow['monthly']);
    $next = add_days($next, $myrow['days']);
    return add_days($next,-1);
}
}

I'm getting:-

Test 7    30    0    01-12-16        1    31-12-16    01/12/2016 - 30/12/2016.
Test 7    30    0    01-12-16        2    30-01-17    31/12/2016 - 29/01/2017.
Test 7    30    0    01-12-16        3    01-03-17    30/01/2017 - 28/02/2017.
                           
Test 8    30    0    31-12-16        1    30-01-17    31/12/2016 - 29/01/2017.
Test 8    30    0    31-12-16        2    01-03-17    30/01/2017 - 28/02/2017.
Test 8    30    0    31-12-16        3    31-03-17    01/03/2017 - 30/03/2017.

@apmuthu -

I'm using 2.43 + these extras from Release 2.4.3

apmuthu said...

Re: Release 2.4.3

Post Release FA 2.4.3+ fixes attached herein.

FA24_post_release_fixes_2017-12-09.zip 279.6 kb

That post was edited today? Have you changed something?

I'll create another clean install and test properly tomorrow.

@joe probably a silly question, but what php version do I need for this to work? currently using 5.6.32, brief testing suggests its not working

Ok, with updated code =

Test 4a    0    1    29-12-16        1    29-01-17    29/12/2016 - 28/01/2017.
Test 4a    0    1    29-12-16        2    28-02-17    29/01/2017 - 27/02/2017.
Test 4a    0    1    29-12-16        3    28-03-17    28/02/2017 - 27/03/2017.
                           
Test 5a    0    1    31-12-16        1    31-01-17    31/12/2016 - 30/01/2017.
Test 5a    0    1    31-12-16        2    28-02-17    31/01/2017 - 27/02/2017.
Test 5a    0    1    31-12-16        3    28-03-17    28/02/2017 - 27/03/2017.
                           
Test 6    -1    1    01-12-16        1    31-12-16    01/12/2016 - 30/12/2016.
Test 6    -1    1    01-12-16        2    30-01-17    31/12/2016 - 29/01/2017.
Test 6    -1    1    01-12-16        3    27-02-17    30/01/2017 - 26/02/2017.

I will test, gimme an hour or so..

But tests 4 & 5 should go back to 29-03-17 & 31-03-17 after February shouldn't they?

@apmuthu Hi...

So as I understand it:-

Choose # of days 7 and leave month at zero and an invoice will be created every week, invoices will start on begin date.

or

Leave days at zero, set months to 1 and an invoice will be created every month dated for the begin date.

And that is the only funtionality now? (the -1 in days no longer works for last day of the month?)

Please confirm this is the only intended functionality?

Also I have made some tests based on this as follows:-

Input to recurrent invoices                        Create and Print Recurrent Invoices   
Name    Days    Monthly    Begin        Invoice #    Invoice date    Recurrent Invoice covers period
Test 1    7    0    01-12-16        1    08-12-16    01/12/2016 - 07/12/2016.
Test 1    7    0    01-12-16        2    15-12-16    08/12/2016 - 14/12/2016.
   "            "    "          "                "           "                        "
Test 1    7    0    01-12-16        12    23-02-17    16/02/2017 - 22/02/2017.
Test 1    7    0    01-12-16        13    02-03-17    23/02/2017 - 01/03/2017.
                           
Test 2    0    1    01-12-16        1    01-01-17    01/12/2016 - 31/12/2016.
Test 2    0    1    01-12-16        2    01-02-17    01/01/2017 - 31/01/2017.
Test 2    0    1    01-12-16        3    01-03-17    01/02/2017 - 28/02/2017.
Test 2    0    1    01-12-16        4    01-04-17    01/03/2017 - 31/03/2017.
                           
Test 3    0    1    05-12-16        1    05-01-17    05/12/2016 - 04/01/2017.
Test 3    0    1    05-12-16        2    05-02-17    05/01/2017 - 04/02/2017.
Test 3    0    1    05-12-16        3    05-03-17    05/02/2017 - 04/03/2017.
                           
Test 4    0    1    29-12-16        1    29-01-17    29/12/2016 - 28/01/2017.
Test 4    0    1    29-12-16        2    28-02-17    29/01/2017 - 27/02/2017.
Test 4    0    1    29-12-16        3    28-03-17    28/02/2017 - 27/03/2017.
                           
Test 5    0    1    31-12-16        1    31-01-17    31/12/2016 - 30/01/2017.
Test 5    0    1    31-12-16        2    28-02-17    31/01/2017 - 27/02/2017.
Test 5    0    1    31-12-16        3    28-03-17    28/02/2017 - 27/03/2017.

Tests 1, 2 & 3 work fine.
In tests 4 & 5 it doesn't seem to handle February very well.

(Somehow I was reading a very old version of the wiki, now with wiki update i get the correct version)

The username/password is not working for the demo

Demo

username: themedemo

password: password

Use the above credentials on demo page to try a trail.

@apmuthu, I've tested against the latest wiki entries and it still is not fuctioning as stated in the wiki.

Please try a few entries and you should see the problem.

Thanks Apmuthu.

Is this now resolved?

I'm still getting same problem in 2.4.3

Hi,

Recurrent invoices used to work as per the wiki.

But now when I enter 5 in days and 1 in month, the invoice does not produce a invoice on the 5th of every month, instead it produces an invoice every 1 month and five days? And other not so useful billing dates can also be made.

Trying to look back when changes were made, but I cannot see them.

2.4.3 clean install, default theme

I see BBCode looks better now though... hadn't realised this was a patch.

Ah, understand now, thank you.

ok, thanks Joe.

Just checked PHP Version     5.6.32

If it helps I'm getting the same errors for GOOGLE, YAHOO & BLOOMBERG:-
number_format() expects parameter 1 to be double, string given in file: .../includes/current_user.inc at line 316
.../includes/current_user.inc:316:     number_format('','INF','.',',')
.../includes/current_user.inc:391:     number_format2('','max')
.../gl/manage/exchange_rates.php:139:     maxprec_format('')
.../gl/manage/exchange_rates.php:218:     display_rate_edit()

But for ECB no errors but no exchange rate.

Servers currently located in Chicago

@apmuthu I've finally understood what you were saying..you're right. My apologies for any confusion.

apmuthu, as previously stated the exact string 'Inventory Locations' exists in the po file with its translation.

the exact string 'Fixed Assets Locations' does not exist in the po file therefore would not be translated anyway.

I am unable to attach screenshots

apmuthu, there is a bug in locations.php, please load another language go to:-

/inventory/manage/locations.php?
And you will see that the page title 'Inventory Locations' has not been translated

then go to:-
/inventory/manage/locations.php?FixedAsset=1
And you will see that the page title 'Fixed Assets Locations' has not been translated

Where do these page titles come from? The only place in FA that lists them is locations.php

The bug is 'Inventory Locations' and also 'Fixed Assets Locations' are not being translated in their relevant screens

Do you want me to put this on mantis?

Well that didn't work sad

Also in the .po file

Inventory Locations Exists
but
Fixed Assets Locations does not.

may have more time tomorrow..

'Inventory Locations' and also 'Fixed Assets Locations' is not being translated; looking at file locations.php I believe the relevant code is below:-

File: \inventory\manage\locations.php
21: if (isset($_GET['FixedAsset'])) {
22:     $help_context = "Fixed Assets Locations";
23:     $_POST['fixed_asset'] = 1;
24: } else
25:     $help_context = "Inventory Locations";

I cannot see where gettext picks up the translation? There's no '_' underscore?

Shouldn't it be something like:-

File: \inventory\manage\locations.php
21: if (isset($_GET['FixedAsset'])) {
22:     page(_($help_context = "Fixed Assets Locations"));
23:     $_POST['fixed_asset'] = 1;
24: } else
25:     page(_($help_context = "Inventory Locations"));

I have not tested this

523

(2 replies, posted in Setup)

That's a useful tool...its in my bookmarks now.

524

(14 replies, posted in Setup)

Thank you apmuthu... looks good

525

(14 replies, posted in Setup)

Hi apmuthu, tax_types_list() (line 1171) and tax_groups_list( (line 1205) are not selected any whereelse, except in taxes and tax groups.

What's the point of making tax types inactive if you can still see them when you select an item?