Skocz do zawartości

Paweł Sikowski

Użytkownik
  • Liczba zawartości

    3
  • Rejestracja

  • Ostatnia wizyta

Ostatnie wizyty

Blok z ostatnimi odwiedzającymi dany profil jest wyłączony i nie jest wyświetlany użytkownikom.

Paweł Sikowski's Achievements

0

Reputacja

  1. Ok, udało się ostatecznie zapisać cały dokument prawidłowo z wcześniejszym zapisaniem podmiotu i asortymentów. Bardzo dziękuje za pomoc :).
  2. 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.
  3. Być może taka opcja jest gdzieś już w samym Subiekcie ale nie udało mi się niczego takiego znaleźć, dokumentacja Sfery też mi nie pomogła w tej kwestii więc kieruję pytanie tutaj :). W ramach "szkolenia" napisałem sobie mały program który generuje pliki .epp faktur zakupowych na podstawie plików .xml dostawcy (niezależny od Sfery/Subiekta). Kolejnym etapem jest stworzenie rozwiązania własnego obserwującego wybraną ścieżkę w poszukiwaniu nowych plików .epp i automatycznie zaciągającego je do bazy. Aktualnie znajduje się na etapie: object[] epp = InsERT.Moria.Narzedzia.EPP.EppSerializerUtils.DeserializujObiektyZPliku(e.FullPath); Funkcja zwraca listę obiektów o nadrzędnym typie InsERT.Moria.Narzedzia.EPP.Typy z listą pól pliku .epp. Czy istnieje klasa potrafią przerobić obiekty tych typów na obiekty właściwe posiadające funkcję Zapisz() czy trzeba będzie przepisywać pola ręcznie? Na EppSerializerUtils trafiłem dzięki IntelliSense szperając w InsERT.Moria.Narzedzia, obiektu tego nie ma w bibliotece klas dokumentacji Sfery, niestety dalej już utknąłem i samodzielnie nie potrafię znaleźć rozwiązania innego niż ręczne przepisywanie którego za wszelką cenę wolałbym uniknąć.
×
×
  • Dodaj nową pozycję...