Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wFirma problem ze skryptem
northwest
post 2.02.2010, 19:56:07
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Witam serdecznie,
Ściągnąłem sobie skrypt ze strony wFirma.pl do fakturowania (i wysyłania faktury na maila). Mam problem z uruchomieniem go :/ gdy próbuję go uruchomić skrypt twierdzi że nie ma danych (a są podane). Wiecie może dlaczego?

Kod wygląda tak:
  1.  
  2. <?php
  3. $C = new SoapClient(null, array(
  4. 'uri' => "http://api.wfirma.pl/",
  5. 'location' => "http://api.wfirma.pl",
  6. 'trace' => 1,
  7. ));
  8.  
  9. $r = $C->login('demo','demo');
  10. if ($r['status'] == 'OK') {
  11. $sid = $r['response'];
  12. // tutaj wywołanie innych metod ...
  13. } else {
  14. echo "Wystąpił błąd: {$r['status']}: {$r['response']}";
  15. }
  16. $invoiceHeader = array(
  17.  
  18. 'date' => '2009-01-01', // data wystawienia, format (YYYY-MM-DD)
  19.  
  20. 'disposaldate' => '2009-01-01', // data sprzedaży, format (YYYY-MM-DD)
  21.  
  22. 'paymentdate' => '2009-01-15', // termin płatności, format (YYYY-MM-DD)
  23.  
  24. 'paymentmethod' => 'transfer', // metoda płatności, możliwe wartości to cash,
  25. // transfer i compensation
  26.  
  27. 'paid' => 0, // opcjonalna flaga 0/1 czy faktura została
  28. // opłacona w całości, 0 jest wartością domyślną
  29.  
  30. 'description' => 'Tutaj moje uwagi', // opcjonalne uwagi na fakturze, (max.320 znaków)
  31.  
  32. 'auto_send' => '0', // opcjonalna flaga 0/1 czy wysłać fakturę na
  33. // adres email kontrahenta,
  34. // domyślna wartość to 0
  35.  
  36. 'lump' => 'rate20', // opcjonalna stawka ryczałtu dla korzystających
  37. // z pakietu Księgowość Premium,
  38. // możliwe wartości to: rate 20
  39. // rate17, rate8_5, rate5_5, rate3,
  40. // domyślna wartość, jeżeli nie zostanie
  41. // podana, to rate20
  42.  
  43. 'tax_evaluation_method' => 'netto', // określenie metody naliczania cen na fakturze,
  44. // ceny w pozycjach faktury pozycji podawane
  45. // netto lub brutto,
  46. // domyślna wartość to netto
  47.  
  48.  
  49.  
  50. 'type' => 'normal', // opcjonalnie type faktury, możliwe wartości:
  51. // normal - faktura VAT (wartość domyślna)
  52. // proforma - faktura proforma
  53. );
  54.  
  55. // dane nabywcy
  56. $contractorDetails = array(
  57. "name" => "Jan Kowalski", // nazwa pełna kontrahenta
  58.  
  59. "nip" => "1231231212", // NIP kontrahenta, bez spacji i kresek
  60.  
  61. "street" => "Kwiatowa 5", // Ulica, nr domu i lokalu
  62.  
  63. 'zip' => '59-413', // kod pocztowy
  64.  
  65. 'city' => 'Wrocław', // miejscowość
  66.  
  67. 'email' => 'jan@kowalski-test.com',// opcjonalnie adres email
  68.  
  69. 'add' => 1 // flaga 0/1 czy dopisać kontrahenta do katalogu
  70. // (dopasowanie po NIP, jeśli taki kontrahent
  71. // już jest to nie zostanie
  72. // dodany ani zaktualizowany)
  73. );
  74.  
  75. // pozycje towarów i usług na fakturze
  76. $invoiceContents = array(
  77. 'name' => 'Mysz komputerowa', // nazwa towaru, max. 1024 znaki
  78.  
  79. 'price' => '35,12', // cenna netto lub brutto w zależności
  80. // od ustawienia tax_evaluation_method w
  81. // invoiceHeader, format NUMERIC(15,2)
  82.  
  83. 'unit' => 'szt.', // jednostka, max 64 znaki
  84.  
  85. 'count' => '1', // ilość towaru lub usługi, format NUMERIC(15,4)
  86. // max. 15 cyfr i dwie cyfry po przecniku
  87.  
  88. 'vatcode' => '22', // opcjonalnie stawka VAT,
  89. // możliwe wartości to
  90. // 22, 7, 3, 0, WDT, EXP, NP, ZW,
  91. // domyślna wartość: 22
  92.  
  93. 'classification' => '', // opcjonalnie kod PKWiU dla obniżonych
  94. // stawek VAT
  95.  
  96. 'discount' => '25,00' // opcjonalnie rabat w pozycji faktury,
  97. // format NUMERIC(2,2)
  98. )
  99. );
  100.  
  101.  
  102. // zmienne $sid, $invoiceHeader i $contractorDetails i $invoiceContents z poprzednich przykładów
  103.  
  104. // wystawienie faktury
  105. $r = $C->addInvoice($sid, $invoiceHeader, $contactorDetails, $invoiceContents);
  106.  
  107. if ($r['status']=='OK') {
  108. $invoice_id = $r['response'];
  109. $id_faktury = $r['object_id'];
  110. // id faktury mozna wykorzystac np do wysyłania
  111. // faktury na email lub pobrania PDF z fakturą
  112. // (patrz metody sendInvoice() i downloadInvoice())
  113. } else {
  114. // coś poszło nie tak
  115. print_r($r['status']);
  116. print_r($r['response']);
  117. }
  118.  
  119.  
  120. // $sid - id sesji zwrócony przez metodę login()
  121. // $invoice_id - ID faktury zwrócony przez metodę addInvoice();
  122.  
  123. // dodatkowe ustawienia (opcjonalne)
  124. $options = array(
  125. 'page' => 'invoice', // którą stronę faktury załączyć, możliwe wartości to:
  126. // invoice - oryginał
  127. // invoicecopy - kopia
  128. // all - wszystkie, wartość domyślna
  129.  
  130. 'leaflet' => 0, // flaga 0/1 czy dołączyć druczek przelewu
  131. // działa tylko dla metody płatności przelew,
  132. // domyślnie 0
  133.  
  134. 'duplicate' => 0, // flaga 0/1 czy nadrukować słowo duplikat
  135. // z aktualną datą,
  136. // domyślnie 0
  137. );
  138.  
  139.  
  140. // generujemy plik PDF z wydrukiem
  141. $response = $C->sendInvoice($sid, $invoice_id, $option);
  142.  
  143. if ($r['status'] == 'OK') {
  144. // w odpowiedzi przychodzi URL do pliku PDF, URL jest ważny przez 10 minut
  145. $url_pliku_pdf = $r['response'];
  146. } else {
  147. // coś poszło nie tak
  148. switch ($r['status']) {
  149. case 'ERR':
  150. echo "Nieprawidłowwy ID faktury";
  151. break;
  152. case 'FATAL_ERROR':
  153. echo "Błąd usługi - skontaktuj się z administratorem";
  154. break;
  155. }
  156. }
  157.  
  158.  
  159. // $sid - id sesji zwrócony przez metodę login()
  160. // $invoice_id - ID faktury zwrócony przez metodę addInvoice();
  161.  
  162. // dodatkowe ustawienia (opcjonalne)
  163. $options = array(
  164. 'subject' => 'Wystawiono fakturę',
  165. // Temat wiadomości email, domyślnie 'Faktura od NAZWA_FIRMY'
  166.  
  167. 'page' => 'invoice', // którą stronę faktury załączyć, możliwe wartości to:
  168. // invoice - oryginał
  169. // invoicecopy - kopia
  170. // all - wszystkie, wartość domyślna
  171.  
  172. 'leaflet' => 0, // flaga 0/1 czy dołączyć druczek przelewu
  173. // działa tylko dla metody płatności przelew,
  174. // domyślnie 0
  175.  
  176. 'duplicate' => 0, // flaga 0/1 czy nadrukować słowo duplikat
  177. // z aktualną datą,
  178. // domyślnie 0
  179.  
  180. 'cc' => '', // opcjonalnie adres email DW
  181. 'bcc' => '', // opcjonalnie adres email UDW
  182.  
  183. 'body' => 'Przesyłam fakturę. Pozdrowienia'
  184. // treść wiadomości email, jeśli nie będzie wpisana to
  185. // zostanie użyta treść zdefiniowana w ustawieniach firmy
  186. );
  187.  
  188. $response = $C->sendInvoice($sid, $invoice_id, 'spam@mediait.pl');
  189.  
  190. switch ($r['response']) {
  191. case 'OK': // faktura wysłana
  192. break;
  193. case 'ERR': // nie ma takiej faktury, sprawdź $invoice_id
  194. break;
  195. case 'FATAL_ERROR': // coś poszło nie tak - skontaktuj się z nami
  196. break;
  197. }
  198.  
  199. $C->logout($sid);
  200.  



Skrypt nie wykrywa danych... Widzicie jakiś błąd?


Northwest
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2025 - 23:40