🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
7 messages
7 total messages Started by konsul41 Thu, 14 Sep 2017 09:00
Delphi XE Vat czynny
#346049
Author: konsul41
Date: Thu, 14 Sep 2017 09:00
13 lines
1213 bytes
Jak to zrobić w DELPHI

Jest skrypt w JavaSvript do pobierania statusu podatnika VAT Czynny
https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js
potrzebny jest do tego phantomjs

używa się w linii komend tak
phantomjs waitfor.js SZUKANY_NIP_BEZ_KRESEK

i dostajemy status podatnika

Pytanie moje to czy można to osiągnąć za pomocą samej przeglądarki bez 
phantomjs z poziomu Delphi?
Re: Delphi XE Vat czynny
#346057
Author: Pancio
Date: Thu, 14 Sep 2017 10:13
21 lines
1969 bytes
> Jak to zrobić w DELPHI
> 
> Jest skrypt w JavaSvript do pobierania statusu podatnika VAT Czynny
> https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js
> potrzebny jest do tego phantomjs
> 
> używa się w linii komend tak
> phantomjs waitfor.js SZUKANY_NIP_BEZ_KRESEK
> 
> i dostajemy status podatnika
> 
> Pytanie moje to czy można to osiągnąć za pomocą samej przeglądarki bez 
> phantomjs z poziomu Delphi?

A moze rownie dobrym rozwiazaniem, bedzie skorzystanie z pliku WSDL. U mnie to sie sprawdzilo.
Tutaj masz link:
http://ec.europa.eu/taxation_customs/vies/faq.html#item_18

--
Pancio
Re: Delphi XE Vat czynny
#346056
Author: Jan Drawski
Date: Thu, 14 Sep 2017 12:13
23 lines
1896 bytes
W dniu 2017-09-14 o 11:00, konsul41@wp.pl pisze:
> Jak to zrobić w DELPHI
> 
> Jest skrypt w JavaSvript do pobierania statusu podatnika VAT Czynny
> https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js
> potrzebny jest do tego phantomjs
> 
> używa się w linii komend tak
> phantomjs waitfor.js SZUKANY_NIP_BEZ_KRESEK
> 
> i dostajemy status podatnika
> 
> Pytanie moje to czy można to osiągnąć za pomocą samej przeglądarki bez 
> phantomjs z poziomu Delphi?

Za pomocą przeglądarki pewnie tak ale chyba nie ma potrzeby jej 
angażowania a nawet bym powiedział, że jest to niewskazane. Są 
komponenty obsługujące same skrypty. Możesz poszukać w Google informacji 
związanych z IID_IActiveScript.

-- 
Pozdrawiam
Jan Drawski
Re: Delphi XE Vat czynny
#346058
Author: ktos
Date: Fri, 15 Sep 2017 04:40
28 lines
2083 bytes
W dniu 2017-09-14 o 12:13, Pancio pisze:
> 
>> Jak to zrobić w DELPHI
>>
>> Jest skrypt w JavaSvript do pobierania statusu podatnika VAT Czynny

>> Pytanie moje to czy można to osiągnąć za pomocą samej przeglądarki bez
>> phantomjs z poziomu Delphi?
> 
> A moze rownie dobrym rozwiazaniem, bedzie skorzystanie z pliku WSDL. U mnie to sie sprawdzilo.
> Tutaj masz link:
> http://ec.europa.eu/taxation_customs/vies/faq.html#item_18
> 

Nie wprowadzaj w błąd:

Niektóre państwa członkowskie wymagają dodatkowej rejestracji do celów 
wewnątrzunijnych transakcji i rejestrują w swoich krajowych bazach VIES 
tylko takie numery VAT. Może się zatem zdarzyć, że prawidłowy numer VAT 
nie zostanie uznany w systemie VIES za ważny, ponieważ dany podmiot nie 
prowadzi wewnątrzunijnych transakcji lub nie zarejestrował się w tym 
celu w swojej administracji podatkowej.

Powyższe dotyczy podatników z Polski.

---
Ta wiadomość e-mail została sprawdzona pod kątem wirusów przez oprogramowanie AVG.
http://www.avg.com
Re: Delphi XE Vat czynny
#346059
Author: konsul41
Date: Fri, 15 Sep 2017 05:59
33 lines
2318 bytes
W dniu 14-09-2017 o 12:13, Pancio pisze:
> 
>> Jak to zrobić w DELPHI
>>
>> Jest skrypt w JavaSvript do pobierania statusu podatnika VAT Czynny
>> https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js
>> potrzebny jest do tego phantomjs
>>
>> używa się w linii komend tak
>> phantomjs waitfor.js SZUKANY_NIP_BEZ_KRESEK
>>
>> i dostajemy status podatnika
>>
>> Pytanie moje to czy można to osiągnąć za pomocą samej przeglądarki bez
>> phantomjs z poziomu Delphi?
> 
> A moze rownie dobrym rozwiazaniem, bedzie skorzystanie z pliku WSDL. U mnie to sie sprawdzilo.
> Tutaj masz link:
> http://ec.europa.eu/taxation_customs/vies/faq.html#item_18
Mylisz VAT-y to o czym piszesz to VAT-UE a Ja piszę o naszym VAT.
Od nie dawna urząd może wykreślić z urzędu podatnika z rejestru VAT, a 
jeżeli wystawca faktury nie jest podatnikiem VAT-czynnym to nie możesz 
rozliczać, obowiązek sprawdzenia spoczywa na rozliczającym (nabywcy).
Sprawdzić kilkuset kontrahentów wpisując ręcznie to katorga.

Odpowiedź ministerstwa na moje zapytanie o API

"Dzień dobry.
Centrum Kompetencyjne Usług Elektronicznych uprzejmie informuje, że 
Ministerstwo Finansów pracuje nad udostępnieniem API do usługi 
"Wyszukiwania statusu podmiotu w VAT". W przypadku jej udostępnienia 
stosowna informacja zostanie zamieszczona na Portalu Podatkowym.
"
Re: Delphi XE Vat czynny
#346062
Author: Roman Tyczka
Date: Fri, 15 Sep 2017 08:01
11 lines
1111 bytes
On Thu, 14 Sep 2017 11:00:57 +0200, konsul41@wp.pl wrote:

> Jest skrypt w JavaSvript do pobierania statusu podatnika VAT Czynny
> https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js
> potrzebny jest do tego phantomjs

A jaki jest adres serwisu, gdzie te zapytania o VAT chcesz realizować?

-- 
pozdrawiam
Roman Tyczka
Re: Delphi XE Vat czynny
#346060
Author: konsul41
Date: Fri, 15 Sep 2017 09:37
126 lines
5644 bytes
Adres to 'https://ppuslugi.mf.gov.pl/'
i mój skrypt po drobnych zmianach
"Zachowane prawa własności intelektualnej"



/**
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions 
are met:
  *
  *   * Redistributions of source code must retain the above copyright
  *     notice, this list of conditions and the following disclaimer.
  *   * Redistributions in binary form must reproduce the above copyright
  *     notice, this list of conditions and the following disclaimer in the
  *     documentation and/or other materials provided with the distribution.
  *   * Neither the name of the <organization> nor the
  *     names of its contributors may be used to endorse or promote products
  *     derived from this software without specific prior written 
permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
"AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
PURPOSE
  * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES
  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
SERVICES;
  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
CAUSED AND
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
"use strict";

/**
  * https://github.com/ariya/phantomjs/blob/master/examples/waitfor.js
  */
function waitFor(testFunction, readyFunction, timeOutMillis) {
     var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 10000,
         start = new Date().getTime(),
         condition = false,
         interval = setInterval(function() {
             if ( (new Date().getTime() - start < maxtimeOutMillis) && 
!condition ) {
                 condition = (typeof(testFunction) === "string" ? 
eval(testFunction) : testFunction());
             } else {
                 if(!condition) {
                     phantom.exit(1);
                 } else {
                     typeof(readyFunction) === "string" ? 
eval(readyFunction) : readyFunction();
                     clearInterval(interval);
                 }
             }
         }, 250);
};

var system = require('system'),
     args = system.args,
     nip,
     nieJest = "Podmiot o podanym identyfikatorze podatkowym NIP nie 
jest zarejestrowany jako podatnik VAT",
     page = require('webpage').create();

if (1 === args.length) {
     console.log('NIP is required');
     phantom.exit(1);
} else {
     nip = args[1];
}

page.open('https://ppuslugi.mf.gov.pl/', function(status) {
     if (status !== "success") {
         console.log("Unable to access network");
         phantom.exit();
     } else {
         waitFor(function(){
             return page.evaluate(function() { return 
$('#SidebarActions_WebUMn li').length > 0; });
         }, function(){
             page.evaluate(function() {
                 FWDC.executeAction(1005, null, 'FLOW');
             });
             waitFor(function(){
                 return page.evaluate(function() { return 
$('#b-7').length > 0; });
             }, function(){
                 page.evaluate(function(nip) {
                     $('#b-7').val(nip);
                     $('#b-8').trigger('click');
                 }, nip);
                 waitFor(function(){
                     return page.evaluate(function() { return 
$('#container_b-3').is(':visible'); });
                 }, function() {
                     /*console.log('odpowiedz');
                     console.log(' ');
                     console.log(' ');*/
                     var msg = page.evaluate(function() { return 
$.trim($('#container_b-3').text()); }),
                         date = page.evaluate(function() { return 
$.trim($('#caption2_b-b').text().split(':')[1]).split('-').reverse().join('-'); 
}),
                         response = {
                             "nip": nip,
                             "msg": msg,
                             "date": date,
                             "status": msg == true ? false : true
                         };
                     console.log(JSON.stringify(response.nip));
                     console.log(JSON.stringify(response.status));

                     phantom.exit();
                 });
             });
         });
     }
});
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads