Wpis z mikrobloga

cześć, czy bawił się ktoś z Was API REGON?
próbuję wykonać kod w VBA, który po numerze REGON zwróci mi następujące dane:
-nazwa firmy
-NIP
-ulica, numer lokalu, kod pocztowy, miejscowość
-PKD

bazuje na tym excelu: https://github.com/MarekRod/Excel---GUS

zmusić kod żeby pobierał dane po REGON zamiast po NIP jest bardzo prosto, jednak kiedy pobieram dane po REGON nie wiem jak mogę pobrać NIP; tak jakby nie było takiej danej w pobranym xml.

macie pomysł jak to ogarnąć?
#vba #excel #programowanie
  • 18
via Wykop
  • 0
@cohontes: nie robiłem nic nigdy w Powet Query, zazwyczaj robiłem jakieś proste skrypty w vba wspomagając się jakimiś opisami z internetu.
popatrzę zatem czy można to PQ jakoś wykorzystać tu.
@cohontes: kiedyś ludzie nie mający pojęcia o Excelu na każde możliwe pytanie na tym tagu odpowiadali: użyj wyszukaj.pionowo albo tabelę przestawną. Teraz jest moda na PQ. Każde narzędzie jest dobre, pod warunkiem, że osoba je proponująca wie do czego służy. Jaką masz konkretną radę do zastosowania w tym przypadku PQ?
via Wykop
  • 0
@brak_nicku: tutaj tabela przestawna raczej nie zadziała 😁
ogólnie ten skrypt z vba jest spoko, elegancko działa, loguje się do usługi, ale mnie zastanawia dlaczego nie mogę z niego wyciągnąć danych które teoretycznie powinny tam być. i praktycznie są, bo inny skrypt do sprawdzania pkd znalazłem i on to pkd odczytuje, ale jest o dziwo inaczej skonstruowany i jak zaczynam go modyfikować to przestaje działać.
trochę zgłupiałem.
tutaj tabela przestawna raczej nie zadziała 😁


@psxx: co do tego od początku nie było wątpliwości. PQ też raczej nie pomoże, chyba, że @cohontes zaraz zaproponuje innowacyjne zastosowania i będę musiał przepraszać.

Co do reszty - to link do githuba i wspomnienie innego źródła i napisanie: modyfikuję oba ale mi nie działa, to troszkę za mało. Wklej tu konkretny zmodyfikowany kod, link do opisu API sugerujący, że to co chcesz osiągnąć
via Wykop
  • 0
@brak_nicku: dzięki, nie chciałem robić z tego jakiegoś bardzo długiego wpisu dlatego wkleiłem link.
dokumentacja dot. API BIR1.1 jest tutaj: https://api.stat.gov.pl/Home/RegonApi

BIR1.1 wersja testowa
Adres usługi: https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc
Adres wsdl: https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-test.wsdl
Klucz: abcde12345abcde12345

mam dostęp pełny, ale na dostępie testowym działa to równie dobrze (tylko pobiera dane ze starej, nieaktualnej bazy)
Sam kod wygląda wygląda zaś następująco: https://pastebin.com/mKBbyJEY

kod ten pozwala mi zalogować się do usługi i pobrać dane, wyszukując po NIP
via Wykop
  • 0
@brak_nicku: może źle wskazuje raport z którego pobierane są dane? albo źle nazywam ten NIP, ale próbowałem już na wszystkie sposoby jakie przyszły mi do głowy, nie do końca rozumiem tą specyfikację techniczną a nie wiem w jaki sposób mógłbym np. połączyć się do webserwisu i uzyskać wszystkie dane jakie ma, żeby móc podejrzeć czy to tam w ogóle jest.
zrzuć sobie odp do komórki i zobaczysz wszystkie dane jakie dostałeś, po:
odp = tekstCodePageToCodePage(odp, 65001, 1250)
dodaj:
Range("a1") = odp
i zobacz czy w komórce jest to czego szukasz
via Wykop
  • 0
@brak_nicku:
bardzo Ci dziękuję za pomoc.
widzę wpisałeś Set xmlSomeCData = dom.SelectSingleNode("root/dane/NIP") i tutaj to działa, ja wpisywałem tak samo i nie chciało właśnie
i teraz to i u mnie działa, to na prawdę dziwne.
ten debug.print fajna sprawa, szukałem jakiejś opcji żeby podejrzeć odpowiedź z zapytania ale nie wiedziałem jak.
a masz pomysł jak jeszcze tutaj dorzucić to PKD żeby wyciągnąć? w sumie tylko główne jest mi potrzebne
i teraz to i u mnie działa, to na prawdę dziwne.


@psxx: nie, to nie jest cyrk, żeby coś było naprawdę dziwne. Następnym razem jak będziesz o coś pytał, to nie udostępniaj kodu z dopiskiem: tu zmieniłem to i tamto. Pokaż to czego używasz i co to dokładnie znaczy "nie działa", a dowiesz się, gdzie popełniłeś błąd.

a masz pomysł jak jeszcze tutaj dorzucić to PKD żeby wyciągnąć? w sumie tylko
via Wykop
  • 0
Panowie, bardzo Wam dziękuję.
Dzięki Waszej pomocy i lekkiej kombinatoryce udało mi się to w miarę sensownie poskładać i wszystko mi działa tak jakbym chciał :)