Forum Użytkownikow Subiekt GT
NEXO => Subiekt NEXO => Wątek zaczęty przez: r1frizos w Styczeń 11, 2018, 09:11:15
-
Witam. Utworzyłem plik xml z excela z inwentaryzacji i chcąc go wgrać do inserta wyskakuje mi błąd dla każdego pola np. Pole cena: nie można odnazleźć informacji schematu dla elementu "cena" , Pole wartość: nie można odnazleźć informacji schematu dla elementu "wartość" itd. Podczas tworzenia mapy może źle wpisuje jakieś wartości, czy coś ? Może ktoś coś podpowie ? Dodam że jest to nasz pierwszy kontakt z subiektem.
-
Jak dokładnie powstał ten plik XML z Excela?
Jaka jest zawartość tego pliku?
-
Najpierw wpisane zostaly pozycje do inwentaryzacji, po czym plik wygenerowalismy do excela w postaci .xmls. Nastepnie utworzylismy mape xml ktora wyglada mniej wiecej:
<spisinwentaryzacji>
<pozycje>
<lp>1</lp>
<r>tw</r>
<nazwa>nazwa</nazwa>
<ilosc>1</ilosc>
<wartosc>1</wartosc>
</pozycje>
<pozycje>
<lp>2</lp>
<r>tw</r>
<nazwa>nazwa</nazwa>
<ilosc>2</ilosc>
<wartosc>2</wartosc>
</pozycje>
</spisinwentaryzacji>
-
Najpierw wpisane zostaly pozycje do inwentaryzacji, po czym plik wygenerowalismy do excela w postaci .xmls. Nastepnie utworzylismy mape xml ktora wyglada mniej wiecej:
<spisinwentaryzacji>
<pozycje>
<lp>1</lp>
<r>tw</r>
<nazwa>nazwa</nazwa>
<ilosc>1</ilosc>
<wartosc>1</wartosc>
</pozycje>
<pozycje>
<lp>2</lp>
<r>tw</r>
<nazwa>nazwa</nazwa>
<ilosc>2</ilosc>
<wartosc>2</wartosc>
</pozycje>
</spisinwentaryzacji>
Z tej mapy wyeksportowalismy plik xml z bazy z excela. Plik xml zawiera wszystkie informacje jakie byly w tabelach w danych pozycjach jak lp, ilosc, nazwa, wartosc itd. Natomiast podczas wgrywania wlasnie pokazuje te błędy i nic nie wrzuca do inwentaryzacji.
-
A porównywałeś strukturę swojego xml z tym, który jest przedstawiony w pomocy do programu?
-
A porównywałeś strukturę swojego xml z tym, który jest przedstawiony w pomocy do programu?
Dokładnie. XML powinien wyglądać następująco:
<?xml version="1.0" encoding="utf-8"?>
<SpisInwentaryzacyjny xmlns="http://schemas.insert.com.pl/2017/SpisInwentaryzacyjny.xsd">
<Naglowek>
<Wykonujacy>Zenon Brzoza</Wykonujacy>
<DataWykonania>2017-12-11</DataWykonania>
<SymbolMagazynu>MAG</SymbolMagazynu>
</Naglowek>
<Pozycje>
<Pozycja>
<KodKreskowy>12345670</KodKreskowy>
<Ilosc>100</Ilosc>
<SymbolAsortymentu>TW1</SymbolAsortymentu>
<SymbolJednostkiMiary>szt</SymbolJednostkiMiary>
<NumerPartii>Dostawa 01</NumerPartii>
<TerminWaznosci>2018-12-20</TerminWaznosci>
<OpisPartii>Szybka Dostawa 01</OpisPartii>
<Cena>123.90</Cena>
</Pozycja>
</Pozycje>
</SpisInwentaryzacyjny>
Istotna jest wielkość liter nazw elementów, np. SpisInwentaryzacyjny (jak to w XML).
Musi być też kompletny element Naglowek (z podeelementami), a w Pozycja obowiązkowe są elementy KodKreskowy oraz Ilosc.
-
Czyli, tłumacząc na język "cywilny", wczytywany plik ma zupełnie inną strukturę i w kontekście wczytywania go to inwentaryzacji w nexo jest o kant...
-
Nie znam tego myku z XMLS, ale wydaje mi się że najprościej jest zrobić wg poniższej procedury, którą wykonałem testowo i w załącznikach są półprodukty tego procesu:
1. Utworzyć plik excela XLSX z tabelką z danymi do zaimportowania.
2. Dodać mapę XML, ale nie z XML-a tylko z XSD (schemat/definicja struktury XML, który jest w SDK) i zamapować odpowiednie elementy na odpowiednie kolumny.
3. Zapisać do pliku Excela (XMLFile3.xlsx)
4. Wyeksportować XML (opcją Zapisz jako) do pliku (XMLFile3.xml).
5. Za pomocą np. Notepada++ usunąć aliasy przestrzeni nazw, czyli zastąpić ":ns1" oraz "ns1:" pustym ciągiem (XMLFile3_modyf.xml).
Tak poprawiony plik XML można wczytać do nexo.
To tyle na temat generowania XML-a natywnego dla nexo.
Jest jeszcze jeden sposób wczytywania spisu z Excela, ale to tylko w nexo PRO.