Sub insert_position()
Dim licznik As Integer
Dim licznik_to As Integer
licznik_to = InputBox("Podaj ilość pozycji")
For licznik = 13 To licznik_to
Dim DokumentZamElemInfo As XLDokumentZamElemInfo_18
With DokumentZamElemInfo
.Wersja = Range("D3").Value
.Ilosc = Str(Range("C" & licznik).Value) + Chr(0)
.TowarEAN = Range("B" & licznik).Value + Chr(0)
End With
Wynik = 0
Wynik = XLDodajPozycjeZam_18(Range("B8").Value, DokumentZamElemInfo)
Range("D" & licznik).Value = Wynik
Next licznik
End Sub
narazie roboczo tak aby doprowadzić to do prawidłowego działania. Niby działa ale nie do końca bo dodaje ten sam towar ale z dobrymi ilościami.
Gdy debuguję tą funkcję pod .TowarEAN mam dobry EAN. A jak wchodzę na stworzone ZS to mam np. 5 razy ten sam kod.
Nie jest wykluczone, ze twój błąd polega na zbytnim zaufaniu w to, że API zadziała zawsze tak jakby to logika podpowiadała.
Logika podpowiada, że skoro podajemy EAN to API ma już dość informacji aby wiedzieć o jaki towar chodzi.
Dla próby podaj obok/zamiast EANu kod towaru.
Prawdopodobnie czeka cię "wyselektowanie" z bazy odpowiedniego kodu towaru na podstawie EANu dla każdej pozycji.
a ja przy okazji posiadając taki sam błąd (czyli dodawanie kilku tych samych pozycji na zamówieniu), mam pytanie: w jaki sposób przerobiłeś to na funkcję?
Function insert_position_fkn(iloscZam, ean, licznik)
Dim DokumentZamElemInfo As XLDokumentZamElemInfo_18
With DokumentZamElemInfo
.Wersja = Range("D3").Value
.Ilosc = iloscZam
.TowarEAN = ean
End With
wynik = 0
wynik = XLDodajPozycjeZam_18(Range("B8").Value, DokumentZamElemInfo)
If (wynik = 0) Then Range("D" & licznik).Value = "Ok"
End Function