Forum Użytkownikow Subiekt GT

NEXO => Subiekt NEXO => Wątek zaczęty przez: r1frizos w Styczeń 11, 2018, 09:11:15

Tytuł: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana 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.
Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: fosuk w Styczeń 11, 2018, 12:25:25
Jak dokładnie powstał ten plik XML z Excela?
Jaka jest zawartość tego pliku?
Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: r1frizos w Styczeń 12, 2018, 09:22:33
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>
Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: r1frizos w Styczeń 12, 2018, 09:25:44
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.
Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: birds22 w Styczeń 12, 2018, 09:39:15
A porównywałeś strukturę swojego xml z tym, który jest przedstawiony w pomocy do programu?

Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: fosuk w Styczeń 12, 2018, 11:02:52
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.
Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: candy w Styczeń 12, 2018, 11:32:33
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...
Tytuł: Odp: Błąd podczas wczytywania pliku xml do inwentaryzacji
Wiadomość wysłana przez: fosuk w Styczeń 12, 2018, 12:28:03
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.