Thread View: pl.comp.lang.delphi
7 messages
7 total messages
Started by konsul41
Thu, 14 Sep 2017 09:00
Delphi XE Vat czynny
Author: konsul41
Date: Thu, 14 Sep 2017 09:00
Date: Thu, 14 Sep 2017 09:00
13 lines
1213 bytes
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
Author: Pancio
Date: Thu, 14 Sep 2017 10:13
Date: Thu, 14 Sep 2017 10:13
21 lines
1969 bytes
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
Author: Jan Drawski
Date: Thu, 14 Sep 2017 12:13
Date: Thu, 14 Sep 2017 12:13
23 lines
1896 bytes
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
Author: ktos
Date: Fri, 15 Sep 2017 04:40
Date: Fri, 15 Sep 2017 04:40
28 lines
2083 bytes
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
Author: konsul41
Date: Fri, 15 Sep 2017 05:59
Date: Fri, 15 Sep 2017 05:59
33 lines
2318 bytes
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
Author: Roman Tyczka
Date: Fri, 15 Sep 2017 08:01
Date: Fri, 15 Sep 2017 08:01
11 lines
1111 bytes
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
Author: konsul41
Date: Fri, 15 Sep 2017 09:37
Date: Fri, 15 Sep 2017 09:37
126 lines
5644 bytes
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