Radomił Ząbik 306 Napisano 9 Lipca 2019 Udostępnij Napisano 9 Lipca 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK W momencie wywołania wz.Zapisz(), otrzymuje błąd - po wyłączeniu śladu rewizyjnego, błąd zniknął: InsERT.Mox.Core.BusinessAspects.LimitedEdit.EditDisallowedException: Nie można edytować zamówienia gdy zostało już ono zrealizowane. w InsERT.Mox.Core.BusinessAspects.LimitedEdit.LimitedEditAspect.LimitRelationshipEdit(RelationshipChangingJoinpoint joinpoint) w InsERT.Mox.Core.BusinessAspects.LimitedEdit.LimitedEditAspect.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.Aop.Weaver.RuntimeWeave(RuntimeWeavedJoinpoint joinpoint, Action coreOperation) w InsERT.Mox.BusinessObjects.BusinessObject`3.InsERT.Mox.DataAccess.IDataEventsSink.OnRelationshipChanging(Object entity, RelationshipChangedEventArgs args) w InsERT.Mox.DataAccess.EntityFramework.EntityDataObjectBase.HandleExplicitAssociationChange[T](EntityReference`1 reference, T relatedEntity, String referencePropertyName) w InsERT.Moria.ModelDanych.ObiektWSladzieRewizyjnym.set_Dokument(Dokument value) w InsERT.Moria.Dokumenty.Logistyka.SladRewizyjny.ObslugaSladuRewizyjnegoDokumentu.PodlaczEncjeGlowna(ObiektWSladzieRewizyjnym obiektWSladzieRewizyjnym, Object encjaGlownaObiektu) w InsERT.Moria.Dokumenty.Logistyka.SladRewizyjny.ObslugaSladuRewizyjnegoDokumentu.Podlacz(ObiektWSladzieRewizyjnym obiektWSladzieRewizyjnym, IObiektBiznesowy obiektBiznesowy) w InsERT.Moria.SladRewizyjny.SladRewizyjny.Podlacz(IInjectionScope scope, IObslugaSladuRewizyjnegoObiektuBiznesowego obsluga, IObiektBiznesowy iBO, ZdarzenieSladuRewizyjnego zdarzenie, ObiektWSladzieRewizyjnym obiektWSladzie) w InsERT.Moria.SladRewizyjny.SladRewizyjny.<>c__DisplayClass126_0.<PoChangesSaving>b__1() w System.Collections.Generic.EnumerableExtensions.GetOrAdd[TKey,TElement](IDictionary`2 source, TKey key, Func`1 elementFactory) w InsERT.Moria.SladRewizyjny.SladRewizyjny.PoChangesSaving(UnitOfWork unitOfWork, IBusinessObject businessObject) w InsERT.Moria.SladRewizyjny.ChangesSavingObiektuAdvice.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Moria.Vendero.Aspekty.PowiadamianieOZmianachVendero.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.NaglowkiObiektow.FreeformRelationshipCleanupAspect.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.NaglowkiObiektow.WypelnianieNaglowkow.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.DataExtensions.RequiredFieldsGuardAspect.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w lTU=.JjY=.MTY=(Object& instance, Object[] methodArgs, Boolean isNullNullable, MethodBase methodBase, Boolean isVirtualCall) w lTU=.dUU=.eEU=(zDU= ) w lTU=.ljY=.mTY=(zDU= ctx) w lTU=.ljY=.mTY=(zDU= ctx) w VMRuntime.Libraries.CSVMRuntime.SzY=(FDY= vmMethod, zDU= ctx) w VMRuntime.Libraries.CSVMRuntime.SjY=(Assembly asm, String id, Object[] args) w VMRuntime.Libraries.CSVMRuntime.RunMethod(String id, Object[] args) w InsERT.Mox.Security.ReadOnly.ReadOnlySaveChangesBlocker.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.Aop.Weaver.RuntimeWeave(RuntimeWeavedJoinpoint joinpoint, Action coreOperation) w InsERT.Mox.BusinessObjects.BusinessObject`3.HandleBeforeSavingChanges(Object sender, CancelEventArgs args) w InsERT.Mox.Work.UnitOfWork.PublishBeforeSavingChangesNotification() w InsERT.Mox.Work.UnitOfWork.SaveChanges1(Boolean& saveRequestVetoed, Boolean& changesWereSaved) w InsERT.Mox.Work.UnitOfWork.SaveChanges() w InsERT.Mox.BusinessObjects.BusinessObject`3.Zapisz() w SynchronousSocketListener.StartListening() w f:\SferaDEV\Sfera\Sfera\Program.cs:wiersz 1009 Link to postu
Paweł Kubacki 192 Napisano 9 Lipca 2019 Udostępnij Napisano 9 Lipca 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK Nie udało nam się powtórzyć tego problemu. Być może nasz kod nieco różnił się od Państwa rozwiązania. Możliwe też, że istotne są w tym przypadku specyficzne dane. Czy problem ten występuje za każdym razem, czy tylko dla wybranych dokumentów? Czy jest coś specyficznego w tych zamówieniach, np. zostały przekształcone do zleceń dla dostawców, itp.? Która wersja metody do tworzenia WZ była wykorzystywana? Link to postu
Radomił Ząbik 306 Napisano 9 Lipca 2019 Autor Udostępnij Napisano 9 Lipca 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK 55 minut temu, Paweł Kubacki napisał: Czy problem ten występuje za każdym razem, czy tylko dla wybranych dokumentów? Wystąpił dla 4 dokumentów, potem już zmuszony byłem wyłączyć ślad rewizyjny. Były to realizacje do ZK z jedną tylko pozycją, więc ich realizacja oznaczała zamknięcie ZK. Po za nimi, przeszły dwa dokumenty, jeden wielopozycyjny, drugi jedno. W tym, który ja testowałem, było wydawane więcej niż było na ZK, to też może być jakiś ślad. Zamówienia są różne, jutro ewentualnie jeszcze popróbuje na DEV i może coś wyśledzę bardziej. Kod naszego rozwiązania poniżej. Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - dodawanie WZki do wybranych pozycji."); // przygotowanie danych IAsortymenty asortyment = sfera.PodajObiektTypu<IAsortymenty>(); IPodmioty podmioty = sfera.PodajObiektTypu<IPodmioty>(); IUzytkownicy uzytkownicy = sfera.PodajObiektTypu<IUzytkownicy>(); IStatusyDokumentowDaneDomyslne statusyDD = sfera.PodajObiektTypu<IStatusyDokumentow>().DaneDomyslne; Konfiguracja konfWz = sfera.PodajObiektTypu<IKonfiguracje>().DaneDomyslne.WydanieZewnetrzne; string stock; stock = results.stock; Magazyn mag = sfera.PodajObiektTypu<IMagazyny>().Dane.Wszystkie().Where(m => m.Symbol == stock).FirstOrDefault(); IWydaniaZewnetrzne dokumentWydania = sfera.PodajObiektTypu<IWydaniaZewnetrzne>(); IZamowieniaOdKlientow zamowienia = sfera.PodajObiektTypu<IZamowieniaOdKlientow>(); // pobranie danych jakiegokolwiek ZK, aby ustawić parametry int docid; docid = results.docid; var zk = zamowienia.Dane.Wszystkie().Where(p => p.Id == docid).FirstOrDefault(); // znalezienie zamówienia using (IWydanieZewnetrzne wz = dokumentWydania.Utworz(konfWz)) { // przeniesienie parametrów z ZK ParametryGrupowaniaPodstawowe parametryGrupowania = new ParametryGrupowaniaPodstawowe(); parametryGrupowania.MetodaGrupowaniaPozycji = MetodaGrupowaniaPozycji.BezKonsolidacji; parametryGrupowania.MetodaWyliczeniaCen = MetodaWyliczeniaCen.PrzepisanieZDokumentuGlownego; parametryGrupowania.MiejsceDostawy = zk.MiejsceDostawy; parametryGrupowania.MiejsceDostawyTyp = MiejsceDostawyTyp.Nabywca; parametryGrupowania.NabywcaSprzedawca = zk.NabywcaSprzedawcaWybrany; IAplikatorSkutkowMagazynowych aplikatorSM = (IAplikatorSkutkowMagazynowych)wz; wz.Dane.Magazyn = mag; wz.Dane.Uwagi = results.comment; wz.Dane.StatusDokumentu = statusyDD.Rozchod_WydanyTowar; IDokumentZRozbiciem dok = (IDokumentZRozbiciem)wz; // wypełnienie pozycji na podstawie ZK foreach(var posadd in results.pos) { int posdocid; int posid; decimal posq; int posbatch; string comment; posdocid = posadd.docid; posid = posadd.id; posq = posadd.quantity; posbatch = posadd.batch; comment = posadd.comment; //Console.WriteLine("Pobieranie pozycji: "+posid+" z ZK "+posdocid); var zamowienie = zamowienia.Dane.Wszystkie().Where(p => p.Id == posdocid).FirstOrDefault(); // znalezienie zamówienia var poz = wz.WypelnijNaPodstawieZK(zamowienie.Pozycje.Where(p => p.Id == posid),zamowienie,parametryGrupowania).Single(); // dodanie pozycji z ZK //var poz = wz.WypelnijNaPodstawieDokumentuZaliczkowego(zamowienie.Pozycje.Where(p => p.Id == posid),zamowienie,parametryGrupowania).Single(); Console.WriteLine("Dodanie pozycji: "+posid+", "+poz.AsortymentAktualny.Nazwa); poz.Opis = comment; poz.CenaRecznieEdytowana = true; if(posadd.batch!=null) { poz.Ilosc = 0; // ustawiamy na 0, wyjdzie z rozbicia aplikatorSM.AplikujSkutkiMagazynowe(poz); // poprawka od Insertu na poprawne działanie skutku magazynu var r = dok.RozpocznijRozbicie(poz) as IRozbiciePozycjiRozchodowe; Console.WriteLine("Wprowadzenie partii: "+posbatch+" w ilości "+posq); r.Pozycje.Where(p => p.PartiaZrodlowa.Id == posbatch).Single().Ilosc = posq; foreach(var pozr in r.Pozycje.Where(p => p.PartiaZrodlowa.Id != posbatch && p.Ilosc > 0m)) { pozr.Ilosc = 0m; } foreach(var pozr in r.Pozycje.Where(p => p.PartiaZrodlowa.Id != 0 )) { Console.WriteLine("Wybrane partie: "+pozr.PartiaZrodlowa.Id+" = "+pozr.Ilosc); } r.ZakonczRozbicie(); aplikatorSM.AplikujSkutkiMagazynowe(poz); // ponowna poprawka na poprawne rozbicie } else { poz.Ilosc = posq; // ustawiamy na 0, wyjdzie z rozbicia aplikatorSM.AplikujSkutkiMagazynowe(poz); } //Console.WriteLine("Ilość na pozycji: " + poz.Ilosc); //wz.Przelicz(); } // wypełnienie pozycji na podstawie asortymentu foreach(var posadd in results.posextra) { int posid; decimal posq; posid = posadd.id; posq = posadd.quantity; Asortyment a = asortyment.Dane.Wszystkie().Where(t => t.Id == posid).First(); var poz = wz.Pozycje.Dodaj(a,posq, a.JednostkaSprzedazy); Console.WriteLine("Dodanie pozycji dodatkowej: "+poz.AsortymentAktualny.Nazwa); // jeśli jest opis pozycji if(posadd.desc!=null && posadd.desc!="") { string posd; posd = posadd.desc; poz.Opis = posd; } // jeśli jest cena pozycji if(posadd.price!=null) { decimal posp; posp = posadd.price; poz.Cena.NettoPoRabacie = posp; } wz.Przelicz(); } // poprawka na nabywcę if(wz.Dane.NabywcaSprzedawca==null) { wz.Dane.NabywcaSprzedawca = wz.Dane.Podmiot; wz.Dane.RolaInnegoPodmiotu = (byte)RolaInnegoPodmiotu.InnyNabywca; } // ustawienie daty if(results.date!=null && results.date!="") { string dateString = results.date+" 07:00:00,000"; DateTime wzDate = DateTime.ParseExact(dateString,"yyyy-MM-dd HH:mm:ss,fff",System.Globalization.CultureInfo.InvariantCulture); wz.Dane.DataWydaniaWystawienia = wzDate; wz.Dane.DataWprowadzenia = wzDate; Console.WriteLine("Data wystawienia: " + wzDate); } // dopisanie transportu, jeśli jest - DO USUNIĘCIA!!!! decimal transport; transport = results.transport; if(transport!=0) { Asortyment a = asortyment.Dane.Wszystkie().Where(t => t.Symbol == "U Transport").First(); var poz = wz.Pozycje.Dodaj(a, 1m, a.JednostkaSprzedazy); poz.Cena.NettoPoRabacie = transport; } // osoba wystawiająca string sign = results.sign; wz.Dane.WystawilaOsoba = uzytkownicy.Dane.Wszystkie().Where(p => p.Sygnatura == sign).FirstOrDefault().Osoba; // nadanie flagi /* if(results.flag!=null && results.flag!="") { int idf = results.flag; InsERT.Moria.Flagi.IFlagiWlasne flagi = sfera.PodajObiektTypu<InsERT.Moria.Flagi.IFlagiWlasne>(); var flaga = flagi.Dane.Wszystkie().Where(f => f.Id = idf).Single(); flagi.NadajFlage(idf,,wz.Dane.Id); } */ // zapisywanie i eksportowanie wydruku if(wz.Zapisz()) { Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - dodano WZkę: "+wz.Dane.NumerWewnetrzny.PelnaSygnatura); response = "{ \"number\":\""+wz.Dane.NumerWewnetrzny.PelnaSygnatura+"\", \"id\":\""+wz.Dane.Id+"\" }"; // eksportowanie do PDF Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - eskportowanie pliku PDF: "+wz.Dane.NumerWewnetrzny.PelnaSygnatura); IWydruki manager = sfera.PodajObiektTypu<IWydruki>(); using (IWydruk wydruk = manager.Utworz(TypWzorcaWydruku.WydanieZewnetrzne)) { wydruk.ObiektDoWydruku = wz.Dane; var wzorzec = wydruk.ParametryDrukowania.DostepneWzorce.Where(p => p.Id == 100175).FirstOrDefault(); wydruk.ParametryDrukowania.WybranyWzorzec = wzorzec; wydruk.ParametryDrukowania.NazwaDokumentuUzytkownika = "wz" +wz.Dane.Id; wydruk.ParametryDrukowania.SciezkaEksportu = @"N:\"; wydruk.Eksport(); } } else { Globals.errors = ""; wz.WypiszBledy(); Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd H:mm:ss")+" - błąd przy dodawaniu WZki: "+Globals.errors ); response = "{ \"error\":\""+Globals.errors+"\" }"; } } Link to postu
Wojciech Szopiński 224 Napisano 10 Lipca 2019 Udostępnij Napisano 10 Lipca 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK Błąd występuje gdy ZK zostało wystawione bez włączonego śladu rewizyjnego, a następnie jest ono realizowane przy włączonym śladzie. Zapisujemy oczywiście do poprawy. 1 Link to postu
Radomił Ząbik 306 Napisano 10 Lipca 2019 Autor Udostępnij Napisano 10 Lipca 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK A akurat robiłem testy ... Problem pojawiał się w przypadku zamykania zlecenia, tj. jego pełnej realizacji, częściowe przechodzą. No to ślad poczeka na łatkę Link to postu
Paweł Kubacki 192 Napisano 31 Lipca 2019 Udostępnij Napisano 31 Lipca 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK Problem został poprawiony do wersji 26.1.0, która jest już dostępna. Link to postu
Radomił Ząbik 306 Napisano 20 Sierpnia 2019 Autor Udostępnij Napisano 20 Sierpnia 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK No to mamy 26.1.1, odpaliłem dzisiaj ślad rewizyjny i mamy podobny problem przy Sferze, w przekształceniu ZD w PZ. Jakby to powiedział mój synek, OJ, OJ! Może warto sprawdzić wszystkie przekształcenia dokumentów Cytat InsERT.Mox.Core.BusinessAspects.LimitedEdit.EditDisallowedException: Nie można edytować zamówienia gdy zostało już ono zrealizowane. w InsERT.Mox.Core.BusinessAspects.LimitedEdit.LimitedEditAspect.LimitRelationshipEdit(RelationshipChangingJoinpoint joinpoint) w InsERT.Mox.Core.BusinessAspects.LimitedEdit.LimitedEditAspect.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.Aop.Weaver.RuntimeWeave(RuntimeWeavedJoinpoint joinpoint, Action coreOperation) w InsERT.Mox.BusinessObjects.BusinessObject`3.InsERT.Mox.DataAccess.IDataEventsSink.OnRelationshipChanging(Object entity, RelationshipChangedEventArgs args) w InsERT.Mox.DataAccess.EntityFramework.EntityDataObjectBase.HandleExplicitAssociationChange[T](EntityReference`1 reference, T relatedEntity, String referencePropertyName) w InsERT.Moria.ModelDanych.ObiektWSladzieRewizyjnym.set_Dokument(Dokument value) w InsERT.Moria.Dokumenty.Logistyka.SladRewizyjny.ObslugaSladuRewizyjnegoDokumentu.PodlaczEncjeGlowna(ObiektWSladzieRewizyjnym obiektWSladzieRewizyjnym, Object encjaGlownaObiektu) w InsERT.Moria.Dokumenty.Logistyka.SladRewizyjny.ObslugaSladuRewizyjnegoDokumentu.Podlacz(ObiektWSladzieRewizyjnym obiektWSladzieRewizyjnym, IObiektBiznesowy obiektBiznesowy) w InsERT.Moria.SladRewizyjny.SladRewizyjny.Podlacz(IInjectionScope scope, IObslugaSladuRewizyjnegoObiektuBiznesowego obsluga, IObiektBiznesowy iBO, ZdarzenieSladuRewizyjnego zdarzenie, ObiektWSladzieRewizyjnym obiektWSladzie) w InsERT.Moria.SladRewizyjny.SladRewizyjny.<>c__DisplayClass126_0.<PoChangesSaving>b__1() w System.Collections.Generic.EnumerableExtensions.GetOrAdd[TKey,TElement](IDictionary`2 source, TKey key, Func`1 elementFactory) w InsERT.Moria.SladRewizyjny.SladRewizyjny.PoChangesSaving(UnitOfWork unitOfWork, IBusinessObject businessObject) w InsERT.Moria.SladRewizyjny.ChangesSavingObiektuAdvice.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.NaglowkiObiektow.FreeformRelationshipCleanupAspect.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.NaglowkiObiektow.WypelnianieNaglowkow.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.DataExtensions.RequiredFieldsGuardAspect.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w lTU=.JjY=.MTY=(Object& instance, Object[] methodArgs, Boolean isNullNullable, MethodBase methodBase, Boolean isVirtualCall) w lTU=.dUU=.eEU=(zDU= ) w lTU=.ljY=.mTY=(zDU= ctx) w lTU=.ljY=.mTY=(zDU= ctx) w VMRuntime.Libraries.CSVMRuntime.SzY=(FDY= vmMethod, zDU= ctx) w VMRuntime.Libraries.CSVMRuntime.SjY=(Assembly asm, String id, Object[] args) w VMRuntime.Libraries.CSVMRuntime.RunMethod(String id, Object[] args) w InsERT.Mox.Security.ReadOnly.ReadOnlySaveChangesBlocker.Execute(IJoinpoint joinpoint) w InsERT.Mox.Aop.RuntimeWeavedJoinpoint.Proceed() w InsERT.Mox.Aop.Weaver.RuntimeWeave(RuntimeWeavedJoinpoint joinpoint, Action coreOperation) w InsERT.Mox.BusinessObjects.BusinessObject`3.HandleBeforeSavingChanges(Object sender, CancelEventArgs args) w InsERT.Mox.Work.UnitOfWork.PublishBeforeSavingChangesNotification() w InsERT.Mox.Work.UnitOfWork.SaveChanges1(Boolean& saveRequestVetoed, Boolean& changesWereSaved) w InsERT.Mox.Work.UnitOfWork.SaveChanges() w InsERT.Mox.BusinessObjects.BusinessObject`3.Zapisz() w SynchronousSocketListener.StartListening() Link to postu
Przemysław Werner 392 Napisano 21 Sierpnia 2019 Udostępnij Napisano 21 Sierpnia 2019 w [Sfera] Włączony Ślad rewizyjny, uniemożliwia utworzenie dokumentu WZ na podstawie ZK Problem zostanie rozwiązany w wersji jesiennej (wersja 27.0.0). Link to postu
Polecane posty