5. Procedura generowania dokumentów
opis pól
kluczowe pola
[documentlineid]
[ItemPrice]
- cena na dokumencie np w Walucie[sysItemPrice]
- cena systemowa (PLN)[itemValue]
- wartość pozycji[sysItemValue]
- wartosc systemowa (PLN) - która jest wazniejsza od ceny, wartosci / ilosc = cena[itemQuantity]
- ilość[sign]
- znak dla ilosci[signvalue]
- znak da ceny[itemSerialNumber]
- nr seryjny[iscorrectiveline]
czy pozycja jest korekta =1[initialIncomeSourceLineID]
- zrodlowa DOSTAWA - zachowuje nawet w przypadku mm[sourceDocumentLineID]
- z ktorego dokuemntu pochodzi dokuemnt np jesli np jest wskaana dostawamm+
będzie pusty,MM-
bedize mialo pz- uzwyane tez do wyboru partii jesli jest podany sourcedocumentlineid czyli czy nie powinno byc zapisane
- ZW
[itemquantityleft]
- ile pozostało[itemValueLeft]
- ile pozostało[sysItemValueLeft]
- ile pozostało
commisionLineId
- nr pozycji zleceniaorderLineId
- nr pozycji zmowienialocationid
- nr lokacjiinvoicelineid
- nr fakturystructureLineID
- strukturaitemid
-itemid
[itemIDB]
WYCOFANE w nowych procedurach dotyczy to indeksu odpadowego
document.outcomeshiftid
- dla MM+ documentid dokumentu MM-outcomeshiftlineid
- dla MM+ z ktorej pozycji MM-initialSourceDocumentLineId
- pusty patrz TEST- document.documentline.sumitemquantity
document.invoiceline
document.invoiceline.itemquantityleft
- obrazuje stopien realizacji faktury
Założenia v2
Koncepcje
- Walidajce tylko przy zatwierdzeniu?
- mozliwosc edycji jak najwiekszej ilsoci rzeczy zawsze
- nie obslugujemy korekt na razie
- mozliwosc puszczenia silinka ponownie na indeksie
- oznaczenie dostawy jako zamknietej czyli rozliczonej (sprawdzamy zgodnosc dostawamy)
- jak korekta powinna dzialac
- dodatkowy dokument z roznica
- jelsi po drodze byla wartosc albo cokolwiek to powinno byc x pozycji
Przyjęcia nagłowek (PZ/PZI)
Procedury
[erp].[document_InsertUpdate]
- procedura przyjmuje w parametrze @inputxml @username. Procedura wywołuje:erp.isCommitedDocumentHeaderEditable
- sprawdzenie czy można edytować nagłówek zatwierdzonegodocument.document_updateDocumentDate
- zmiana daty dokumentu.document.document_validateDocumentDate
- walidacja daty i numeru
comon.relation_InsertUpdate
document.orderLine_document
exec [document].[document_updateSysValues] @documentID = @documentID
przeliczenie wartosci systemowej
Przyjęcie - Dodanie pozycji algorytm
erp.documentLine_InsertUpdate
1.1document.documentline_updateStockBalance
1.2document.document_updateSysValues
1.3wms.stockBalanceFix @username = @username, @itemID = @itemID
1.4wms.item_updateItemOrderQuantity
Przyjęcie - Zatwierdzanie algorytm
1.erp.document_updateDocumentStatus
1.1document.document_validateDocumentDate
1.2adocument.documentlineInCorrective_Commit
- dla korekt
1.2berp.documentlineIN_Commit @username, @currentDocumentLineId, @skipInventoryValidation
- dla zwyklych dokuemntow
erp.documentlineIN_Commit
1.2b.1 Walidacja czy na ZW jest faktycznie podane powiązaną pozycję
1.2b.2 Walidacja na ZW- sprawdzenie czy rozchód jest powiązany ze zleceniem które pozwala na rozchody
1.2b.3 Walidacja czy nr seryjny jest rzeczywiście podany dla seryjnych
1.2b.4 Walidacja czy lokacja podana gdy magazyn tego wymaga musi być przy zatw. bo gdy wystawiana jest pozycja z zamowienia to nie mozna tego sprawdzić
1.2b.5 Walidacja czy prowadzona jest inwentaryzacja na lokacji lub magazynie
1.2b.6 Jeśli jest to dokument zagraniczny to z powodu kursu moze sie nie zgadzac
1.2b.7 Sprawdzenie czy ilość na fakturze się zgadza z tym co jest na dokumencie
1.2b.8 Aktualizacja ostatniej ceny zakupu i maksymalnej o ile to dotyczy typu dokumentu - [document].[documentLine_updateLastPrice]
- ostatnia cena zakupu
1.2b.9 [wms].[stockBalanceFix_date] @documentLineID = @documentLineID
-stock aktualizacja
1.2b.10 Zw zaznaczenie na Rw w itemQuantityLeft, correctedItemQuantity, ile towaru zostało zwrócone (ogólnie mechanizm korygowania
1.2b.11 Aktualizacja ilosci zrealizowanej na powiazanym zleceniu jesli przyjecie dotyczy indeksu z pozycji zlecenia
1.2b.12 [document].[documentline_updateOrderRealizedQuantity]
- stan zdralizowanego zamówienia
1.2b.13 Logika przypisania initialIncomeSourceLineID dla MM/WM/ZW to przepisujemy id partii
1.2b.14 Automatyczne przypisanie zamienników jeśli jest to dokument WNS
1.2b.15 Skłądnik do urzadzenia jesli jest
Inne
product.product_insertFromSource
common.deleteRecord
printout.document_print
- common.dictionary_byKey
- document.isCommitedDocumentHeaderEditable
- wms.itemUnitConvert_List
Wydanie (np RW/RWP)
Podsumowanie
- P01
[erp].[document_InsertUpdate]
- dodanie nagłówka - P02
[erp].[documentlineOUT_InsertUpdate]
- dodanie pozycje -
P03
[erp].[documentlineOUT_Commit] @username, @currentDocumentLineId, @skipInventoryValidation
- zatwierdzenie- document.document_updateDocumentDate - zmiana daty dokumentu,
- document.document_validateDocumentDate - walidacja daty i numeru
-
comon.relation_InsertUpdate
Procedura wywołuje:
- dbo.pRoleCheck - sprawdzanie uprawnień
Dodanie pozycji do RW
erp.documentlineOUT_InsertUpdate
Wywołuje:document.documentline_updateStockBalance
document.deleteRecord
Zatwierdzanie dokumentu RW
-
document.document_udpateDocumentStatus
Wywołuje:
- document.document_validateDocumentDate
- document.documentlineInCorrective_Commit
- document.documentlineOUT_Commit
- product.product_insertFromSource
- common.deleteRecord
- printout.document_print
- common.dictionary_byKey
- document.isCommitedDocumentHeaderEditable
Zatwierdzenie korekty PZ - KO_PZ
SQL | |
---|---|
Korekty
TESTY
zapytanie
TEST przyklad PZ/WZ
itemid:79c81f9f-436e-4ed1-87a0-ae5274b0b6d9 itemcode:64275 magazyn 100
PZ 10 szt. WZ 5 szt. MM- 5szt MM+ 5szt
documentfullnr documentid outcomeshiftid documentlineid sourcedocumentlineid sign signvalue outcomeShiftLineId initialincomesourcelineid itemquantity itemquantityleft itemValue itemValueLeft
PZ/11/100/0222 B16356CF-A5C0-4CDC-B1DB-250854FA238E NULL 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA NULL 1 1 NULL 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA 10.000 0.000 100.00 0.00 WZ/21/100/0222 5C09F786-75AF-4118-9927-5384F80A9169 NULL D9FEE1DF-7F96-EC11-930B-002590D9752E 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA -1 -1 NULL 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA 5.000 5.000 50.00 50.00 MMD-/1/100/0222 E809536A-9D7E-471C-94D7-0B558984C60D NULL A6382087-8096-EC11-930B-002590D9752E 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA -1 -1 NULL 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA 5.000 5.000 50.00 50.00 MMD+/1/12/0222 36CCCA82-8096-EC11-82EC-0690A1809DE2 E809536A-9D7E-471C-94D7-0B558984C60D A7382087-8096-EC11-930B-002590D9752E NULL 1 1 A6382087-8096-EC11-930B-002590D9752E 0EB9B89C-4154-4BC1-8CF7-ED182EEB8AFA 5.000 5.000 50.00 50.00
TEST przyklad PZ/WZ /KO (robimy storno wz czyli wracamy ilość i wartość)
PZ 5 szt. WZ 5 szt. KO_WZ 5szt
documentfullnr documentid outcomeshiftid documentlineid sourcedocumentlineid sign signvalue outcomeShiftLineId initialincomesourcelineid itemquantity itemquantityleft
PZ/2/100/0322 B7A01CFC-F19C-EC11-82EC-0690A1809DE2 NULL D92DEF0A-F29C-EC11-82EC-0690A1809DE2 NULL 1 1 NULL D92DEF0A-F29C-EC11-82EC-0690A1809DE2 5.000 0.000 WZ/3/100/0322 4CAD2011-F29C-EC11-82EC-0690A1809DE2 NULL 4936601D-F29C-EC11-930B-002590D9752E D92DEF0A-F29C-EC11-82EC-0690A1809DE2 -1 -1 NULL D92DEF0A-F29C-EC11-82EC-0690A1809DE2 5.000 0.000 KO_WZ/1/100/0322 E7891C1B-F29C-EC11-82EC-0690A1809DE2 NULL F3960228-F29C-EC11-930B-002590D9752E 4936601D-F29C-EC11-930B-002590D9752E 1 -1 NULL D92DEF0A-F29C-EC11-82EC-0690A1809DE2 5.000 5.000