despre elefantul din incapere - importul de XML

Ce crezi ca ar trebui introdus sau modificat la programe?
Mesaj
Autor
tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

despre elefantul din incapere - importul de XML

#1 Mesaj de tatard »

salut,
da, am aflat si eu ca se va renunta la posibilitatea de importuri din dbf. si sunt necajit. aveam un flux in care luam de "undeva" datele, le prelucram in powerquery, obtineam un tabel, il converteam cu o comanda in dbf si il importam.
nu se va mai putea.
drept urmare incerc sa fac acelasi lucru cu xml. ceea ce este MULT MAI DIFICIL.

nu vorbim aici de faptul ca "nu e treaba SAGA ca alte programe nu stiu sa exporte XML". programul din care imi scot eu informatiile este in fapt o colectie de baze de date cu legaturi intre ele si NU ma folosesc de facturile emise pentru a le aduce in SAGA ci de informatiile din respectivele facturi. adica la modul BRUT de toate informatiile din bazele de date, corlelate intr-un tabel pe care eu il folosesc la achizitii, vanzari, la intrastat, la situatii catre conducere.

asadar AM informatiile dar NU STIU sa le convertesc in xml.

sa incepem CU ACHIZITIILE:
  • 1 in macheta xml NU AVEM CAMP NR_NIR - si avem nevoie de acest camp. nu SAGA decide ce numar are receptia, ci colegii mei de la achizitii.
  • 2 nu reusesc sa creez un xml (fac maparea in excel si totul este ok) pentru facturi cu o singura pozitie. insa pentru facturi cu pozitii multiple (sa zicem cota de tva19, cota de tva 9 si sgr) am probleme.
    in excel le am... una sub alta. cu "numar linie 1, 2 sau 3". dar la export in xml am 3 pozitii de factura cu cate o pozitie de "linie" si deci SAGA preia doar prima aparitie. da, nu e treaba SAGA... dar in dbf aveam pozitiile unele sub altele si se importau fara problema.
sa trecem la VANZARI:
  • 1 nu reusesc sa creez un xml (fac maparea in excel si totul este ok) pentru facturi cu o singura pozitiie. insa pentru facturi cu pozitii multiple (sa zicem marfa, discount si servicii).
    in excel le am... una sub alta. cu "numar linie 1, 2 sau 3". dar la export in xml am 3 pozitii de factura cu cate o pozitie de "linie" si deci SAGA preia doar prima aparitie. da, nu e treaba SAGA... dar in dbf aveam pozitiile unele sub altele si se importau fara problema.
daca la vanzari m-as descurca adaugand manual pozitiile lipsa (am cca 20 de facturi din 600 care au pozitii multiple) la achizitii nu am solutie. majoritatea din miile de receptii lunar au 2 pozitii (eu tin doar valoric deci defalc doar pe cote de tva - iar importul din SPV nu este o solutie deoarece NU AM NUMAR DE RECEPTIE).
  • da, apucati-va de teste din timp.
  • da, scrieti la SAGA problemele de care va loviti.
  • da, scrieti si pe forum, ca poate unii au deja solutii.
  • da, faceti share la tutoriale de excel si xml.
si haideti sa trecem peste asta.

Avatar utilizator
balazse246
Mesaje: 934
Membru din: Vin Sep 11, 2009 12:00 am

Re: despre elefantul din incapere - importul de XML

#2 Mesaj de balazse246 »

Achizitie:
1. aici ar trebui sa discuti cu echipa Saga sa introduca si acel camp;
2. inseamna ca nu faci corect fisierul xml, la o adica la pozitia 2 si 3 nu trebuie sa termini cu "</Continut>" dupa prima pozitie, ci doar dupa al treilea, pana la urma ar trebui sa pui o conditionare, ca sa nu se completeze niste date daca exista si un al doilea rand.
Vanzare:
1. vezi raspunsul 2 de la "achizitie".

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#3 Mesaj de tatard »

1. le-am scris.
2. mai am vreme sa mesteresc. mersi pentru idee. acum de abia ma familiarizez cu xml. am mai avut o tentativa cand am implementat incasari si plati prin xml. dar acolo sintaxa era scurta si am putut sa o fac in excel cu "concatenate". aici fiind sintaxe lungi solutia de concatenare a textului nu e buna. iar din maparea xml nu stiu cum sa indic excelului "bre, daca sunt 2 pozitii in cadrul unei facturi nu inchide <continut> ci prinde ambele pozitii in acel tag".
Screenshot 2025-03-02 135410.png
Screenshot 2025-03-02 135410.png (26.85 KiB) Vizualizat de 26950 ori

Avatar utilizator
balazse246
Mesaje: 934
Membru din: Vin Sep 11, 2009 12:00 am

Re: despre elefantul din incapere - importul de XML

#4 Mesaj de balazse246 »

Din pacate eu nu pot vizualiza imaginea, incearca sa il incarci pe https://imgur.com/signin, dupa care sa faci legatura pe forum.
Pana la urma poti sa pornesti de la fisierul dbf, iar daca daca un anumit criteriu (de ex: numarul document, cod furnizor si data) ii identic din randul anteriror atunci sa elimine acel text.

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#5 Mesaj de tatard »

mersi de implicare. era schema xml (captura de ecran - nimic interesant). cu toate campurile ocupate. si functionale. doar ca NU grupeaza liniile.
adica tagul <continut> se repeta la fiecare pozitie si deci NU se grupeaza valorile.

o sa elimin valorile dublate din partea de definire a "client si furnizor".

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#6 Mesaj de tatard »

balazse246 scrie: Dum Mar 02, 2025 1:18 pm Achizitie:
1. aici ar trebui sa discuti cu echipa Saga sa introduca si acel camp;
2. inseamna ca nu faci corect fisierul xml, la o adica la pozitia 2 si 3 nu trebuie sa termini cu "</Continut>" dupa prima pozitie, ci doar dupa al treilea, pana la urma ar trebui sa pui o conditionare, ca sa nu se completeze niste date daca exista si un al doilea rand.
Vanzare:
1. vezi raspunsul 2 de la "achizitie".
1 - am primit raspuns. NU.
2 - am reusit cu powerquery si vba (80% din munca facuta de chatgpt - deci nu stiu exact ce am facut in vba). problema mare a fost la definirea schemei (care avea mai multe "nest"-uri). am tiparit in pdf o factura de iesire - care genereaza langa si un xml. am deschis acel xml si am golit TOATE tag-urile care nu erau populate. am golit continutul tag-urilor care erau populate si apoi acel xml l-am folosit ca macheta. NOTA: tabelul excel trebuie sa aiba capul de tabel cu denumirile identice cu cele din xml - iar apoi vba are ceva functii care pot converti continutul unui "sheet" in xml.

deci NU AM CUM sa va pun la dispozitie procedura, NICI NU DORESC sa o mai repet (de aceea am salvat fisierul in vreo 5 locatii - sa nu-l pierd).

generez asadar un xml cu 600 de facturi de vanzare - cu pozitii multiple - in cca 2 minute (pana ruleaza powerquery - pe o baza de date cu minimum 17.000 inregistrari, apoi pana imi aduc eu aminte sa rulez macro-ul VBA si apoi importul in Saga).

urmeaza distractia cu INTRARI - unde imposibilitatea de a importa NUMARUL DE RECEPTIE este un lucru neplacut.

Avatar utilizator
herganiec
Mesaje: 9194
Membru din: Sâm Oct 31, 2009 12:00 am

Re: despre elefantul din incapere - importul de XML

#7 Mesaj de herganiec »

@tatard... vezi un ochi și aici.. e interesant poate te ajută... https://risksoft.ro/web-development/saga-import/
“Cea mai valoroasă parte a unui om nu este mintea plină de cunoștințe, ci inima plină de iubire, urechea pregătită să asculte și mâna dispusă să ajute.”

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#8 Mesaj de tatard »

am vazut. nu ajuta. nu au camp NIR. nu exista in tagul acceptat de saga. am intrat. mi-am facut cont de teste. m-am uitat. dar exact campul NIR nu este.

dar am rezolvat.
si intrari lei - si iesiri valuta (doar de astea am nevoie)

combinatie de powerquery - vba - ahk

powerquery - am transformat datele din sursa in forma necesara pentru xml.
vba - am convertit datele in xml
ahk - am copiat "informatii suplimentare" unde am introdus numarul REAL de receptie in campul NIR unde era numarul introdus automat de saga.

da, am muncit 3 zile...
da, mi-am rezolvat problema (acum trebuie sa o implementez pentru mai multe firme)
dar totul va dura mai mult decat pana acum. cca 3 ore mai mult pe luna. impartit in 4 sesiuni... asta e!

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#9 Mesaj de tatard »

si dupa test REAL de functiune vine si verdictul: ne-au ciuruit!

644 receptii ora si minutul la care am creat fisierul xml 19:23. ora si minutul la care am terminat importul si apoi MUTAREA numarului de receptie din campul "info suplimentare" in campul NR_NIR 20:09
timp total: 46 de minute.

cu dbf rezolvam totul in maximum 5.

deci voi pierde lunar minimum 2 ore si jumatate uitandu-ma in gol la calculator. pentru ca nu pot sa las procedura AHK (care simuleaza apasare de taste) sa ruleze nesupravegheata.

asadar avem nevoie de NR_NIR in tag-urile XML.

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#10 Mesaj de tatard »

si va mai prezint o speta in care dbf bate xml.

importurile de xml pentru achizitii din strainatate (ecranul de import-valuta). am furnizori care emit facturile in lei (furnizor din ungaria de ex). chiar daca este o factura de achizitie intracomunitara (sa ii zicem import) aceasta factura imi intra la intrari lei (ceea ce nu doresc). vreau sa vad ce am cumparat "de afara" si ce am cumparat din tara.

cu dbf mergea perfect.

mai mult, daca import facturi externe receptionate prin FGo cu optiunea import din FGo, pentru facturile in lei am o notificare care ma intreaba daca doresc inregistrarea in ecranul de valuta sau in cel de lei.

dar NU pot sa le import din FGo pentru ca FGo la capitolul intrari valuta sunt deficitari.

Avatar utilizator
balazse246
Mesaje: 934
Membru din: Vin Sep 11, 2009 12:00 am

Re: despre elefantul din incapere - importul de XML

#11 Mesaj de balazse246 »

La mine a fost importat in intrari-valuta, doar ca m-a intrebat daca chiar vreu la valuta.

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#12 Mesaj de tatard »

da, am gasit vinovatul.
am reutilizat un cod VBA de VANZARI... si aveam tag de client tara dar nu aveam de furnizor tara.
am pus tag de furnizor tara si face exact cum zici tu. ma intreaba daca vreau la VALUTA (yes) sau la LEI (no).

raman in continuare problemele tag-ului de numar de receptie si a faptului ca procesarea xml este mult mai lenta.

supa cum scriam mai sus, am gasit o metoda sa aduc si NR_NIR in xml sub forma de informatii suplimentare si apoi sa le mut "manual" (auto hot key) la locul lor dar ia foarte mult timp si aceasta manopera.

am ajuns astfel sa lucrez (adica sa ma uit efectiv la ecran in timp ce nu pot sa fac altceva) cu peste 2 ore mai mult decat lunile trecute la O SINGURA FIRMA...

poate totusi se indura cineva de noi sa puna un tag de nr_nir pentru situatiile in care receptiile se fac "la depozit" intr-un soft iar contabilitatea se tine "la sediu" intr-un alt soft (SAGA).

am primit un argument de la SAGA ca nr_nir nu este un element important pentru identificarea unei facturi dar NU este asa.

este CEL MAI IMPORTANT element in conditiile arhivarii documentelor. adica in dosar le am in ordinea numerelor de receptie si cand ai de cautat receptia 2502830 care este pusa in dosar dupa receptia 2502829 si inainte de 2502831 iar in saga ai alt numar de receptie... nu e prea usor. fiind vorba de mii de receptii pe luna.

Avatar utilizator
balazse246
Mesaje: 934
Membru din: Vin Sep 11, 2009 12:00 am

Re: despre elefantul din incapere - importul de XML

#13 Mesaj de balazse246 »

Sincer sa fiu, daca s-au introdus mai multe casute optionale, consider ca si acel camp s-ar putea rezolva, acum ramane cu setarile in program, adica daca dpdv tehnic se poate rezolva si in program, dar acest lucru doar echipa Saga poate verifica si decide.

tatard
Mesaje: 64
Membru din: Lun Mar 29, 2010 12:00 am

Re: despre elefantul din incapere - importul de XML

#14 Mesaj de tatard »

au decis. un NU categoric. cu explicatia ca acel camp NU este important si ca identificarea unei facturi se face prin numarul de factura.

ciucam288
Mesaje: 354
Membru din: Joi Iun 03, 2021 10:37 am

Re: despre elefantul din incapere - importul de XML

#15 Mesaj de ciucam288 »

In principiu lucrurile simple nu pierd sirul logicii.
Dar intreb si eu cum sa ajuns aici si dece? (poate e un pic retoric?)
Ce este cimpul "Nr. int." din programul saga si dece apare "<nr_nir> in export
Ce este cimpul "Nr. doc." din programul saga si dece apare "<nr_intrare> in export
Fişiere ataşate
nirdoc.jpg
nirdoc.jpg (40.3 KiB) Vizualizat de 12464 ori

Scrie răspuns