Witam
Przygotowuje się do update lmsa z wersji 1.10.5 na 1.11.13, większość problemów udało mi się rozwiązać samemu poza impotrem należności z asteriska. W wersji 1.10.5 za to była odpowiedzialna funkcja wystaw_zobowiazania() ale niestety już w 1.11.13 nie chce współpracować. Może mnie ktoś nakierować gdzie szukać rozwiązania lub podać przykład podobnej funkcji działającej razem z 1.11.3.
Pozdrawiam Paweł Gołębiowski
function wystaw_zobowiazania( $aParametry, $LMS, $aPozycje, $aPSTNID_bez_faktur ) { $sOd = date( 'd/m/Y', $aParametry['od'] ); $sDo = date( 'd/m/Y', $aParametry['do'] );
$aDane = array( 'period' => 0, 'at' => mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y ') ), 'invoice' => 1, 'name' => "Usługa transmisji głosowej VoIP za okres $sOd - $sDo", 'taxid' => 3, 'prodid' => '', 'tariffid' => 0, 'settlement' => 0, 'datefrom' => '', 'dateto' => '', 'discount' => 0 );
foreach( $aPozycje as $aPozycja ) { if( isset( $aPozycja['wyklucz'] ) && $aPozycja['wyklucz'] ) { echo "PSTNID: $aPozycja[id] wykluczony - pomijam\n"; continue; } else if( $aPozycja['kwota'] == 0 ) { echo "PSTNID: $aPozycja[id] ma kwotę = $aPozycja[kwota] - pomijam\n"; continue; } else if( count( $aPozycja['lms_id'] ) < 1 ) {
echo "Nie znalazłem Klienta LMS dla PSTNID: $aPozycja[id]\n"; continue; } else if( count( $aPozycja['lms_id'] ) > 1 ) { echo "Znalazłem więcej niż jednego Klienta LMS(".join(',', $aPozycja['lms_id']).") dla PSTNID: $aPozycja[id]\n"; continue; }
$aPozycja['kwota_brutto'] = $aPozycja['kwota'] + round( $aPozycja['kwota'] * 23 / 100, 2 );
echo "Wystawiam zobowiązanie: PSTNID $aPozycja[id], KWOTA $aPozycja[kwota]/$aPozycja[kwota_brutto], LMSID $aLMSID ".$aPozycja['lms_id']$
$aDaneTmp = $aDane;
$aDaneTmp['customerid'] = $aPozycja['lms_id'][0]; $aDaneTmp['value'] = $aPozycja['kwota_brutto'];
$aDaneTmp['invoice'] = ( in_array( $aPozycja['id'], $aPSTNID_bez_faktur ) ? 0 : 1 );
$aDaneTmp['name'] .= " $aPozycja[numer]";
$iID = $LMS->AddAssignment( $aDaneTmp );
unset( $aDaneTmp );
echo is_numeric( $iID ) ? $iID : ' LIPA :('; echo "\n"; }
}