Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Witam Serdecznie.
Proszę Państwa, mam pewien problem z aplikacją CEIDG. Na infolinię dzwoniłem, niestety nie potrafią pomóc. Chodzi o import danych w formacie XML który należy spakować do archiwum z rozszerzeniem ZIP. Muszę wprowadzić do systemu przedsiębiorców wpisanych do rejestru działalności regulowanej tzw RDR. Oczywiście można robić to pojedynczo, wprowadzając każdą osobę osobno. Wszystko ok jak jest tych osób kilka ale jak jest ich niemal setka to robi się trochę roboty. W dokumentacji CEIDG w rozdziale 8.2 opisany jest import uprawnień i ograniczeń że należy ZIP-em spakować plik XML a następnie zgodnie z instrukcją wrzucić go do programu. I tu jest problem ponieważ ja kompletnie nie wiem skąd mam wziąć ten plik XML, czy mam go sam utworzyć np w excelu a następnie zapisać w formacie XML? Jeśli tak to jaki powinien być układ kolumn i komórek w tym pliku? Bardzo bym prosił o pomoc. Z góry serdecznie dziękuję.
Pozdrawiam.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Łukasz P:

Cześć,

Wejdź na stronę: https://prod.ceidg.gov.pl/CEIDG/CEIDG.Public.UI/Decisio... ("Załóż działalność gospodarczą "), Przepisz kod z obrazka i kliknij "Dalej" - na następnej stronie powinien być przycisk "Pobierz plik XML" - to Twój plik.Łukasz Schabek edytował(a) ten post dnia 18.06.12 o godzinie 16:07
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Nie nie, nie zrozumieliśmy się. Ja tu piszę jaku urzędnik. Mam po prostu dane prawie 100 osób do wprowadzenia do tego systemu i właśnie nie wiem jak to należy zrobić. Wiem że mogę wprowadzać w systemie każdą osobę ręcznie ale z tego co piszą w dokumentacji wynika że mogę wrzucić wszystkie razem tylko sęk w tym że nie wiem jak, nie wiem jak stworzyć ten plik XML i jak on ma wyglądać.
Marek Hoć

Marek Hoć Oprogramowanie dla
biznesu i nie tylko;
systemy oparte na...

Temat: CEIDG - import danych XML/ZIP, problem.

Plik będzie pewnie wyglądał podobnie do tego, którego pozyskanie wskazał Ci Łukasz. Gorzej z jego generowaniem - raczej potrzebne będzie małe narzędzie, które pobierze Twoje dane i stworzy z nich właściwą strukturę pliku. Jeśli masz dane np. w Excelu, to teoretycznie można byłoby napisać jakieś makro, które to zrobi...
Może ktoś podpowie prostsze rozwiązanie.
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Generalnie ja właśnie mam już wszystko do excela wpisane tzn imię, nazwisko, nip, sygnatura sprawy, te wszystkie uprawnienia jakie dany podmiot posiada. Teraz właśnie muszę to do 30.06 wprowadzić do tego systemu tylko tak jak wspomniałem, wprowadzanie prawie setki danych trochę zajmie a w instrukcji napisali że można to jakoś zaimportować tylko nie mam pojęcia jak i co mam zaimportować, skąd to wziąć.
Marek Hoć

Marek Hoć Oprogramowanie dla
biznesu i nie tylko;
systemy oparte na...

Temat: CEIDG - import danych XML/ZIP, problem.

Jak wspominałem - wygląda na to, że potrzebujesz 'generatora' plików XML. Albo trzeba byłoby to samemu sobie napisać, albo komuś zlecić.
Google podpowiedział mi takie coś (może do czegoś się przyda):
http://firma.wieszjak.pl/ceidg/276908,Czym-jest-SAGED....
Cel był chyba taki, żeby umożliwić 1szą migrację do CEIDG, ale strona dalej działa, może dalej umożliwia przenoszenie danych. Nie znam tego, nie wiem, czy pozwalał na import np. z Excela - trzeba byłoby się dowiedzieć.
Jak nie - to niestety - potrzebny będzie jakiś inny generator właściwych xml-i.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Tak jak napisał Marek, jest bardzo prawdopodobne, że plik którego potrzebujesz wygląda tak jak ten dostępny dla petentów. Wątpię, żeby osoba projektująca system była na tyle nadgorliwa żeby zrobić osobne formaty ;)

Dane które trzymasz w excelu mają przykładowy format:

1|Imie|Nazwisko|NIP
2|Jan|Kowalski|123-456-78-90

Wszystko co musisz zrobić, to "przerobić" je do postaci XML:


<dane>
<wiersz nr="1">
<Imie>Jan</Imie>
<Nazwisko>Kowalski</Nazwisko>
<NIP>123-456-78-90</NIP>
</wiersz>
</dane>


Zapewne istnieje wiele sposobów aby to zrobić. Możesz poszukać w sieci, np. tu i spróbować samemu, lub pójść do lokalnego "informatyka" i poprosić go, aby zrobił to za Ciebie.
Z reguły ten drugi sposób jest szybszy, kwestia znalezienia właściwej osoby ;)
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Ok, z zapisem a excela do XML nie ma problemu ponieważ w excelu 2010 jest taka opcja że można zapisać plik jako XML i wtedy wszystko się samo generuje. Tylko teraz jak ten formularz XML ma wyglądać bo myślę że to nie jest na takiej zasadzie że wpisuję sobie wszystko dowolnie jak chcę. Musi być jakiś porządek i trzeba to robić według jakiegoś schematu tylko skąd go wziąć :|.
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Jeszcze jedna rzecz. Zapomniałem napisać że informacje o przedsiębiorcach są już wpisane do CEIDG. Wprowadzała je osoba zajmująca się rejestrem działalności gospodarczej. Ja się zajmuję właśnie alkoholami i moja zadanie polega na wprowadzeniu teraz do systemu tych wszystkich zaświadczeń i zezwoleń. Czyli tak naprawdę muszę wprowadzić wszystko tzn imię, nazwisko, nip itd. Co prawda to już jest ale jak to wprowadzę jeszcze raz to stare dane zostaną napisane nowymi już z numerami zezwoleń na sprzedaż alkoholi itd.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Łukasz P:
Musi być jakiś porządek i trzeba to robić według jakiegoś schematu tylko skąd go wziąć :|.

Zgadza się! Taki schemat jest podany w nagłówku pliku XML który pobrałeś ze strony CEIDG


<?xml version="1.0" encoding="utf-8"?>
<Dokument
xmlns:inst="http://crd.gov.pl/xml/schematy/instytucja/2009/11/16/"
xmlns:adr="http://crd.gov.pl/xml/schematy/adres/2009/11/09/" xmlns:oso="http://crd.gov.pl/xml/schematy/osoba/2009/11/16/" xmlns:meta="http://crd.gov.pl/xml/schematy/meta/2009/11/16/" xmlns:str="http://crd.gov.pl/xml/schematy/struktura/2009/11/16/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://crd.gov.pl/wzor/2011/08/04/640/">


W atrybucie xmlns: http://crd.gov.pl/wzor/2011/08/04/640/ (schemat.xsd).Łukasz Schabek edytował(a) ten post dnia 18.06.12 o godzinie 18:05
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

No tak, zgadza się. Ten plik również mam pobrany z tym że po jego otwarciu pokazuje mi się jedynie kod XML. Nie za bardzo wiem jak to można uruchomić żeby podejrzeć jak to wygląda.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Łukasz P:
Nie za bardzo wiem jak to można uruchomić żeby podejrzeć jak to wygląda.

To XML, nie będzie wyglądał lepiej.

Trudna sprawa. Możesz spróbować pogadać z tym Panem: http://www.goldenline.pl/forum/1914176/xml-internet-ko...
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

No właśnie dlatego ja nie rozumiem po co oni zamieszczają pliki których i tak nie można podejrzeć. Przecież to bez sensu. W dodatku na infolinii pracują zupełnie nie kompetentni ludzie. Wisiałem dziś na linii przeszło 40min, przełączali mnie od konsultanta do konsultanta i żaden nie potrafił pomóc i powiedzieć jak to wygląda. Dokumentacja też ani słowa na ten temat nie mówi. Trzeba importować spakowany plik XML i tyle ale żeby chociaż w kilku słowach wspomnieli skąd go wziąć, jak go stworzyć, podać jakiś obrazowy jak to ma wyglądać, jaki ma być układ tabel to nic, zero. Brak jakichkolwiek informacji, nikt nic nie wie. Żeby jeszcze jakaś obsługa techniczna była kompetentna. Oni tam siedzą i dyktują dzwoniącemu cytaty z dokumentacji jakbym jej nie posiadał. Ale jak już zapytać o coś więcej to nie wiedzą.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Łukasz P:
Ale jak już zapytać o coś więcej to nie wiedzą.

Mam podobne doświadczenie z HelpDeskiem CEIDG :(

Zobacz jeszcze tu, może coś wykombinujesz: http://office.microsoft.com/pl-pl/excel-help/mapowanie...

"Użytkownik często ma dostęp do schematu XML (xsd) i plików danych XML (xml), które zostały utworzone w innej bazie danych lub aplikacji. Na przykład aplikacja LOB może eksportować dane do formatu pliku XML, komercyjna witryna lub usługa sieci Web może dostarczać plik XML, a dostosowana aplikacja opracowana przez dział informatyczny może utworzyć plik XML w ramach swoich funkcji."Łukasz Schabek edytował(a) ten post dnia 18.06.12 o godzinie 18:20
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Excela znam dość dobrze, nawet potrafię programować w VBA więc ze stworzeniem jakiegokolwiek formularza nie było by problemu. Gdybym miał tylko wzór jak to ma wyglądać. Tylko tego potrzebuję. Tytuły/nazwy wierszy i jak mają dane pola wyglądać. Niczego więcej nie potrzebuję. Niestety pomoc CEIDG nie ma zielonego pojęcia. Oni nawet nie mają pojęcia czym jest plik XML bo dziś mi jedna pani z helpdesku powiedziała że to plik excela. No po prostu ręce opadają.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Łukasz P:
Excela znam dość dobrze, nawet potrafię programować w VBA

Sorry, nie wziąłem pod uwagę że masz skila ;) Nie znam biegle VBA, ale w PHP można to zrobić dosyć łatwo z wykorzystaniem SimpleXML.

Możesz eksportować dane do CSV i wczytać je jako tablicę kluczy-wartości:


$csv = file('wnioski.csv');
foreach($csv as $row) {
$tablica[] = explode(',', $row); // separatorem pól jest przecinek
}



W rezultacie dostaniesz tablice tablic w której kolejne klucze otrzymują wartości Imię, Nazwisko i NIP:


Array
(
[0] => Array
(
[0] => Jan
[1] => Kowalski
[2] => 123-456-78-90

)
[1] => Array
(
[0] => Anna
[1] => Nowak
[2] => 345-678-90-12
)

)


Teraz ładujesz XMLa z wnioskiem i podmieniasz dane w określonych pozycjach danymi z tablicy:


$xml = new SimpleXMLElement('Wniosek.xml',null,true);

$DaneWnioskodawcy = $xml->TrescDokumentu->Wartosc->Wnioskodawca->DaneWnioskodawcy;
$DaneWnioskodawcy->Imie = $tablica[0][0];
$DaneWnioskodawcy->Nazwisko = $tablica[0][1];

$Identyfikatory = $xml->TrescDokumentu->Wartosc->Wnioskodawca->DaneWnioskodawcy->Identyfikatory;
$Identyfikatory->NIP = $tablica[0][2];

header("Content-type: text/xml");
echo $xml->asXML();



W rezultacie dostaniesz XMLa z wartościami z tablicy. Pozostaje Ci jedynie rozkminić, które pola w XMLu powinny być zmienione.
Ten ostatni krok pewnie będziesz chciał uruchomić w pętli i zamiast wyświetlać dane do przeglądarki, zapiszesz je na dysku.
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Myślisz że to się aż tak skomplikowanie robi? Pewnie jest jakaś prostsza metoda bo raczej urzędnik znający języki skryptowe i potrafiący programować to rzadkość :)
Marek Hoć

Marek Hoć Oprogramowanie dla
biznesu i nie tylko;
systemy oparte na...

Temat: CEIDG - import danych XML/ZIP, problem.

Łukasz P:
Myślisz że to się aż tak skomplikowanie robi? Pewnie jest jakaś prostsza metoda bo raczej urzędnik znający języki skryptowe i potrafiący programować to rzadkość :)
To się tak robi, żeby firmy IT miały co robić ;)
Wątpię, żeby przy zamawianiu CEIDG ktoś wpisał wymóg zrobienia importera danych z Excela, a co za tym idzie - jeśli ktoś potrzebuje, to raczej zleci wykonanie tego jakiejś firmie. Prawdopodobnie więc, jeśli chcesz zrobić to samemu, będziesz musiał iść w tę stronę, którą pokazał Łukasz.
Łukasz Piotrowski

Łukasz Piotrowski Urządnik Państwowy

Temat: CEIDG - import danych XML/ZIP, problem.

Ale przecież excel ma opcja zapisu do XMLa więc to nie stoi na przeszkodzie. Problem polega na tym że nie wiem jak mam ten plik w excelu sformatować. Zresztą nawet znalazłem informację z jakiegoś szkolenia CEIDG że można wrzucić zamiast XMLa, plik excela i też przejdzie. Sęk w tym że nie wiem jak ten plik stworzyć, jakie dane tam umieścić, jaki układ kolumn etc.
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: CEIDG - import danych XML/ZIP, problem.

Robiłeś wg tego linku który wkleiłem wyżej?
Spróbuj tego sposobu, wydaje mi się, że to jest to czego potrzebujesz. Zaimportuj schemat.xsd i powinno działać.
Zobacz też filmik, tam jest krok po kroku wyjaśniony ten proces.Łukasz Schabek edytował(a) ten post dnia 18.06.12 o godzinie 19:51

Następna dyskusja:

Import danych do tabeli mys...




Wyślij zaproszenie do