Przerwa świąteczna pokrzyżowała trochę moje plany szybkiego rozwiązania problemu ale dzięki Pana pomocy udało mi się doprowadzić program do prawidłowej kompilacji i uruchomienia, wystąpiły jednak komplikacje których nie potrafię sam rozwiązać.
Moim celem jest stworzenie programu który będzie działał w zasadzie identycznie do funkcji "Dodaj na podstawie" z menu "Komunikacja". Niezbędna jest mi do tego możliwość wprowadzania dokumentu zakupu nawet jeżeli w bazie nie istnieje jeszcze podmiot który wystawił taką fakturę lub asortyment który znajduje się na fakturze. Z asortymentem nie ma problemu - można dodać go przy pomocy IWysylkaDanychAsortymentow przed zapisaniem samego dokumentu. Co jednak zrobić z podmiotem? Aktualnie procedura wygląda następująco:
// info, logistykaNaglowek, pozycje oraz asortyment
// wyodrębione wcześniej z pliku przy pomocy InsERT.Moria.Narzedzia.EPP.EppSerializerUtils.DeserializujObiektyZPliku()
IWysylkaDanychDokumentow importDokumentu = _sfera.PodajObiektTypu<IWysylkaDanychDokumentow>();
InsERT.Moria.ModelDanych.KategoriaDokumentu kategoria = importDokumentu.OdbierzKategorieDokumentu(logistykaNaglowek);
InsERT.Moria.ModelDanych.Konfiguracja konfiguracjaDokumentu = kategoria.Konfiguracje.First();
IDokumentyZakupu dokumentDoWypelnieniaMgr = _sfera.PodajObiektTypu<IDokumentyZakupu>();
IDokumentZakupu dokumentDoWypelnienia = dokumentDoWypelnieniaMgr.Utworz(konfiguracjaDokumentu);
importDokumentu.WypelnijNaPodstawieDanychEpp(dokumentDoWypelnienia, logistykaNaglowek, info, pozycje, DataImportEpp.Orygnalne, InsERT.Moria.Klienci.SposobSynchronizacjiKlientow.Symbol, SposobSynchronizacjiAsortymentu.Symbol, asortymenty);
dokumentDoWypelnienia.Zapisz();
Rozszerzenia.WypiszBledy(dokumentDoWypelnienia);
Podając takiej funkcji dokument o podmiocie wystawiającym którego nie ma jeszcze w bazie wywołanie funkcji "WypiszBledy" (funkcja z przykładu "Walidacja, błędy i ostrzeżenia" instrukcji do sfery nexo) zwraca następujący komunikat:
Podmiot dla tego dokumentu jest wymagany.
na polach:
DokumentDZ.Podmiot
Gdy spróbowałem dodać ten sam dokument ale już po dodaniu tego konkretnego kontrahenta ręcznie otrzymałem w zamian informację, że wymagane jest pole "magazyn" dla pozycji dokumentu, także wydaje mi się że jest tutaj jakiś problem z wybraną konfiguracją dokumentu.