Skocz do zawartości

P W

Użytkownik
  • Liczba zawartości

    11
  • Rejestracja

  • Ostatnia wizyta

Ostatnie wizyty

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

P W's Achievements

0

Reputacja

  1. Dzięki wszystkim za informacje. Chyba faktycznie rozwiązanie oparte o wyliczanie remanentów w przedziale czasowym będzie jednak w takim przypadku "najprzyjemniejsze".
  2. Na podstawie tych danych chciałem docelowo uzyskać informację przez ile dni (w podanym przedziale czasowym) nie było na magazynie danego produktu (lub przez ile był dostępny).
  3. Dzień dobry, Potrzebuję w Subiekcie Nexo sprawdzić stan asortymentu w konkretnych dniach lub przedziałach czasowych (w przypadku wybrania np. tygodnia - widok z podziałem na każdy dzień z danego zakresu) by na tej podstawie określić czy był wtedy dostępny (lub go brakowało) i nie wiem w której tabeli szukać właściwej daty do tego typu sprawdzania. Raport "Remanent na dzień" w tym przypadku mi nie odpowiada bo to tylko 1 konkretny dzień, a potrzebuję też przedział czasowy. Które tabele trzeba połączyć z Asortymenty i StanyMagazynowe by korzystać z właściwej daty? Prosiłbym o pomoc i wskazanie potrzebnych do tego tabel.
  4. Witam, czy jest możliwość by w fakturach proforma nie zmieniał się sposób dostawy przy jakiejkolwiek zmianie w danych kontrahenta lub np. dodaniu odbiorcy do proformy jeżeli jest już uzupełnione to pole? Rozumiem, że przez to, że w konfiguracji faktury proforma mamy ustawiony "brak", ale jak już coś zostało ustawione w dokumencie, to zmiana związana z kontrahentami nie powinna wymuszać z powrotem "brak" i mogło by być w konfiguracji "nie zmieniaj". Każda proforma może mieć inny sposób dostawy, nawet ten sam klient może dla różnych swoich proform wybrać różny sposób dostawy. Przykładowo wysłaliśmy proformę do klienta, ale okazało się, że np. była literówka w nazwie klienta i po zmianie w kliencie pole jest puste i musimy je znowu uzupełnić. Czy jest szansa że pojawi się funkcjonalność, która nie będzie zmieniała tego pola w takich przypadkach?
  5. Odczytuję listę zamówień z określonymi danymi, a następnie w pętli foreach chcę dalej obrabiać te zamówienia. Miałem jeszcze odczyt pól własnych, ale go do testów usunąłem, więc on nie stanowił problemu, bo wyjątek i tak się pojawia. Dane zamówień zapisuję do własnej klasy: IQueryable<DaneNumeruZam> listaZamowien = sfera.PodajObiektTypu<IZamowieniaOdKlientow>().Dane.Wszystkie().Select( x => new DaneNumeruZam { numer = x.NumerWewnetrzny.Numer, rozszerzenie = x.NumerWewnetrzny.RozszerzenieNumeru, procentRealizacji = x.StanRealizacjiZamowienia.ProcentowyStanRealizacji, wartoscPrzedplaty = x.SumaPrzedplat, wartoscZamowienia = x.Wartosc.BruttoPoRabacie, dataZamowienia = x.DataWprowadzenia, } ).Where(x => x.wartoscPrzedplaty < x.wartoscZamowienia && x.procentRealizacji == 100 && x.dataZamowienia > dataPoczSprawdzania); Później w pętli je odczytuję. Po okrojeniu kodu, który i tak wywala wyjątek, zostało: foreach (DaneNumeruZam zamowienie in listaZamowien) { IZamowieniaOdKlientow dokumentyZk = sfera.PodajObiektTypu<IZamowieniaOdKlientow>(); var dsDoEdycji = dokumentyZk.Dane.Wszystkie().Where(dok => dok.NumerWewnetrzny.Numer == zamowienie.numer.Value && dok.NumerWewnetrzny.RozszerzenieNumeru.Equals(zamowienie.rozszerzenie)).FirstOrDefault(); IZamowienieOdKlienta zk = dokumentyZk.Znajdz(dsDoEdycji); IStatusyDokumentowDaneDomyslne statusyDD = sfera.PodajObiektTypu<IStatusyDokumentow>().DaneDomyslne; zk.Dane.StatusDokumentu = statusyDD.ZamowienieOdKlienta_RezerwacjaStanu; zk.Zapisz(); } W zamówieniach mamy automat wysyłający mailem proformy po X minut od dodania dokumentu. Gdy wywołuję ten kod, to już jest po automatycznej wysyłce dokumentu. Dla faktur VAT również mamy automat wysyłające mail.
  6. błąd: Microsoft.Practices.Unity.ResolutionFailedException: Resolution of the dependency failed, type = "InsERT.Moria.Wspolne.RegulyAutomatyzacji.IFabrykaKryteriumRegulyAutomatyzacji", name = "(none)". Exception occurred while: Calling constructor InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji(InsERT.Moria.ModelDanych.IParametrCennikowRepository parametrCennikowRepository). Exception is: TargetInvocationException - Obiekt docelowy wywołania zgłosił wyjątek. ----------------------------------------------- At the time of the exception, the container was: Resolving InsERT.Moria.Wspolne.RegulyAutomatyzacji.FabrykaKryteriumRegulyAutomatyzacji,(none) (mapped from InsERT.Moria.Wspolne.RegulyAutomatyzacji.IFabrykaKryteriumRegulyAutomatyzacji, (none)) Resolving parameter "funkcja" of method FabrykaKryteriumRegulyAutomatyzacji.Zarejestruj(InsERT.Moria.Wspolne.RegulyAutomatyzacji.IKryteriumRegulyAutomatyzacji funkcja) Resolving InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji,(none) Calling constructor InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji(InsERT.Moria.ModelDanych.IParametrCennikowRepository parametrCennikowRepository) ---> System.Reflection.TargetInvocationException: Obiekt docelowy wywołania zgłosił wyjątek. ---> System.Data.Entity.Core.EntityException: The underlying provider failed on EnlistTransaction. ---> System.Transactions.TransactionManagerCommunicationException: Dostęp do sieci usługi menedżera transakcji rozproszonych (MSDTC) został zablokowany. Włącz dostęp do sieci usługi DTC w konfiguracji zabezpieczeń za pomocą narzędzia administracyjnego usług składowych. ---> System.Runtime.InteropServices.COMException: Menedżer transakcji wyłączył swoją obsługę transakcji zdalnych/sieciowych. (Wyjątek od HRESULT: 0x8004D024) w System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim) w System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) --- Koniec śladu stosu wyjątków wewnętrznych --- w System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException comException) w System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken) w System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx) w System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx) w System.Transactions.EnlistableStates.Promote(InternalTransaction tx) w System.Transactions.Transaction.Promote() w System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction) w System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) w System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts) w System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) w System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) w System.Data.SqlClient.SqlInternalConnection.EnlistTransaction(Transaction transaction) w System.Data.SqlClient.SqlConnection.EnlistTransaction(Transaction transaction) w System.Data.Entity.Core.EntityClient.EntityConnection.EnlistTransaction(Transaction transaction) --- Koniec śladu stosu wyjątków wewnętrznych --- w System.Data.Entity.Core.EntityClient.EntityConnection.EnlistTransaction(Transaction transaction) w System.Data.Entity.Core.Objects.ObjectContext.EnsureContextIsEnlistedInCurrentTransaction[T](Transaction currentTransaction, Func`1 openConnection, T defaultValue) w System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection() w System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) w System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__26_0() w System.Lazy`1.CreateValue() w System.Lazy`1.LazyInitValue() w System.Lazy`1.get_Value() w System.Data.Entity.Internal.LazyEnumerator`1.MoveNext() w System.Linq.Enumerable.Single[TSource](IEnumerable`1 source) w System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<>c__12`1.<GetElementFunction>b__12_3(IEnumerable`1 sequence) w System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot) w System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression) w System.Linq.Queryable.Single[TSource](IQueryable`1 source) w InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji..ctor(IParametrCennikowRepository parametrCennikowRepository) --- Koniec śladu stosu wyjątków wewnętrznych --- w System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) w System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) w InsERT.Mox.Runtime.Unity.ReflectionBuildPlanPolicy.DoConstructorInjection(IBuilderContext context) w InsERT.Mox.Runtime.Unity.ReflectionBuildPlanPolicy.BuildUp(IBuilderContext context) w Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) w Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) w Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey) w Microsoft.Practices.Unity.ObjectBuilder.NamedTypeDependencyResolverPolicy.Resolve(IBuilderContext context) w InsERT.Mox.Runtime.Unity.ReflectionBuildPlanPolicy.DoMethodInjection(IBuilderContext context) w InsERT.Mox.Runtime.Unity.ReflectionBuildPlanPolicy.BuildUp(IBuilderContext context) w Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context) w Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context) w Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides) --- Koniec śladu stosu wyjątków wewnętrznych --- w Microsoft.Practices.Unity.UnityContainer.DoBuildUp(Type t, Object existing, String name, IEnumerable`1 resolverOverrides) w Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides) w Microsoft.Practices.Unity.UnityContainerExtensions.Resolve[T](IUnityContainer container, String name, ResolverOverride[] overrides) w Microsoft.Practices.ObjectBuilder2.DeferredResolveBuildPlanPolicy.ResolveTrampoline`1.Resolve() w InsERT.Moria.Wspolne.RegulyAutomatyzacji.WeryfikatorRegulAutomatyzacji.SprawdzSpelnienieWarunkow(IEnumerable`1 obiektyZKontekstem, RegulaAutomatyzacji regulaAutomatyzacji) w InsERT.Moria.Wspolne.RegulyAutomatyzacji.WeryfikatorRegulAutomatyzacji.SprawdzSpelnienieWarunkow(IEnumerable`1 strategie, List`1 reguly) w InsERT.Moria.Wspolne.RegulyAutomatyzacji.WeryfikatorRegulAutomatyzacji.UruchomWeryfikator() w InsERT.Moria.Wspolne.RegulyAutomatyzacji.WeryfikatorRegulAutomatyzacji.WykonajPoAkceptacjiZmian(Object sender, ChangesAcceptedEventArgs args) w InsERT.Mox.Work.UnitOfWork.SaveChanges3(Boolean changesWereSaved)
  7. Witam, czy można poprzez sferę zmienić status ZK ze zrealizowanego ("Z") na "S"? Zamówienie zrealizowane jest poprzez FV. Jeżeli tak to co trzeba jeszcze ustawić? Wywołuje to tak: IStatusyDokumentowDaneDomyslne statusy = sfera.PodajObiektTypu<IStatusyDokumentow>().DaneDomyslne; zk.Dane.StatusDokumentu = statusy.ZamowienieOdKlienta_RezerwacjaStanu; zk.Zapisz() //Przy zapisie występuje poniższy wyjątek, Gdybym miał już status "S" i chciałbym ponownie zapisać "S", to błędu nie ma, więc sam zapis chyba jest poprawny. Czy to kwestia tego, że z poziomu Nexo pojawia się dodatkowe pytanie "Zamówienie jest w pełni zrealizowane. Czy chcesz zmienić status na 'Zrealizowane'?" i poprzez sferę nie można tego obsłużyć? Błąd: "W trakcie akceptowania zmian wystąpiły błędy" Szczegóły błędu: Resolution of the dependency failed, type = "InsERT.Moria.Wspolne.RegulyAutomatyzacji.IFabrykaKryteriumRegulyAutomatyzacji", name = "(none)". Exception occurred while: Calling constructor InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji(InsERT.Moria.ModelDanych.IParametrCennikowRepository parametrCennikowRepository). Exception is: TargetInvocationException - Obiekt docelowy wywołania zgłosił wyjątek. ----------------------------------------------- At the time of the exception, the container was: Resolving InsERT.Moria.Wspolne.RegulyAutomatyzacji.FabrykaKryteriumRegulyAutomatyzacji,(none) (mapped from InsERT.Moria.Wspolne.RegulyAutomatyzacji.IFabrykaKryteriumRegulyAutomatyzacji, (none)) Resolving parameter "funkcja" of method FabrykaKryteriumRegulyAutomatyzacji.Zarejestruj(InsERT.Moria.Wspolne.RegulyAutomatyzacji.IKryteriumRegulyAutomatyzacji funkcja) Resolving InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji,(none) Calling constructor InsERT.Moria.Wspolne.RegulyAutomatyzacji.WartoscDokumentuKryteriumAutomatyzacji(InsERT.Moria.ModelDanych.IParametrCennikowRepository parametrCennikowRepository) Pozdrawiam Przemek
  8. Witam, w jaki sposób poprzez sferę odczytać wszystkie towary magazynowe - również te ze stanem 0? Wg poniższego kodu odczytuje mi tylko część asortymentu. W Subiekcie po ustawieniu filtru Stan na "Niezerowy bez usług" mam wartość 1034, więc z jedną z poniższych da się zgodzić. Natomiast po wybraniu filtra stanu "zerowy bez usług" w Subiekcie mam kilkaset pozycji na tym magazynie i te pozycje chciałbym też widzieć odczytując stany magazynowe - tu wybierając ilość dostępną "0" wyświetla mi tylko 14 pozycji. Uchwyt sfera = SferaMetody.Sfera; Magazyn mag = sfera.PodajObiektTypu<InsERT.Moria.ModelOrganizacyjny.IMagazyny>().Dane.Wszystkie().Where(m => m.Symbol == "MAG").FirstOrDefault(); StanMagazynowy stan = new StanMagazynowy(); ICollection<StanMagazynowy> st = mag.StanyMagazynowe; //tu jest 1048 pozycji IEnumerable<StanMagazynowy> st1 = mag.StanyMagazynowe.Where(x => x.IloscDostepna >= 0); // tu jest 1048 pozycji IEnumerable<StanMagazynowy> st2 = mag.StanyMagazynowe.Where(x => x.IloscDostepna == 0); //tu jest 14 pozycji IEnumerable<StanMagazynowy> st3 = mag.StanyMagazynowe.Where(x => x.IloscDostepna > 0); //tu są 1034 pozycje Subiekt w wersji 40.1.0 Pozdrawiam Przemek
  9. Poszukujemy kogoś kto stworzy nam dla Subiekta NEXO Pro rozwiązanie które będzie automatycznie (zbiorczo dla wskazanych rekordów typu operacja bankowa) tworzyć powiązanie pomiędzy wpłatą bankową, a fakturą proforma. Obecnie realizujemy to w następujący sposób: Automatycznie wciągamy zamówienia jako faktury pro-forma Automatycznie wciągamy operacje bankowe od operatorów płatności (Przelewy24, Allegro, Alior) Automatycznie przypisujemy operacjom bankowym kontrahentów zgodnych z fakturami pro-forma Niestety nie ma funkcji zbiorczego wiązania operacji bankowej i z fakturą pro-forma w związku z tym trzeba otworzyć każdą wpłatę w trybie edycji, następnie przejść na zakładkę "przedpłaty", zaznaczyć przypisaną do kontrahenta i zapisać Przy dużej liczbie wpłat takie mnemotechniczne działanie jest czasochłonne i mało produktywne. Czy ktoś potrafi zautomatyzować ten proces?
  10. Dzięki za podpowiedzi. Wychodzi na to, że się udało. Poniżej kod, gdyby ktoś kiedyś potrzebował. IAsortymenty asortymentProd = _sfera.PodajObiektTypu<IAsortymenty>(); var wszystkie = asortymentProd.Dane.Wszystkie().Select(x => new { x.Nazwa, x.Symbol, NazwaGrupy = x.Grupa.Nazwa, x.Rodzaj, StanDostepny = x.StanyMagazynowe.Where(s => s.Magazyn.Symbol == "MAG").Select(s => s.IloscDostepna), Ean = x.PodstawowaJednostkaMiaryAsortymentu.KodyKreskowe.Select(k => k.Kod).FirstOrDefault(), });
  11. Dzień dobry, w jaki sposób można zoptymalizować poniższy kod odczytujący wybrane dane z całego asortymentu na konkretnym magazynie? Do każdego produktu (asortymentu) potrzebuję odczytywać symbol produktu, nazwę, nazwę grupy oraz stan magazynowy i kod EAN. Obecnie odczytuję te dane tak jak podaję poniżej, ale przy ok. 2 tysiącach produktów trwa to u mnie ponad 20 min i chciałbym ten czas skrócić, szczególnie że produktów będzie więcej. IAsortymenty asortyment = _sfera.PodajObiektTypu<IAsortymenty>(); IQueryable<Asortyment> calyAsortyment = asortyment.Dane.Wszystkie(); foreach (Asortyment asort in calyAsortyment) { string symbol = asort.Symbol; string nazwaGrupy = ""; if (asort.Grupa != null) { nazwaGrupy = asort.Grupa.Nazwa; } ICollection<JednostkaMiaryAsortymentu> jedn = asort.JednostkiMiar; foreach (JednostkaMiaryAsortymentu jm in jedn) { if (jm.KodyKreskowe != null) { KodKreskowy kodKr = jm.KodyKreskowe.FirstOrDefault(); } } Magazyn mag = _sfera.PodajObiektTypu<IMagazyny>().Dane.Wszystkie().Where(m => m.Symbol == "MAG").FirstOrDefault(); StanMagazynowy stan = new StanMagazynowy(); ICollection<StanMagazynowy> stanyMagAs = mag.StanyMagazynowe; stan = stanyMagAs.Where(x => x.Asortyment.Symbol.ToLower().Equals(symbol.ToLower()) && x.Asortyment.Rodzaj.CzyTowar() == true).FirstOrDefault(); if (stan != null) { decimal iloscDostepna = stan.IloscDostepna; } }
×
×
  • Dodaj nową pozycję...