<function name="rpcf_get_sup" id="0x8011"> <input/> <output> <integer name="count" /> <for name="i" from="0" count="count"> <integer name="id" array_index="i" /> <string name="name" array_index="i" /> <string name="ur_adress" array_index="i" /> <string name="act_adress" array_index="i" /> <string name="inn" array_index="i" /> <string name="kpp" array_index="i" /> <integer name="bank_id" array_index="i" /> <string name="account" array_index="i" /> <string name="fio_headman" array_index="i" /> <string name="fio_bookeeper" array_index="i" /> <string name="fio_headman_sh" array_index="i" /> <string name="fio_bookeeper_sh" array_index="i" /> <string name="name_sh" array_index="i" /> <string name="bank_bic" array_index="i" /> <string name="bank_name" array_index="i" /> <string name="bank_city" array_index="i" /> <string name="bank_kschet" array_index="i" /> </for> </output> </function>
function rpcf_get_sup() { //0x8011 $ret=array(); if (!$this->connection->urfa_call(0x8011)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $x = $this->connection->urfa_get_data(); $count=$x->DataGetInt(); $ret['count']=$count; for ($i=0;$i<$count;$i++) { $sup['id']=$x->DataGetInt(); $sup['name']=$x->DataGetString(); $sup['ur_adress']=$x->DataGetString(); $sup['act_adress']=$x->DataGetString(); $sup['inn']=$x->DataGetString(); $sup['kpp']=$x->DataGetString(); $sup['bank_id']=$x->DataGetInt(); $sup['account']=$x->DataGetString(); $sup['fio_headman']=$x->DataGetString(); $sup['fio_bookeeper']=$x->DataGetString(); $sup['fio_headman_sh']=$x->DataGetString(); $sup['fio_bookeeper_sh']=$x->DataGetString(); $sup['name_sh']=$x->DataGetString(); $sup['bank_bic']=$x->DataGetString(); $sup['bank_name']=$x->DataGetString(); $sup['bank_city']=$x->DataGetString(); $sup['bank_kschet']=$x->DataGetString(); $ret[]=$sup; } return $ret; }
Пришлось подправить, то что выше не работало:
function rpcf_get_sup() { //0x8011 $ret=array(); if (!$this->connection->urfa_call(0x8011)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $x = $this->connection->urfa_get_data();// Tariff count $count = $x->DataGetInt(); $ret['count'] = $count; for ($i=0;$i<$count;$i++) { $x = $this->connection->urfa_get_data(); $sup['id']=$x->DataGetInt(); $sup['name']=$x->DataGetString(); $sup['ur_adress']=$x->DataGetString(); $sup['act_adress']=$x->DataGetString(); $sup['inn']=$x->DataGetString(); $sup['kpp']=$x->DataGetString(); $sup['bank_id']=$x->DataGetInt(); $sup['account']=$x->DataGetString(); $sup['fio_headman']=$x->DataGetString(); $sup['fio_bookeeper']=$x->DataGetString(); $sup['fio_headman_sh']=$x->DataGetString(); $sup['fio_bookeeper_sh']=$x->DataGetString(); $sup['name_sh']=$x->DataGetString(); $sup['bank_bic']=$x->DataGetString(); $sup['bank_name']=$x->DataGetString(); $sup['bank_city']=$x->DataGetString(); $sup['bank_kschet']=$x->DataGetString(); $ret[]=$sup; } $this->connection->urfa_get_data(); return $ret; }