Skocz do zawartości

[Sfera] Aktualizowanie zapisów "historycznych" PKWiU i JPK

Polecane posty

Jak wiadomo, wszyscy teraz walczymy z PKWiU oraz GTU dla JPK, aby się zgadzały w systemie. Niestety, nie wiadomo jakby się człowiek starał, to zdarzają się przypadki braków tych zapisów. Zaktualizowanie ich wtedy w NEXO, wymaga sporo zabawy, bo trzeba wejść w Fakturę, przejść do asortymentu i poprawić dane, następnie na pozycji faktury wymusić ich zmianę, jakimiś drobnymi manewrami, no jest trochę zabawy. Dlatego chciałbym dopisać jakiś drobny skrypt w sferze, który by to wykonywał i tu pytanie:

- czy IPozycjeDokumentu - AktualizujAsortyment() spowoduje zaktualizowanie zapisów PKWiU/GTU, bez jakiś innych zmian w pozycji dokumentu?

- może jest jakaś funkcja inna, która wykona to dla całego dokumentu

Link to postu

I karpik - piszę Sobie na luzie kod, do pobrania faktury, potem listowania pozycji, aby dodać do nich AktualizujAsortyment i lipa, bo go nie ma. Jakoś inaczej trzeba do tego podejść? Przegrzebałem przykłady, forum, stary kod i brak mi już pomysłów.

IDokumentySprzedazy faktury = sfera.PodajObiektTypu<IDokumentySprzedazy>();
// pobranie faktury
int id = results.id; 
var fsDoEdycji = faktury.Dane.Wszystkie().Where(dok => dok.Id == id).FirstOrDefault();	
using (IDokumentSprzedazy fs = faktury.Znajdz(fsDoEdycji))
  {
  Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - aktualizowanie rekordów PKWiU/GTU: "+fs.Dane.NumerWewnetrzny.PelnaSygnatura);
  // przetwarzanie pozycji
  foreach(var pozycja in fs.Dane.Pozycje)
    {
    Console.WriteLine(pozycja.AsortymentAktualny.Nazwa);
    // pozycja.AktualizujAsortyment();  no to niestety w taki prosty sposób nie zadziała :(
    }
  // zapisanie faktury po zmianach
  if(fs.Zapisz()) { }
  else { fs.WypiszBledy();}
  }

 

Link to postu

Jest to metoda obiektu biznesowego dokumentu, który implementuje interfejs IPozycjeDokumentu. Powinno zadziałać coś takiego (piszę z pamięci):

fs.Pozycje.AktualizujAsortyment();

Przy czym nie ma konieczności iterowania po wszystkich pozycjach bo ta wersja metody robi aktualizację asortymentu właśnie dla wszystkich pozycji na dokumencie. Pan próbował wywoływać tą metodą z encji pozycji i dlatego nie zadziałało.

  • Dziękuję 1
Link to postu
×
×
  • Dodaj nową pozycję...