Formaty katalogów zewnętrznych, pobieranie i przeglądanie w programie Trawers
PDF
Pobrać plik jako załącznik do kart KIM
Excel XLS
Pobrać i zapisać pozycje katalogów do ZA Kartoteka cen (ofert) dostawców
CSV i TXT
a) pobrać do katoteki cen ZA wg definicji plików CSV (mapowanie)
b) przeglądać i wyszukiwać bezpośrednio w plikach CSV [ZA_KOF40]
Strony www
Zapisać adres www jako załącznik do kart KIM
EDI. Komunikat PRICAT
Obecnie PRICAT informuje wskazanych odbiorców o cenach naszych produktów.
Raporty specjalistyczne
TODO Pobierac cenniki dostawców z komunikatów PRICAT i zapisywac
w: 169 Kartot cen dostawców ZA
Done w Tr 05/2022 #00051367
PunchOut Catalog, PunchOut Website (e-vendor catalog, e-procurement)
Program klienta (tu: Trawers) ma bezpośredni, programowy dostęp
do e-katalogu dostawcy
Np. Coupa Express, ProcureDesk, Amazon PunchOut, ...
Wg
https://www.essent.com/What-is-a-PunchOut-Catalog.html
In short a PunchOut website is a standard ecommerce website
with the special ability to communicate directly with a procurement
system through cXML and return a pending purchase order back
to the buyer so they don't need to enter product information
in the procurement system.
ew. TODO
02/2021 PunchOut --> patrz Oracle iProcurement
Oracle iProcurement User Guide Opisano PunchOut
https://docs.oracle.com/cd/E26401_01/doc.122/e48970/toc.htm
Patrz video jak uzywaja Punchout catalog:
https://paramountworkplace.com/requisition-procurement-demos/
------
12/2021 Patrz rozwiązanie współpracujące z Acumatica
Koncepcja podobna jak: DostawcaKIM
Tj. oddzielne katalogi, wpisywane do Item dopiero gdy są zam sprzedaży
https://cfbs-us.com/ (Claud Solution)
CatalogPro - Catalog Enhancements for Acumatica
Prowadza oddzielne katalogi asortymentu oferowanego przez dostawców.
There is no need to setup catalog items as stock items.
Our catalog does not require all the items to be set up as stock
for those one-time purchase items that don't need to clutter up your
inventory files.
However, you can report on such orders in case it turns out you
are selling an item that needs to be a stock item.
In addition, there is no need to delete old catalogs by setting up
effective dates on items such as old to new pricing.
You can also notify sales team of any promotional pricing
set to expire on unprocessed orders.
-------
Patrz tez, Acumatica: Vendor Prices (szukaj w --dev)
to inne rozwiązanie niż: Vendor Catalog
Potrzeby rozbudowy. Projekt DostawcaKIM
* Umożliwić handlowcom i zaopatrzeniowcom dostęp nie tylko do informacji
o asortymencie który już jest w kartotekach KIM, KSOM i zbiorze
cen (ofert) dostawców lecz także dostęp do informacji o asortymencie,
którym mogą być potencjalnie zainteresowani.
O asortymencie, o którym informacje znajdują się w różnych katalogach
zewnętrznych, na stronach internetowych, w plikach w ftp, w plikach
rozsyłanych e-mailami, itp.
* Należy zbudować panel:
- Do pobierania informacji ze źródeł zewnętrznych
- Do przeglądania i przeszukiwanie tych informacji
- Do przenoszenia danych ze źródeł zewnętrznych do kartotek wewnętrznych:
do KIM i zbioru ofert (cen) dostawców
Model danych
o ...
| o...
| |
| | o------------- Pliki PDF
| | |
| | | o--------- Pliki CSV, XLS
| | | |
| | | | o------ Strony www, komunikaty EDI
| | | | |
| | | | | (1)
v v v v v
o---------------------------o
| DostawcyKIM |
| Kartoteka indeksów | (2)
| zewnętrznych |
o------------o--------------o
|
v
|
| (3)
v
o------------o |
| Indeksy |<---<--o
| KIM | |
o--------o---o |
^ v
| |
| |
| |
v v
o------------------o
| Oferty (ceny) |
| dostawców |
o------------------o
(1) Pobieranie informacji ze źródeł zewnętrznych do DostawcyKIM
(2) Przeglądanie i przeszukiwanie DostawcyKIM
(3) Przenoszenie danych z DostawcyKIM do KIM i Oferty (ceny)
TODO
- jak ustalić czy asortyment zewnętrzny już jest w DostawcyKIM lub/i KIM ?
FS: Kartoteka indeksów zewnętrznych powinna być indeksowana na:
symbol dostawcy + indeksu u dostawcy (obcy)
Indeks u dostawcy (obcy) powinien być taki sam jak w
ofertach dostawców.
W szczególności oznacza to, że brak będzie bezpośredniego
połączenia KIM <-> Kart ind zewnętrznych,
będzie połączenie pośrednie:
KIM <-> Oferty dostawców <-> Kart ind zew
PZ: Proponuję dwie tabele. DostawcyKIM - nagłówki, DostawcyKIM - pozycje
Tabela DostawcyKIM - nagłówek identyfikowałaby katalog lub jego część
Nie zmieniać pozycji istniejącego katalogu tylko zawsze importować
go od nowa.
Z nagłówkiem powiązać (załącznik) źródłowy katalog: PDF, xls, strona www
Extract i Transform (ETL) powinny wykonywać się w Autorun.
Trawers powinien sam pobierać aktualny katalog ze źródła.
Wydzielenie nagłówka pozwoli też szukać w katalogach źródłowych
i zrealizować model ELT.
(Pole content załącznika z kluczem typu fulltext search
- jak i skad pobierać wartości domyślne pól przy dopisywaniu do kartotek ?
FS: Z wzorcowej karty KIM lub wzorcowej karty dla dostawcy (obecnie brak)
nie powinien być to wybór operatora lecz automat.
RK: Wykorzystać mechanizm jak przy dopisywania karty KIM:
kopiuj z innej.
Każdy dostawca może oferować różne grupy asortymentu.
Dla każdej grupy może być inna karta wzorcowa.
Przepisując kartę z DostawcaKIM -> KIM operator musi wybrać wzorcową.
Ewentualnie w zbiorze DostawcyKIM wskazać kartę wzorcową KIM
dla danej grupy asortymentu.
PZ: Symbol karty wzorcowej w DostawcyKIM - pozycje
- jak zapisywać dane charakteryzujące różne rodzaje asortymentu ?
* tabela atrybutów
* definiowalne pola
* swobodny opis (memo)
* ...
FS: wg mapowania CSV do kartoteki indeksów zewnętrznych,
powinna ona też uwzględniać mapowania
na atrybuty (cechy) indeksów
RK: Każdy dostawca może oferować różne grupy asortymentu.
Każda grupa może mieć inny zestaw atrybutów.
Dla każdej grupy może być konieczny osobny proces ETL (patrz niżej)
albo wspólny proces ETL, który rozpoznaje grupy
i każdą importuje indywidualnie.
PS: dac mozliwosć podłączania plikow załączników
Zależy od formatu źródła danych - jak są zapisane cechy.
Trzeba by przeanalizować różne katalogi CSV.
Na którym etapie potrzebujemy sformalizowany zapis atrybutów?
Czy już w DostawcyKIM, czy dopiero po przeniesieniu do KIM?
Na etapie DostawcyKIM może wystarczyć opis memo.
Może być podwójnie: opis memo cech dla użytkownika
* opis swobodny cech (memo) dla użytkownika
* i zapis techniczny w memo JSON (cecha->wartość),
który potem może być przekształcony do zbioru atrybutów KIM.
format JSON jest użyty w JPK_V7: -->TW_447: ewimemo, dekmemo
PZ: zbiory typu flat-file, np CSV nie nadają się do zapisu
złożonych struktur danych
Trawers obecnie może Transformować tylko CSV.
Nie wczyta XLS, PDF itp.
Format JSON jest dobrym rozwiązaniem ale obecnie
to użytkownik musi go tworzyć w pliku CSV
TODO: Rozważyć użycie TrEx do Transformacji danych
- czy odrębne zapisy dla różnych magazynów (oddziałów) w DostawcyKIM
FS: Nie
RK: Nie
FS:
Dodatkowe uwagi:
- Kartoteka indeksów zewnętrznych oprócz pól odpowiadających
polom KIM powinna zawierać pola odpowiadające polom ofert dostawców,
w szczególności ceny, jednostki miary i walutę.
Dodatkowo podczas dopisywania karty kim i oferty dostawcy na podstawie
kart ind zew program powinien też umozliwiać zapis w cenniku katalogowym.
- Kartoteka indeksów zewnętrznych powinna uwzględniać, że dostawcy
ustalają ceny względem ilości:
1 - 100 sztuk - cena1
101-1000 sztuk - cena2
...
obecnie tego brak w kartotece ofert dostawców
- Kartoteka indeksów zewnętrznych powinna umożliwiać
operacje masowe np. usunięcie zakresu
- Kartoteka indeksów zewnętrznych powinna umożliwiać
aktualizację np gdy zmieniają się ceny, wtedy:
1. Aktualizujemy Kart ind zew
2. Aktualizujemy oferty dostawców (dla tych indeksów, które
są zapisane w ofertach dostawców)
- Jak nadawać symbol indeksu KIM ?
1. Można użyć symbol dostawcy, ale
- może być za długi > 16 znaków
- może nie być unikalny, wtedy symbol dostawcy + symbol indeksu
Tak próbowała robić KOMA.
2. Generować automatycznie na podstawie schematu z param MG.
NOTE RK:
1. Proponuję nazwę KAD: Katalog Asortymentu Dostawców
Słowo Katalog sugeruje, że to coś o charakterze zewnętrznym,
potencjalnym, co jeszcze nie jest Kartoteką wewnętrzną.
DostawcyKIM sugeruje jakąś odmianę kartoteki dostawców ZO.
2. W świecie SQL są pojęcia ETL: Extract-Transform-Load
ELT: Extract-Load-Transform
Opisują proces przekształcania danych wejściowych z różnych źródeł
do formatu bazy danych.
ETL
Data source (CSV, XLS, PDF,...) -------> DostawcyKIM
Dla każdego źródła danych trzeba utworzyć osobną funkcję ETL.
NOTE PZ:
Proponuję umożliwić jednocześnie proces ETL i ELT.
W procesie ELT użytkownik skupiałby się na wskazaniu źródeł katalogów.
Np. (KOMA)
1. Sprzedawca wyszukuje i ogląda produkt w dostępnych katalogach PDF
2. Dopisuje ręcznie kartę KIM i przygotowuję ofertę sprzedaży z ceną katalogową
3. Osoba kompetentna uzupełnia kartę KIM
Może na tym etapie np. wczytać katalog do DostawcówKIM i powiązać
ofertę cenową z już założoną kartą KIM lub załadować (Load) nowy indeks
KIM i zmienić indeks tymczasowy na nowo założony
To rozwiązanie, w którym ilość katalogów i asortymentu jest znaczny
i łatwiej jest dodawać na bieżąco kilka indeksów niż przygotować
do importu całe katalogi
(xTuple)
W procesie ETL użytkownik skupiałby się na obróbce katalogów.
Katalogi trzeba spłaszczyć i zapisać w formacie CSV.
Proces trzeba powtarzać po każdej aktualizacji katalogu
Sprzedawca mógłby wykorzystać tylko katalogi przetransformowane i wczytane
do DostawcówKIM.
1. Sprzedawca wyszukuje i ogląda DostawcyKIM - pozycje
2. Wybiera: przepisz do KIM. Program tworzy kartę KIM
i wypełnia zbiór ofert cenowych
Marlin:
1. Jakie pola będzie można zamieścić w zbiorze DostawcaKIM i czy będzie
tworzyć sobie własną definicję struktury pliku.
2. Czy dopisując indeks do KIM będzie można od razu dopisać (pobrać)
cenę do cennika jeżeli informacja o cenie będzie w bazie źródłowej?
Tres: ew. TODO
Prototyp
Prototyp zawiera funkcje:
* Mapowanie CSV (pobieranie z katalogów zewnętrznych)
* Zapisywanie do kartoteki DostawcyKIM
* Przeglądanie kartoteki DostawcyKIM
* Zapisywanie nowych indeksów do KIM
i do zbioru: Oferty (ceny) aby zapewnić powiązanie:
indeks KIM <--> indeks zewnętrzny
NOTE LS:
* Przeglądanie/dopisywanie do Ofert cenowych i KIM kartoteki DostawcyKIM
---------------------------------------------------------------------------
Przeglądanie/Wybór przy wystawaniu Zamówienia:
- Klawisz np F8-KAD,
- PRZEWIN() pracuje na indeksie katalogu KAD (kod30KAD)
- Długosć indeksu obcego: kod30KAD - 30 znaków
- Długość nazwy obcej np 240 znaków jak nazwa firmy
- w linii PRZEWIN() pokazuje KOD30KAD + kawałek nazwy
- Na dole PRZEWIN(): Indeks i Nazwe w naszej bazie KIM
jeżeli ten kod obcy jest już wprowadzony do KIM.
O tym czy indeks jest już w KIM, dowiadujemy się ze zbioru ofert cenowych
do którego jest zapisywane powiązanie pomiędzy katalogiem dostawcy i KIM.
np. przy rejestrowaniu zamówienia
Także przeglądając KIM poprzez Oferty cenowe można się dowiedzieć jaki to indeks u dostawcy
- F10 - pokaż obraz naszej karty KIM
- Dopisywanie - Karta KIM powstanie, jeśli użytkownik zdecyduje
się ją utworzyć (na podstawie karty wzorcowej KIM i danych KAD
Indeks karty wzorcowej dla KAD można wpisać w karcie danego dostawcy.
Indeks i Nazwa podczas dopisywania do KIM, jest utworzona przez użuykownika.
- Jednocześnie należy dopisać Ofertę cenową u dostawcy
tak jak jest teraz - tylko dla Kod30KAD ustalić długą nazwę np 240 znaków
- Jednostki miary zakupu w KIM i KAD użytkownik musi sam ustalić wg KAD
- Ceny zgodnie z sugestą określiłabym w 'zakresie ilości' kupowanej
np od 1 -1000, 1000 - 5000 ... teraz jest (domyslnie) tylko dla 1 jednostki czyli od 1-1
Są trzy ceny zakupu, więc wystarczy chyba tylko opis zakresu ilości, przy każdej cenie
a przy wystawianiu zamówienia użytkownik sam decyduje którą cene wybiera w zależności
o ilości jaką zamówi, albo program sam wybierze odpowiednią cenę, gdy dodamy
dwa pola dotyczące zakresu ilości w ofercie cenowej:
np: 'Cena jeden zakupu 1 1 - 1000 jm 8.50 PLN
np: 'Cena jeden zakupu 2 1001 - 2000 jm 6.50 PLN
np: 'Cena jeden zakupu 3 2001 - .... jm 4.50 PLN
(jeżeli nie istotny zakres zawsze może być 1-1, tak jak teraz domyślnie)
- Podczas rejestracji zamówienia, w jego pozycji zapamiętać KOD30KAD
i numer katalogu wg którego ustalono ceny. Dostawca już jest, w zamówieniu
(Moze KOD30KAD, nazwe i katalog można pobierać na żywo z Cennika ofert?
chyba jednak musi być w zamówieniu zapamiętany przynajmniej katalog dostawcy ?)
KOD30KAD może być w każdym katalogu ten sam, tylko cena się zmienia
należy powiększyć indeks w ofertach cenowych o identyfikator katalogu