Skocz do zawartości

Wojciech Urbanowski

InsERT
  • Liczba zawartości

    392
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Community Answers

  1. Wojciech Urbanowski's post in Rewizor Nexo [sfera] - sprawdź rachunki bankowe w wykazie podatników VAT was marked as the answer   
    Nexo obecnie udostępnia w Sferze następujący interfejs programistyczny do sprawdzania czy rachunek jest aktywny:
    namespace InsERT.Moria.Klienci { /// <summary> /// Interfejs sprawdzania rachunku w serwisie Wykaz podatników VAT /// </summary> public interface ISprawdzanieRachunkuBialaListaPodatnikowConnector { /// <summary> /// Sprawdza czy rachunek jest przypisany do podmiotu czynnego o podanym identyfikatorze na konkretny dzień /// </summary> /// <param name="identyfikatorPodmiotu">Identyfikator podmiotu</param> /// <param name="numerRachunku">Numer rachunku</param> /// <param name="dzien">Data sprawdzenia</param> /// <param name="sposobSprawdzenia">Sposób sprawdzenia podatnika</param> /// <returns>Czy rachunek przypisany do podmiotu czynnego o podanym identyfikatorze na konkretny dzień</returns> IWynikSprawdzaniaRachunkuBialaListaPodatnikow SprawdzRachunkekPodatnikaNaDzien(string identyfikatorPodmiotu, string numerRachunku, DateTime dzien, SposobWeryfikacjiPodatnika sposobSprawdzenia); } } Niemniej nie wystawiamy interfejsu do pobierania listy rachunków.
  2. Wojciech Urbanowski's post in [Sfera] Eksportowanie PIT-11 do PDF was marked as the answer   
    Szanowny Panie,
     "u mnie działa" (nexo 32.1.0, baza demo), ale mam podobny efekt jak Pan jeśli skasuję plik Wydruki.zip. Stąd wnioskuję, że prawdopodobnie mam Pan go w złej lokalizacji. Wydruki.zip powinien znajdować się w podkatalogu Deklaracje względem katalogu w którym jest *.exe:
     
  3. Wojciech Urbanowski's post in Rewizor Nexo - dekretacja wg schematu z potwierdzeniem [sfera] was marked as the answer   
    Do obsługi zaawansowanych scenariuszy importu należy zerknąć tutaj:
    var operacjeImportu = Sfera.PodajObiektTypu<InsERT.Moria.ImportKsiegowy.IOperacjeImportuKsiegowego>(); var operacja = operacjeImportu.UtworzOperacjeImportuDokumentow(...); // uwaga 1 var wynik = operacja.WykonajOperacje(...); // uwaga 2 Ad uwaga 1: przekazujemy tej metodzie implementację interfejsu IObslugaZdarzenSeryjnegoImportu, którą należy zrobić samodzielnie (może być na początek "pusta"). Służy do reagowania na zdarzenia występujące podczas importu. Jedną z właściwości tego interfejsu jest pole InteraktywnyTryb typu InterakcjaWOperacjiImportuKsiegowego (obiekty tej klasy można stworzyć operatorem new). Klasa InterakcjaWOperacjiImportuKsiegowego ma właściwości SprobujNaprawicNiepoprawneDokumentyWynikowe i PotwierdzDokumentyWynikowe które pozwala na przekazanie delegatów, które będą wywołane w przypadku niepoprawnego/poprawnego stworzenia dokumentu wynikowego
     
    Ad uwaga 2: przekazujemy listę par schemat-dokument (można przekazać 1) i parametry procesu importu (aby proces był "z potwierdzeniem" należy również tego zażądać w parametrach przekazywanych tutaj).
     
    Przykładowa implementacja interfejsu IObslugaZdarzenSeryjnegoImportu i jego wykorzystanie:
    public class ObslugaImportu : IObslugaZdarzenSeryjnegoImportu { InterakcjaWOperacjiImportuKsiegowego _interaktywny; public ObslugaImportu(InterakcjaWOperacjiImportuKsiegowego tryb) { _interaktywny = tryb; } public InterakcjaWOperacjiImportuKsiegowego InteraktywnyTryb { get { return _interaktywny; } } public void RozpoczeciePojedynczego(ImportSeryjnyEventArgs args) { } public void RozpoczecieFragmentuWImporciePojedynczego(ImportSeryjnyEventArgs args) { } public void ZakonczeniePojedynczego(ImportSeryjnyEventArgs args) { } public void RozpoczecieCalosci(int iloscDokumentow) { } public void ZakonczenieWszystkich() { } } // ... public IObslugaZdarzenSeryjnegoImportu TrybInteraktywny( bool kontynuowacImportPoBledzie, WynikFragmentuOperacjiImportu reakcjaNaUsuwanie, Action<DokumentKsiegowy> actionNaprawianieDokumentow = null) { WynikFragmentuOperacjiImportu wynikWskazania; wynikWskazania = WynikFragmentuOperacjiImportu.KontynuujImportAktualnegoDokumentu; if (kontynuowacImportPoBledzie) { wynikWskazania = WynikFragmentuOperacjiImportu.KontynuujZNastepnymDokumentem; } else { wynikWskazania = WynikFragmentuOperacjiImportu.PrzerwijOperacjeSeryjnegoImportu; } InterakcjaWOperacjiImportuKsiegowego interaktywny = new InterakcjaWOperacjiImportuKsiegowego(); interaktywny.KontynuowacImportKolejnegoDokumentuPoBledzie = (ddk, x) => kontynuowacImportPoBledzie; interaktywny.SprobujNaprawicNiepoprawneDokumentyWynikowe = (ddk, x, x0, y, z, vat, vatOSS) => { foreach (var dokument in x) { Console.WriteLine("Błędy na dekrecie:" + dokument.Dane.NumerWlasny); Console.WriteLine(TestUtils.ErrorsDescription(TestUtils.GetErrors(dokument))); if (actionNaprawianieDokumentow != null) { actionNaprawianieDokumentow(dokument.Dane); } } foreach (var dokument in vat) { Console.WriteLine("Błędy na vacie: " + dokument.DaneBazowe.NumerDokumentu); Console.WriteLine(TestUtils.ErrorsDescription(TestUtils.GetErrors(dokument))); } if (actionNaprawianieDokumentow != null) { return WynikFragmentuOperacjiImportu.KontynuujImportAktualnegoDokumentu; } else { return wynikWskazania; } }; interaktywny.ZapytajOUsuwanieIstniejacych = (ddk) => reakcjaNaUsuwanie; return new ObslugaImportu(interaktywny); } // ... protected IEnumerable<IWynikOperacjiImportuKsiegowegoDokumentu> ImportujDDK( IEnumerable<SchematImportu> schematyImportu, IEnumerable<DokumentDoKsiegowania> ddks, ObslugaBleduIstnieniaUsuwalnychDokumentow obslugaUsuwalnych = ObslugaBleduIstnieniaUsuwalnychDokumentow.ObsluzZgodnieZTrybemSeryjnegoImportu) { var tryb = TrybInteraktywny(false, WynikFragmentuOperacjiImportu.PrzerwijOperacjeSeryjnegoImportu); var operacja = OperacjeImportuKsiegowego.UtworzOperacjeImportuDokumentow(tryb); var wynik = operacja.WykonajOperacje( schematyImportu.Zip(ddks, (s, ddk) => new Tuple<DokumentDoKsiegowania, SchematImportu>(ddk, s)), new ParametryOperacjiImportuKsiegowegoDokumentow() { TrybSeryjnegoImportu = TrybSeryjnegoImportu.PrzerwijGdyBlad, ObslugaUsuwalnychDokumentow = obslugaUsuwalnych, ObslugaNieusuwalnychDokumentow = ObslugaBleduIstnieniaNieusuwalnychDokumentow.ObsluzZgodnieZTrybemSeryjnegoImportu } ); return wynik; }  
×
×
  • Dodaj nową pozycję...