-
Liczba zawartości
224 -
Rejestracja
-
Ostatnia wizyta
Zawartość dodana przez Jarek KοIaѕa
-
Powielanie asortymenu, przez Sferę
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Miałem na myśli raczej usluga.Dane.StanyWMagazynachZakresy.Clear(); ponieważ ustawienie stanów na 0 pozostawia encję stanu dla magazynu. -
Powielanie asortymenu, przez Sferę
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Ad.1. Wyzerować przed zmianą rodzaju. Ad.2. Usunąć pozycje z cenników. -
Szczegółowe dane osoby zamawiającej
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Nie ma takiego powiązania w bazie, więc jedyny sposób to faktycznie poszukiwania takiego przedstawiciela firmy. Przykładowy widok dla zamówień od klienta z dołożoną kolumną email, bo, jak rozumiem, robimy raport własny SQL: SELECT _Dokument.BlokujRealizacje AS Blokada, _Dokument.DataWydaniaWystawienia AS DataOryginalu, _DokumentyRealizujace.OstatniaData AS DataOstatniejRealizacji, _Dokument.DataWprowadzenia AS DataWystawienia, _FlagaWlasna.Kolor AS FLAG__Dokument__FlagaWlasna__Kolor, ISNULL(_FlagaWlasna.Ksztalt, 0) AS FLAG__Dokument__FlagaWlasna__Ksztalt, _FlagaWlasna.Nazwa AS FLAG__Dokument__FlagaWlasna__Nazwa, _FlagHeader.Description AS FLAG__Dokument__FlagHeader__Description, _Dokument.Id AS Id, ISNULL(CASE WHEN _Dokument.MiejsceDostawyTyp = 64 THEN _MiejsceDostawy.LiniaCalosc ELSE _MiejsceDostawyZewnetrzne.LiniaCalosc END, '') AS MiejsceDostawy, _Dokument.NumerWewnetrzny_PelnaSygnatura AS Numer, _Dokument.NumerZewnetrzny AS NumerOryginalu, _Dokument.NumerWewnetrzny_Numer AS NumerSort, CASE WHEN _WymaganaWplata.Termin IS NOT NULL AND _Dokument.BlokujRealizacje = 1 THEN DATEDIFF(day, GETDATE(), _WymaganaWplata.Termin) ELSE NULL END AS PozostaloDniDoWplaty, CAST(CASE WHEN _Przetworzenie.Wartosc >= 100.0 THEN 2 WHEN _Przetworzenie.Wartosc > 0.0 THEN 3 ELSE 1 END AS tinyint) AS PrzetworzoneNaZD, ISNULL(_StanRealizacjiZamowienia.CzyRealizacjaDOZaliczkowej, cast(0 as bit)) AS RealizacjaDoFL, CASE WHEN _WartoscDokumentu.Wartosc = 0 THEN '' ELSE _StanRealizacjiZamowienia.NumeryDokumentowRealizujacych END AS RealizacjePozycji, _StatusDokumentu.Mnemonik AS Status, _StatusDokumentu.Nazwa AS StatusDokumentuToolTip, _StanRealizacjiZamowienia.StanKompletacji AS StatusKompletacji, _Dokument.StatusPlatnosciTerminalowej AS StatusPlatnosciTerminalowych, ISNULL(_StanRealizacji.Stan, cast(0 as decimal)) AS StatusRealizacji, _Dokument.NumerWewnetrzny_SygnaturaPoNr AS SygnaturaNrPo, _Dokument.NumerWewnetrzny_SygnaturaPrzedNr AS SygnaturaNrPrzed, _Dokument.TerminRealizacji AS TerminRealizacji, _Waluta.Symbol AS Waluta, _Waluta.Precyzja AS WalutaPrecyzja, _Dokument.KwotaDoZaplaty AS Wartosc, _PodmiotWybrany.NazwaSkrocona AS Zamawiajacy, _Dokument.Odebral AS ZamowienieOdebral, _Dokument.Wystawil AS ZamowienieWystawil, (SELECT top 1 ModelDanychContainer.PodmiotHistorie.Email FROM ModelDanychContainer.Podmioty INNER JOIN ModelDanychContainer.PodmiotHistorie ON ModelDanychContainer.Podmioty.Id = ModelDanychContainer.PodmiotHistorie.PodmiotDlaKtoregoNajnowsza_Id INNER JOIN ModelDanychContainer.Osoby ON ModelDanychContainer.Podmioty.Id = ModelDanychContainer.Osoby.Podmiot_Id INNER JOIN ModelDanychContainer.Przedstawiciele ON ModelDanychContainer.Osoby.Id = ModelDanychContainer.Przedstawiciele.Osoba_Id INNER JOIN ModelDanychContainer.Podmioty AS PodmiotFirma ON ModelDanychContainer.Podmioty.Id = PodmiotFirma.Id WHERE PodmiotFirma.Id = _Dokument.PodmiotId AND ModelDanychContainer.Podmioty.NazwaSkrocona = CASE WHEN _Dokument.NumerZewnetrzny='' THEN _Dokument.Odebral ELSE _Dokument.Wystawil END) AS Email FROM [ModelDanychContainer].[Dokumenty] _Dokument LEFT JOIN (SELECT _DD.DokumentyRealizowane_Id AS Id, MAX(_D.DataWprowadzenia) AS OstatniaData FROM [ModelDanychContainer].[DokumentDokument] _DD INNER JOIN [ModelDanychContainer].[Dokumenty] _D ON _DD.DokumentyRealizujace_Id = _D.Id AND (_D.__MdmDiscriminator__ = 'DokumentWZ' OR _D.__MdmDiscriminator__ = 'DokumentDS') GROUP BY _DD.DokumentyRealizowane_Id) AS _DokumentyRealizujace ON _DokumentyRealizujace.Id = _Dokument.Id INNER JOIN [ModelDanychContainer].[StanyRealizacjiZamowien] _StanRealizacjiZamowienia ON _StanRealizacjiZamowienia.DokumentZK_Id = _Dokument.Id OUTER APPLY (SELECT _Dokument.Wartosc_BruttoPoRabacie + _Dokument.WartoscNPONettoPoRabacie AS Wartosc) AS _WartoscDokumentu OUTER APPLY (SELECT (CASE WHEN _WartoscDokumentu.Wartosc = 0 THEN 0 ELSE ISNULL(_StanRealizacjiZamowienia.ProcentowyStanRealizacji, cast(0 as decimal)) END) AS Stan) AS _StanRealizacji INNER JOIN [ModelDanychContainer].[StatusyDokumentow] _StatusDokumentu ON _StatusDokumentu.Id = _Dokument.StatusDokumentuId INNER JOIN [ModelDanychContainer].[Waluty] _Waluta ON _Waluta.Id = _Dokument.Dokument_Waluta_Id LEFT JOIN [ModelDanychContainer].[PodmiotHistorie] _PodmiotWybrany ON _PodmiotWybrany.Id = _Dokument.PodmiotWybranyId LEFT JOIN [ModelDanychContainer].[AdresHistorie] _MiejsceDostawy ON _MiejsceDostawy.Id = _Dokument.MiejsceDostawyId LEFT JOIN [ModelDanychContainer].[AdresHistorie] _MiejsceDostawyZewnetrzne ON _MiejsceDostawyZewnetrzne.Id = _Dokument.MiejsceDostawyZewnetrzneId LEFT JOIN [ModelDanychContainer].[WymaganeWplaty] _WymaganaWplata ON _WymaganaWplata.Id = _Dokument.Id LEFT JOIN (SELECT _P.Dokument_Id AS DokId, SUM(CASE WHEN _PR.Istnieje = 1 AND _PR.TypRealizacjiPozycji = 0 AND _PR.TypDokumentuRealizujacego = 2 THEN _PR.Ilosc ELSE 0 END) AS Przetworzenie FROM [ModelDanychContainer].[RealizacjePozycji] _PR INNER JOIN [ModelDanychContainer].[PozycjeDokumentu] _P ON _PR.PozycjaRealizowanaId = _P.Id AND _PR.TypDokumentuRealizowanego = 1 INNER JOIN [ModelDanychContainer].[JednostkiMiarAsortymentow] _JMA ON _P.JednostkaMiaryAsId = _JMA.Id GROUP BY _P.Dokument_Id) _PozycjeZD ON _PozycjeZD.DokId = _Dokument.Id LEFT JOIN (SELECT _Dokument.Id AS DokumentId, SUM(_Pozycje.IloscWJednostceBazowej) AS Ilosc, MAX(_JMA.Precyzja) AS MaxPrecyzja FROM [ModelDanychContainer].[Dokumenty] _Dokument INNER JOIN [ModelDanychContainer].[PozycjeDokumentu] _Pozycje ON _Pozycje.Dokument_Id = _Dokument.Id AND _Dokument.__MdmDiscriminator__ = 'DokumentZK' AND _Dokument.Zamkniety = 0 AND _Dokument.KonfiguracjaId <> '7dfedb6a-8a2e-49c6-b28f-507159208c6a' INNER JOIN [ModelDanychContainer].[JednostkiMiarAsortymentow] _JMA ON _JMA.Id = _Pozycje.JednostkaMiaryAsId GROUP BY _Dokument.Id) AS _Pozycje ON _Pozycje.DokumentId = _Dokument.Id LEFT JOIN [ModelDanychContainer].[FlagiWlasne] _FlagaWlasna ON _Dokument.Dokument_FlagaWlasna_Id = _FlagaWlasna.Id LEFT JOIN [ModelDanychContainer].[FlagHeaders] _FlagHeader ON _Dokument.Dokument_FlagHeader_Id = _FlagHeader.Id OUTER APPLY (SELECT CASE WHEN _Pozycje.Ilosc = 0 THEN 0 ELSE (_PozycjeZD.Przetworzenie / _Pozycje.Ilosc) * 100.0 END AS Wartosc) AS _Przetworzenie WHERE (_Dokument.__MdmDiscriminator__ = 'DokumentZK') AND (_Dokument.Zamkniety = 0) AND (_Dokument.KonfiguracjaId <> '7dfedb6a-8a2e-49c6-b28f-507159208c6a') -
Powielanie asortymenu, przez Sferę
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Ta metoda to właśnie WypelnijNaPodstawie. -
Szczegółowe dane osoby zamawiającej
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Nie ma innego sposobu. -
Raporty SQL
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Tak, ponieważ to jest związane z definicją tego raportu, na którą nie ma Pan wpływu. W raportach własnych, których dotyczy ten wątek, definicję tworzy się samemu i można wprowadzać takie ułatwienia. -
Raporty SQL
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Chodzi Panu o wspomniany wcześniej raport "Wydania magazynowe wg asortymentu", czy o raport własny SQL, bo trochę się gubię? W raporcie własnym SQL oczywiście jest taka możliwość. -
Zaawansowana edycja wzorców wydruków
Jarek KοIaѕa odpowiedział Marek Huczek → na temat → Forum użytkowników - InsERT nexo - Subiekt nexo
Ad.1. Ustawić Properties-Position-Left na -1 dla odpowiednich paneli (_PanelGridHeader i _PanelGridData) Ad.2. Dodać Highlight Condition dla panelu _PanelGridData w Properties-Apperance-Conditions z typem Expression i wyrażeniem np. Line%2==0 i wybrać kolor tła (wiaderko). -
Nietypowy błąd przy aktualizacji asortymentu
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Kierowałbym się sugestiami zawartymi w komunikacie. Błąd jest faktycznie nietypowy, bo występuje tylko czasami i do tego sugeruje duplikat nazwy sieciowej. Może w innych przypadkach jest tez inny powód? Np. przekroczenie czasu oczekiwania. -
Raporty SQL
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Nie wiem, czy dobrze rozumiem Pańskie pytanie. Jeśli chodzi o zapisanie ostatnich ustawień, które wykonane zostały po uruchomieniu raportu własnego SQL i dotyczą wartości parametrów (opcji) oraz ustawień widoku (kolumny itp) to tak. Po wykonaniu zmian w uruchomionym raporcie trzeba zamknąć zakładkę z raportem. Wtedy następuje zapis. Następne uruchomienie raportu uwzględnia te zmiany. Nie ma możliwości zapisywania wielu takich zestawów. Obecnie, żeby uzyskać taki efekt, należałoby utworzyć osobne raporty dla każdego zestawu parametrów (np. grup) jeśli są one powtarzalne i jako parametr pozostawić tylko datę lub skopiować ten raport tyle razy ile jest zestawów parametrów i dla każdego ustawić filtry i parametry widoku wg uznania. -
Raporty SQL
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
W wersji 15 został rozwiązany problem parametru typu LI dla obiektów, których identyfikator nie jest typu int. -
Cennik dodatkowy, poprzez Sferę
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Działanie funkcji UstawHarmonogram... zostało poprawione w wersji 15. -
Aktualizacja Subiekt Nexi Pro do 14
Jarek KοIaѕa odpowiedział Rom Purzycki → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Sprawdziliśmy przesłaną bazę i jest to specyficzny dla niej problem, związany z wcześniejszym uszkodzeniem przy zakładaniu pól własnych zaawansowanych. Zostanie Pan poinformowany o możliwościach rozwiązania problemu. W każdym razie da się tę bazę dość łatwo naprawić i zaktualizować.. Generalnie nie ma problemów z aktualizacją do wersji 14. Te zarejestrowane pojedyncze przypadki są specyficzne i są obsługiwane przez pomoc techniczną. -
Kurs walut, pobrany przez Sferę
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Jest ok. -
Cennik dodatkowy, poprzez Sferę
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Nie można. -
Sfera, drukowanie oryginału lub kopii
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
W tej chwili nie ma oficjalnego sposobu wydrukowania samej kopii. Będzie to poprawione w najbliższym czasie. Jeśli już w tej chwili musi Pan to wykonać, to proszę o kontakt. -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Przede wszystkim o jakiej rezerwacji na ZK mówimy. Jeśli nie mamy tego towaru i będziemy dopiero zamawiać to chyba o rezerwacji stanu, a nie dostaw. Zacznijmy od UI. W UI nie trzeba wszystkiego zerować. Wystarczy wyzerować rozbicie na pozycji, gdzie jest 1000kg (zwolnić tę partię) i w rozbiciu pozycji z 2000kg poprawić tak, aby cała ilość była brana z partii AAA. Następnie wrócić do pozycji z 100kg i w rozbiciu ustawić 100 kg z partii BBB. Tak może zrobić człowiek. Maszyna (czyt. rozwiązanie sferyczne) najłatwiej to zrealizuje przez wyzerowanie ilości na pozycjach i ponowne ich ustawienie od razu przez rozbicie. W sumie podobnie jak w UI, tylko przemiata wszystko. Zgadzam się, że statusem tu nie należy mieszać. -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Tak. Zmieniamy tylko to co trzeba - ilość w rozbiciu, bez zmiany statusu i zerowania ilości na pozycji. Proszę spróbować przejść tę drogę w programie i mam nadzieję, że już będzie jasne. -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Wydaje mi się, że nie do końca się zrozumieliśmy. W tej chwili mam taki obraz sytuacji, tzn. tak rozumiem scenariusz: 1. Wystawiamy ZK z pełną rezerwacją (na konkretne partie). 2. Realizujemy ZK za pomocą WZ, ale nie w całości tylko częściowo, wykorzystując rezerwacje zrobione przez ZK. W UI zrobiłbym to tak, że dodałbym nowe WZ dla kontrahenta. Potem dodawałbym pozycje z listy pozycji zamówień do realizacji, wchodziłbym w rozbicie takiej pozycji i zmniejszałbym ilość na wybranej partii (do ustalonego poziomu realizacji) a zerował (albo też odpowiednio zmniejszał) na pozostałych. Po zakończeniu rozbicia na pozycji, ilość jest aktualizowana do sumy ilości podanych w rozbiciu. Po zapisaniu takiej WZ wydaje ona z partii wcześniej zarezerwowanych przez ZK tyle ile wpisałem, a na ZK zostaje zarezerwowana niewydana reszta. Jeśli o to chodzi to sferycznie zrobiłbym dokładnie tak samo, bez sztucznego zerowania wszystkiego, bo to właśnie doprowadza do "odczepienia" WZ od rezerwacji z ZK. Czyli na nowododanej WZ ze statusem wydania towarów dodaję nową pozycję na podstawie (WypelnijNaPodstawie) odnalezionej pozycji z ZK i to powoduje wstawienia pozycji na WZ, która w pełni wydaje towary. Teraz rozpoczynam rozbicie. Wyszukuję partię, która mnie interesuje i ustawiam dla niej żądaną ilość. Zeruję ilości na pozostałych pozycjach rozbicia. W ten sposób działam tak jak w UI i to się musi udać. Po zakończeniu rozbicia ilość na pozycji jest aktualizowana, a po zapisie WZ żądane partie są wydawane, a na ZK zostaje zarezerwowana niezrealizowana reszta. Po zmodyfikowaniu wcześniej wpisanego kodu: // wypełnienie pozycji foreach (var posadd in results.pos) { // dane pozycji do wprowadzenia int posdocid; int posid; decimal posq; int posbatch; posdocid = posadd.docid; posid = posadd.id; posq = posadd.quantity; posbatch = posadd.batch; var poz = wz.WypelnijNaPodstawieZK(zamowienie.Pozycje.Where(p => p.Id == posid), zamowienie, parametryGrupowania).Single(); // dodanie pozycji z ZK Console.WriteLine("Dodanie pozycji: " + posid); 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; Console.WriteLine("Partia wprowadzona: " + posbatch); r.ZakonczRozbicie(); wz.Przelicz(); } -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
No to musielibyśmy wrócić do tamtego problemu i odtworzyć o co chodziło. W tej chwili rozumiem, że ma zostać wystawiona WZ do ZK i przejąć jej rezerwacje. Przynajmniej u mnie w UI (dane prezentacyjne) tak to działa, że dodaję nową partię prze PW, rezerwuję ją na ZK i przy zrealizuj jako WZ (WZ domyślnie wywołuje skutek magazynowy) rozbicie pozycji na WZ jest prawidłowe - tzn. rozchodowuje dokładnie wskazaną partię. -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Na ZK powstają rezerwacje. Jeśli wykona się WypelnijNaPodstawieZK to powinny one zostać przejęte przez tworzoną WZ. Oczywiście przekazanie rezerwacji na rozchody powinno nastąpić przy zapisie. Odkładanie skutku magazynowego, tak jak w cytowanym kodzie, może jedynie zaburzyć ten proces. Generalnie sferycznie powinno się odtworzyć proces taki jaki jest w UI - operator nie odkłada skutku magazynowego na WZ na czas dodawania pozycji. -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
No to ok. Inaczej nie można robić rozbicia. Co mamy uzyskać? Jaki jest scenariusz? -
Użycie partii, zarezerwowanych w WZ
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Rozbicie pozycji należy wykonywać z użyciem interfejsu IDokumentZRozbiciem. -
Wzorce wydruków - encjaPozycji Magazyn
Jarek KοIaѕa odpowiedział Adam G → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Jeśli magazyn na pozycji nie jest określony, brany jest magazyn z nagłówka dokumentu. To jest prawdopodobnie sferycznie dodany dokument, w którym nie zostały określone magazyny na pozycjach bo nie było takiej potrzeby. Można w procedurze to dodać i będzie zawsze tak samo, albo dodać ifa we wzorcu. -
Partie w PW z odłożonym skutkiem
Jarek KοIaѕa odpowiedział Radomił Ząbik → na temat → Forum użytkowników - InsERT nexo - Sprawy techniczne
Przy "odkładaniu dokumentu" przyjęcie i partie dla pozycji nie są usuwane. Usuwane są tylko przychody, które mają wpływ na stan magazynowy.