Обещанный платеж

Форум технической поддержки продуктов компании Сетевые Решения
Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: Обещанный платеж

Сообщение Andrei » 28 авг 2013, 13:31

Т.к.

Код: Выделить всё

mysql> select * from promise_payments limit 2;
+-----------+---------+--------+---------------------+---------------------+------+--------+
| record_id | agrm_id | amount | prom_date           | prom_till           | debt | pay_id |
+-----------+---------+--------+---------------------+---------------------+------+--------+
|         1 |     193 |     50 | 2010-11-22 16:57:10 | 2010-11-25 16:57:10 |    0 |     -1 |
|         2 |     140 |    200 | 2010-11-23 02:38:42 | 2010-11-26 02:38:42 |    0 |     -1 |
+-----------+---------+--------+---------------------+---------------------+------+--------+

то предположил, что и фильтр отбора по датам надо привести к такому же виду, т.е. типа "2010-11-25 16:57:10"
пробую:

Код: Выделить всё

$dtfrom=$_POST['year'].'-'.$_POST['month'].'-'.$_POST['day'].' 00:00:00';
$dtto=$_POST['t_year'].'-'.$_POST['t_month'].'-'.$_POST['t_day'].' 00:00:00';

$_filter = array(
    "dtfrom"  => $dtfrom,
    "dtto"    => $dtto
    );

print_r ($_filter);


выдает
Array ( [dtfrom] => 2013-08-26 00:00:00 [dtto] => 2013-08-29 00:00:00 )
Но фильтр все равно игнорируется. :(

PS.
Я уж думаю, может у getPromisePayments и нет таких входных параметров и она их просто игнорирует?

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: Обещанный платеж

Сообщение Andrei » 28 авг 2013, 19:51

Andrei писал(а):может у getPromisePayments и нет таких входных параметров и она их просто игнорирует?

Эксперименты показали, что судя по всему это именно так.
Если точно такой же фильтр скормить процедуре getPayments, то все прекрасно фильтруется и платежи выводятся именно за тот диапазон дат, который указан в передаваемом фильтре.
Для обещанных платежей этой фичи похоже не предусмотрено. :(

m_omsk19
Сообщения: 285
Зарегистрирован: 28 май 2010, 19:20

Re: Обещанный платеж

Сообщение m_omsk19 » 28 авг 2013, 21:25

в файле отчете без main в конец файла втыкаете приметно такое, можете усложнить запрос, для большей информативности)))

Код: Выделить всё

 
function PP($dtfrom, $dtto) {

$res = mysql_connect("localhost","root");
    mysql_select_db("billing");
    $query = "select agrm_id,amount,prom_date,prom_till,debt,pay_id from promise_payments where debt>0 ";
        if (strlen($dtfrom)) $query .= " and prom_date>'$dtfrom' ";
            if (strlen($dtto)) $query .= " and prom_date<='$dtto' ";
                $query_result = mysql_query ($query);
                    $addr = array();

    while ($r = mysql_fetch_array ($query_result)) {
        $fh=fopen('/tmp/query',"a");
        fwrite($fh,"query: $r[7]");
        fclose($fh);
        $addr[] = array ("agrm"=>$r[0],"promd"=>$r[2],"promt"=>$r[3],"sum"=>$r[1],"debt"=>$r[4]);

        $i++;
            }

//            print_r $addr;
        return $addr;
        }



немного изменяем вывод инфы, к примеру так

Код: Выделить всё

$_cf = $_filter;
$_cf['flt'] = $_filter;
$_filter['payhistory'] = 1;
$_cf['procname'] = "getPayments";
$total = $lb->get("Count", $_cf);

        //if (false!=($result = $lb->get('getPayments', array('flt' => $_filter)))){
        $addresses = PP ( $dtfrom, $dtto);
            if(!is_array($result)){
                $result = array($result);
            }
//            $canseledPayments = 0;
            foreach($addresses as $entry){
//                if(!empty($obj->pay->canceldate)){
//                    $canceledPayments += 1;
//                    continue;
//                }
                $_tmp[] = array(
                "date" => $lanbilling->formatDate($obj->pay->paydate, 'Y-m-d H:i:s'),
                "localdate" => $lanbilling->formatDate($obj->pay->localdate, 'Y-m-d H:i:s'),
                "paysum" => $entry["sum"],
                "comment"=>$obj->pay->comment,
                $summa=$summa+$entry["sum"],
                "uname"=>$entry["agrm"],
                "login"=>$entry["sum"],
                "manager"=>$obj->mgr,
                "currsymb"=>$entry["promt"],
                "agreement"=>$obj->agrm,
                "receipt"=>$obj->pay->receipt,
                "opername"=>$obj->opername,
                "agrmid"=>$obj->pay->agrmid
                );
            }


где массив $entry и есть наше искомое с фильтром по датам, осталось распихать по колонкам нужные значение, у кого как, я только для примера сделал, еще не занимался этим вопросом

собстно остается завести какуюнить учетку менеджера типа общенный платеж, и прикрутить, чтобы при выборе этого менеджера выводилась эта инфа, а при остальных - инфа об остальных платежах))

m_omsk19
Сообщения: 285
Зарегистрирован: 28 май 2010, 19:20

Re: Обещанный платеж

Сообщение m_omsk19 » 28 авг 2013, 21:30

может кто доделает и поделиться отчетом))

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: Обещанный платеж

Сообщение Andrei » 28 авг 2013, 21:38

Пока получилось вот так - см. аттач.
По датам не фильтрует, но самые свежие обещанные платежи вверху, что и требуется.
В ЛБ интегрируется через пользовательские подключаемые отчеты.
Вложения
promise_payments.zip
(712 байт) 336 скачиваний

m_omsk19
Сообщения: 285
Зарегистрирован: 28 май 2010, 19:20

Re: Обещанный платеж

Сообщение m_omsk19 » 28 авг 2013, 21:41

в моем способе фильтрует, таккак выборка напрямую из базы минуя апи, вот только лень к отдельной учетке все прикручивать))

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: Обещанный платеж

Сообщение Andrei » 28 авг 2013, 21:44

Хочется через API. Чтобы совсем правильно :)

m_omsk19
Сообщения: 285
Зарегистрирован: 28 май 2010, 19:20

Re: Обещанный платеж

Сообщение m_omsk19 » 28 авг 2013, 21:45

чувствую мы этого не скоро дождемся, а вообще мож кто у разрабов спрашивал когда эта фича ожидается?

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: Обещанный платеж

Сообщение Andrei » 28 авг 2013, 21:48

Я написал в хелпдеск. И про то, что в журнале событий раньше можно было посмотреть хотя бы кто вводил обещанные платежи (сумм правда было не видно), а в 2.0 006 и этого не стало.
И про свои изыскания с getPromisePayments.
Пока ничего не ответили.

Andrei
Сообщения: 810
Зарегистрирован: 08 ноя 2006, 12:26
Контактная информация:

Re: Обещанный платеж

Сообщение Andrei » 28 авг 2013, 22:37

m_omsk19 писал(а):в моем способе фильтрует, таккак выборка напрямую из базы минуя апи, вот только лень к отдельной учетке все прикручивать))

Нашел обходной путь. Вот этот вариант фильтрует по датам :)
использование (собственно все по документации):
1. сохраняем и разархивируем этот файлик например себе на комп в любое место
2. идем в админке биллинга в Действия - Генерировать пользовательские отчеты
3. переключаемся в закладку "Подключаемые отчеты"
4. жмем "Создать новый отчет"
5. пишем название например "Обещанные платежи", комментарий если надо, в строке "Основной файл отчета" указываем файл со своего компа, сохраненный в п.1
6. жмем "Сохранить"
Скрипт будет загружен в ../billing/phpclient/admin/user_reports и появится в списке подключаемых отчетов
Вложения
promise_payments.zip
(763 байт) 386 скачиваний
Последний раз редактировалось Andrei 01 фев 2016, 16:34, всего редактировалось 2 раза.


Вернуться в «LANBilling: форум поддержки продукта»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей