Skocz do zawartości

Ręczna numeracja dokumentów

Polecane posty

Jesteśmy w trakcie wdrażania pakietu Insert nexo. Podczas okresu wstępnego, planujemy jednoczesne używanie obecnego programu wraz z powielaniem dokumentów w pakiecie nexo, celem budowania bazy klientów i historii dokumentów do rozliczeń. Najwygodniej w tym czasie było by nam wprowadzić takie dokumenty jak ZK, FK, PZ i FZ, z numerami takimi jak w starym systemie, wprowadzonymi ręcznie. Co prawda zgłosiliśmy już ten temat do naszej firmy wdrożeniowej, ale z góry powiedzieli, że takiej funkcjonalności nie ma. Ewentualnie może wy jesteście zaproponować coś na początek (a może jednak da się ręcznie zmieniać numery), bo z wiedzy programistycznej, przy obsłudze Sfery i bazy danych, wygląda jakby numer dokumentu był po prostu polem informacyjnym, bo całość opiera się o identyfikator.

Link to postu

Z tego, co się dowiedziałem pole numeru dokumentu jest polem zabezpieczonym, więc obawiam się, że przez Sferę nie byłoby możliwości jego modyfikacji. Dzieje się tak ze względu na to, aby można było utrzymać poprawną numerację dokumentów w programie.

 

Jak dokładnie miałby wyglądać format wspomnianych dokumentów? W nexo możemy ustawić rejestry numeracyjne, które będą spełniały wiele warunków, więc niewykluczone, że dałoby się taki format (przynajmniej tymczasowo) ustawić.

Link to postu

Obecne formatowanie numerów to np.: ZK 608845/16, gdzie numer składa się [ostatnia liczba w roku][5-cio cyfrowy licznik]/[ostatnie dwie liczby roku]. W ostateczności, numer nie musiałby być dokładnie taki sam, tylko być zbliżony. Ewentualnie, jeśli jest taka możliwość, niektóre elementy numeru mogły by być po prostu tekstem.

 

To znaczy problem nawet przy zrobieniu identycznej numeracji by występował, bo chodzi o to, że trzeba by było wprowadzić identyczny numer w Subiekcie, co było by w praktyce bardzo utrudnione, bo kolejność czynności musiała by być trzymana w obu systemach, stad pytanie o wprowadzanie manualne.

Link to postu

Udało mi się wygenerować podobny numer w Subiekcie nexo:

 

001.jpg

 

Oczywiście w tym momencie mój rejestr składa się tak naprawdę ze stałej ZK, stałej 6 oraz numeracji w której ustawiłem minimalną ilość znaków łamaną przez rok, tak jak to widać poniżej.

 

002.jpg

 

Oczywiście kolumnę Minimalną długość trzeba dodać ręcznie prawym przyciskiem myszki na Operacje na liście - Konfiguracja listy. Nie ma na dzień bieżący możliwości skrócenia roku daty wystawienia dokumentu do dwóch ostatnich cyfr lub też do samej ostatniej cyfry, więc zamiast mojego atrybutu obiektu możemy dodać stałe, pamiętając jednak, że w takim przypadku Rejestr numeracyjny należałoby wymieniać/modyfikować co roku.

Link to postu

Tak, rzeczywiście to jest jakieś rozwiązanie. Z naszym wdrożeniowcem, doszliśmy do podobnych wniosków, jedynie co, problem tej daty, ale trzeba będzie ustawić ją jako stałą do końca roku, a od przyszłego roku, a że z nowym rokiem pracujemy tylko na Nexo, to ustawimy całą numerację na nowo. Dodatkowo, przy ustawienie pola AUTO dla numeru, możemy go potem modyfikować w dokumencie, dzięki czemu, troszkę na około, uzyskamy możliwość ręcznego wpisywania numeru :)

 

Mamy jeszcze gdzieś w tyle wątpliwości, czy grzebanie w numeracji dokumentów, na przełomie roku, nie popsuje Nexo :P Póki co, planujemy grzebać przy numerak ZK, WZ, FK oraz ZD, więc chyba się uda :ph34r:

 

Rok w postaci liczby dwucyfrowej, na pewno się komuś przyda, więc warto abyście dodali taką możliwość w przyszłości, a wygenerowanie tego programistycznie, nie powinno być trudne ;)

Link to postu
  • 1 rok później...

source.gif.7513a1ac2276a6742220190efe2004a6.gif

 

Dnia 14.09.2016 o 14:52, Radomił Ząbik napisał:

Rok w postaci liczby dwucyfrowej, na pewno się komuś przyda, więc warto abyście dodali taką możliwość w przyszłości, a wygenerowanie tego programistycznie, nie powinno być trudne ;)

 

Pytanie czy rok w postaci dwucyfrowej pojawi się jakoś w okolicach przełomu roku?

 

Czy nie warto czekać.

Edytowane przez Adam G
Link to postu

Generalnie przy takich zmianach w definicji rejestru zaleca się stworzenie nowego rejestru i praca na nim od zera. Teoretycznie w Pana przypadku po dodaniu atrybutu roku nie powinno się nic dziać, o ile nie będzie Pan wystawiał dokumentów wstecz z datą 2016. Aczkolwiek tak jak napisałem na początku najlepiej zrobić to przez dodanie nowego "pustego" rejestru.

Link to postu
  • 1 rok później...

Pozwolę sobie odkopać stary wątek.

 

Po zmianie z rejestrów numeracyjnych na numeracje mam problem z utworzeniem numeracji dla Zleceń serwisowych, niestety metoda z własnością DataWprowadzenia nie działa.

 

Pytanie jak dla zleceń serwisowych  stworzyć rejestr w formie RRMMXXXX?

 

Jak co poniżej błąd z próby wykorzystania własności DataWprowadzenia.

InsERT.Moria.Numeracja.NumeracjaException: Numeracja dla tego obiektu została błędnie zdefiniowana. Poniższe własności są niepoprawne dla danego typu obiektu:
Data Wystawienia
   w InsERT.Moria.Numeracja.Numeracja.ZnajdzZrodloNumerowRezerwujace(Sygnatura sygnatura, Object encja, String nazwaPolaSygnatury)
   w InsERT.Moria.Numeracja.ObslugaNumeracji.get_ZrodloNumerowRezerwujace()
   w InsERT.Moria.Procesy.ZlecenieSerwisoweBO.CzyZdefiniowaneWymaganeAtrybuty()
   w InsERT.Moria.BusinessResources.Controls.NumerationControl.MoznaUzywacObslugiNumeracji()
   w InsERT.Moria.BusinessResources.Controls.NumerationControl.get_Prefix()
   w InsERT.Moria.BusinessResources.Controls.NumerationControl.SelectMainPart()
   w InsERT.Moria.BusinessResources.Controls.NumerationControl.OnGotKeyboardFocus(KeyboardFocusChangedEventArgs e)
   w System.Windows.UIElement.OnGotKeyboardFocusThunk(Object sender, KeyboardFocusChangedEventArgs e)
   w System.Windows.Input.KeyboardFocusChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   w System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   w System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   w System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   w System.Windows.Input.InputManager.ProcessStagingArea()
   w System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   w System.Windows.Input.KeyboardDevice.ChangeFocus(DependencyObject focus, Int32 timestamp)
   w System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
   w System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
   w System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
   w System.Windows.UIElement.Focus()
   w InsERT.Mox.WpfControls.PluginContainer.OnGotFocus(RoutedEventArgs e)
   w System.Windows.UIElement.IsFocused_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e)
   w System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   w System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   w System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   w System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   w System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   w System.Windows.DependencyObject.SetValue(DependencyPropertyKey key, Object value)
   w System.Windows.Input.FocusManager.OnFocusedElementChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   w System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   w System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   w System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   w System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   w System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   w System.Windows.Input.FocusManager.SetFocusedElement(DependencyObject element, IInputElement value)
   w System.Windows.Input.KeyboardNavigation.UpdateFocusedElement(DependencyObject focusTarget)
   w System.Windows.FrameworkElement.OnGotKeyboardFocus(Object sender, KeyboardFocusChangedEventArgs e)
   w System.Windows.Input.KeyboardFocusChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   w System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   w System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   w System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   w System.Windows.Input.InputManager.ProcessStagingArea()
   w System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   w System.Windows.Input.KeyboardDevice.ChangeFocus(DependencyObject focus, Int32 timestamp)
   w System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
   w System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
   w System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
   w System.Windows.UIElement.Focus()
   w InsERT.Mox.WpfControls.PluginContainer.ShowContextMenu(IContextMenuPlugin plugin, Boolean atMousePosition)
   w InsERT.Mox.WpfControls.PluginContainer.ExecutePlugin(IPlugin plugin)
   w InsERT.Mox.WpfControls.PluginContainer.OnExecutePluginCommandDirect(Object parameter)
   w InsERT.Mox.MvvmSupport.DelegatingCommand`1.Execute(Object parameter)
   w MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
   w System.Windows.Controls.Primitives.ButtonBase.OnClick()
   w System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   w System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   w System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   w System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   w System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   w System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   w System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   w System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   w System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   w System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   w System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   w System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   w System.Windows.Input.InputManager.ProcessStagingArea()
   w System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   w System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   w System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   w System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   w System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   w MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   w MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   w System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   w System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

 

Link to postu

Mała poprawka z mojej strony - do wersji 23 zostanie poprawiona lista wyboru własności dla obiektów typu "Zlecenie serwisowe" w oknie dodawania nowej metawłasności.

Dodatkowo proszę nie dodawać własności "DataWprowadzenia", ponieważ takiej "nie ma" dla zlecenia serwisowego - działa ona tylko dla dokumentów. Rok utworzenia zlecenia jest pobierany z własności Naglowek.Utworzono.DateTime.Date.Year, więc tutaj można zrobić tak samo jak dla dokumentów, z tym że jako własność obiektu wpisać Naglowek.Utworzono.DateTime.Date

image.thumb.png.5952eef312692c836567b9a2e051eae4.png

  • Dziękuję 1
Link to postu

Dziękuję działa.

Jeszcze jedno pytanie odnośnie numerów początkowych dla zleceń serwisowych, ponieważ mamy wystawionych już parę zleceń serwisowych których numer będziemy musieli poprawić z poziomu SQL muszę ustawić numeracje początkową.

 

Ustawiłem numerację w taki sposób:

image.png.6910ac0a1b7e26ba1d78b9f1043b4b0c.png

 

Sprawdzając poprawność generowania numerów widzę, że w listopadzie nie ma problemu, chciałem sprawdzić od razu dla kolejnych okresów, ale prawdopodobnie z powodu użycia Naglowek.Utworzono.DateTime.Date jak zmieniam datę aplikacyjną i/lub datę blokady to system uparcie nadaje numerację dla dnia dzisiejszego.

 

Pytanie czy numeracja w następnych miesiącach będzie zaczynać się od jedynki?

 

 

Link to postu

Podejrzewam, że w Numeracji korzysta Pan z Zaawansowanego widoku, także jeśli w Atrybutach numeracji będzie Miesiąc daty wystawienia dokumentu to w następnych miesiącach numeracja będzie zaczynać się od jedynki. Polecam jeszcze Miesiąc daty wystawienia dokumentu dodać w Postaci numeru, żeby numery się nie powielały.

Link to postu
  • 2 lata później...
W dniu 27.11.2020 o 13:56, Łukasz W. napisał:

Jakie będą to atrybuty dla KP/KW?

Dla KP/KW tak to wygląda:

1. Rok daty wykonania operacji: "Operacja.Data.Year"

2. Miesiąc daty wykonania operacji: "Operacja.Data.Month"

3. Symbol kasy: "Operacja.Stanowisko.Kasa.Symbol"

4. Dzień wykonania operacji: "Operacja.Data.Day"

5. Nazwa kasy: "Operacja.Stanowisko.Kasa.Nazwa"
 

  • Dziękuję 1
Link to postu
  • 1 rok później...

Odkopię temat bo mam problem z konfiguracją w nim poleconą.

 

W jednej ze spółek w której w ostatnim czasie przy próbie zapisu korekty zakupy wyskakuje błąd związany z konfiguracją numeracji, żeby było ciekawiej to nie jest pierwsza korekta wystawiona w tym miesiącu

image.png.d0042801f8b40952da32956ff415abb4.png

numeracja dla KFZ jest ustawiona w następujący sposób

image.png.c03158d8722aa85949329984de6d2e7d.png

 

Numeracja w tej spółce jest używana od lutego 2018r, aktualna wersja używanego programu to 41.0.1(5571) aktualizacja do tej wersji miała miejsce w czerwcu.

 

Co zostało zrobione/sprawdzone:

  1. Skopiowanie istniejącej numeracji - brak efektu
  2. Utworzenie nowej numeracji - brak efektu
  3. Utworzenie nowej numeracji ze zmianą daty wystawienia na DataWprowadzenia - brak efektu
  4. Utworzenie nowej numeracji ze zmianą daty wystawienia na DataWprowadzenia.Year - brak efektu
  5. Utworzenie nowej numeracji ze zmianą daty wystawienia na DataWprowadzenia i zmianą ciągu formatującego na {0} - brak efektu

 

PS: tworząc korektę do nieistniejącego dokumentu FZ program zapisuje korektę bez problemu.

 

 

 

Edytowane przez Adam G
Link to postu

Niestety nie powtarzamy opisywanej przez Pana sytuacji i bez wglądu w dane nie będziemy w stanie pomóc. Jeśli jest Pan zainteresowany przekazaniem danych i wykonaniem analizy, proszę o wypełnienie formularza znajdującego się na tej stronie. Wymagane będzie podpisanie umowy powierzenia danych. W opisie można umieścić link do tego wątku.

Link to postu

Panie Wojciechu wysłałem zgłoszenie dostałem numer referencyjny.

 

Trochę zaskoczyła mnie odpowiedz którą dostałem przy wysyłaniu zgłoszenia.

Cytat

Informuję iż analiza bazy danych jest usługą podlegającą pod teleKonsultant do Subiekta nexo PRO.

Mogą Państwo w obecnej sytuacji wykupić usługę teleKonsultant

 

Moim zdaniem jest to jakiś problem z działaniem samego programu, tym bardziej skoro problem nie występował przez ponad 4 lata.

Wiec jak będziemy podchodzić do tematu?

Link to postu
×
×
  • Dodaj nową pozycję...