<function name="rpcf_general_report_new" id="0x3020"> <input> <integer name="user_id" default="0"/> <integer name="account_id" default="0"/> <integer name="group_id" default="0"/> <integer name="discount_period_id" default="0"/> <integer name="start_date"/> <integer name="end_date" default="now()"/> </input> <output> <integer name="accounts_count"/> <for name="i" from="0" count="accounts_count"> <integer name="account_id" array_index="i"/> <string name="login" array_index="i"/> <double name="incoming_rest" array_index="i"/> <double name="discounted_once" array_index="i"/> <double name="discounted_periodic" array_index="i"/> <double name="discounted_iptraffic" array_index="i"/> <double name="discounted_hotspot" array_index="i"/> <double name="discounted_dialup" array_index="i"/> <double name="discounted_telephony" array_index="i"/> <double name="tax" array_index="i"/> <double name="discounted_with_tax" array_index="i"/> <double name="payments" array_index="i"/> <double name="outgoing_rest" array_index="i"/> </for> </output> </function>
API.xml написана функция rpcf_general_report_new - id=«0×3022», а здесь 0×3020. Изначально не срабатывала
function rpcf_general_report_new($user_id=0,$account_id=0,$group_id=0,$discount_period_id=0,$start_date,$end_date) { //0x3020 $ret=array(); if (!$this->connection->urfa_call(0x3020)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $packet = $this->connection->getPacket(); $packet->DataSetInt($user_id); $packet->DataSetInt($account_id); $packet->DataSetInt($group_id); $packet->DataSetInt($discount_period_id); $packet->DataSetInt($start_date); $packet->DataSetInt($end_date); $this->connection->urfa_send_param($packet); $x = $this->connection->urfa_get_data(); $count=$x->DataGetInt(); $ret['count']=$count; for ($i=0;$i<$count;$i++) { // $x = $this->connection->urfa_get_data(); $rep['account_id']=$x->DataGetInt(); $rep['login']=$x->DataGetString(); $rep['incoming_rest']=$x->DataGetDouble(); $rep['discounted_once']=$x->DataGetDouble(); $rep['discounted_periodic']=$x->DataGetDouble(); $rep['discounted_iptraffic']=$x->DataGetDouble(); $rep['discounted_hotspot']=$x->DataGetDouble(); $rep['discounted_dialup']=$x->DataGetDouble(); $rep['discounted_telephony']=$x->DataGetDouble(); $rep['tax']=$x->DataGetDouble(); $rep['discounted_with_tax']=$x->DataGetDouble(); $rep['payments']=$x->DataGetDouble(); $rep['outgoing_rest']=$x->DataGetDouble(); $ret['report'][]=$rep; } // $this->connection->urfa_get_data(); return $ret; }