Projekat

Općenito

Profil

Akcije

Podrška #26695

Zatvoren

FMK KALK -> F18 KALK razmjena dokumenata

Dodano od Ernad Husremović prije skoro 13 godina. Izmjenjeno prije više od 12 godina.

Status:
Zatvoreno
Prioritet:
Normalan
Odgovorna osoba:
Početak:
15.02.2012
Završetak:
% završeno:

80%

Procjena vremena:

Povezani tiketi 6 (0 otvoreno6 zatvorenih)

korelira sa harbour - Podrška #26696: harbour zip podrškaOdbačenoSaša Vranić15.02.2012

Akcije
korelira sa harbour - Podrška #26745: Podrška zip bibilotekamaZatvorenoJasmin Beganović16.02.2012

Akcije
korelira sa F18 - Nove funkcije #26753: F18, integrisane zip/unzip funkcijeZatvorenoSaša Vranić16.02.2012

Akcije
korelira sa F18 - Podrška #26794: Feature: KALK, import/export dokumenata (verzija 2)ZatvorenoSaša Vranić17.02.2012

Akcije
korelira sa F18 - Podrška #26819: F18 release 0.9.55ZatvorenoEmir Šator20.02.2012

Akcije
korelira sa F18 - Podrška #27491: F18, razmjena podataka (udaljene lokacije) za FAKT i FINZatvorenoSaša Vranić09.04.2012

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije skoro 13 godina

ovo nam prvo treba vezano za aktivnost vind, tako da što prije možemo uraditi instalaciju F18 na remote strani i testirati razmjenu dokumenata.

Onda sitemom update-a možemo brzo instalirati nove izvještaje

Akcije #2

Izmjenjeno od Ernad Husremović prije skoro 13 godina

pogledati postojeću KALK - KALK opciju ali ne prezati od potpunog rewrite-a.

harbour koliko se sjećam ima native zip podršku. nastojati pokušati izbjeći korištenje eksternih aplikacija zip.exe i sl, zato je zip

Akcije #3

Izmjenjeno od Saša Vranić prije skoro 13 godina

Pogledao u contrib folderu, postoji hbmzip folder i primjer korištenja zip-a

Akcije #4

Izmjenjeno od Saša Vranić prije skoro 13 godina

o tome na veznom tiketu: #26745

Akcije #5

Izmjenjeno od Saša Vranić prije skoro 13 godina

na #26753 napraviti zip/unzip f18 funkcije koje će biti lako poslije koristiti

Akcije #6

Izmjenjeno od Saša Vranić prije skoro 13 godina

U FMK treba ispraviti i prepraviti postojeće funkcije za prenos KALK->KALK.

Trenutno se koristi arj format arhive, treba uvesti mogućnost zip arhive.

Akcije #7

Izmjenjeno od Saša Vranić prije skoro 13 godina

postojeća funkcija prenos kalk-kalk

Akcije #8

Izmjenjeno od Saša Vranić prije skoro 13 godina

treaba imati na umu da postojeću opciju ne treba ukidati kao takvu jer je u opticaju kod korisnika

Akcije #9

Izmjenjeno od Saša Vranić prije skoro 13 godina

Opcija razmjene bi trebala da radi sljedeće:

  • prenese kalkulacije (onakve kakve su u bazi) u pomoćne tabele
  • na strani F18 - import treba da ide drito u baze (ažuriranje) bez pripreme i ažuriranja (asistenta) itd..

pri tome treba obratiti pažnju na sljedeću stvar:

  • da li dokument postoji već u bazi ?

pa ako postoji, treba upit: "ubaciti novi, zadržati stari ?"

Akcije #10

Izmjenjeno od Saša Vranić prije skoro 13 godina

Kako realizovati prenos ?

Kako sada radi ?

U FMK to već sada radi na način da se kopiraju trenutne strukture tabela:

  • KALK.DBF
  • PARTN.DBF
  • ROBA.DBF
  • SIFK.DBF
  • SIFV.DBF

pa se u njih filuje promet po zadanom filteru.

Te se tabele arhiviraju i onda se čitaju na drugoj strani.

Akcije #11

Izmjenjeno od Saša Vranić prije skoro 13 godina

Nove tabele budu:

  • _kalk.dbf
  • _partn.dbf
  • itd..
Akcije #12

Izmjenjeno od Saša Vranić prije skoro 13 godina

Moguće rješenje (1)

Ako bi išli na export 1:1 onda bi trebalo napraviti replike sljedećih tabela:

  • kalk.dbf -> _p_kalk.dbf
  • doks.dbf -> _p_doks.dbf
  • partn.dbf -> _p_partn.dbf
  • roba.dbf -> _p_roba.dbf
  • sifk.dbf -> _p_sifk.dbf
  • sifv.dbf -> _p_sifv.dbf
  • konto.dbf -> _p_konto.dbf

i u njih nafilovati stanje onakvo kakvo i jeste sa dokuemntima, znači tipično 1:1.

Na strani F18, čitati ove tabele i automatski ubacivati u pripadajuće tabele.

Akcije #13

Izmjenjeno od Saša Vranić prije skoro 13 godina

Dobro, danas ovo uzimam da napravim:

  • u FMK trebam napraviti export
  • u F18 import

Ali ću ja napraviti odmah

  • F18 - export
  • F18 - import

pa ću u FMK samo backport exporta uzeti

Akcije #14

Izmjenjeno od Saša Vranić prije skoro 13 godina

commit

Napravio u F18 bazne funkcije importa i exporta, sada fale još uslovi itd...

Akcije #15

Izmjenjeno od Saša Vranić prije skoro 13 godina

  • % završeno promijenjeno iz 0 u 20
Akcije #16

Izmjenjeno od Saša Vranić prije skoro 13 godina

Znači, opet imamo klasični menij import/export

Export funkcija pravi pomoćne fajlove na osnovu struktura kalk, kalk_doks itd... te ih na kraju filuje po zadanom uslovu...

i nakon svega toga ih kompresuje u zip fajl

Akcije #17

Izmjenjeno od Saša Vranić prije skoro 13 godina

Na identičan način radi i funkcija importa

samo što će ona raspakovati fajlove na lokaciju, to će biti home_dir/import_dbf/ i onda ih na osnovu toga ubacivati u bazu

Akcije #18

Izmjenjeno od Saša Vranić prije skoro 13 godina

Export funkciju odradio commit

Akcije #19

Izmjenjeno od Saša Vranić prije skoro 13 godina

sve je ok, ali se u zip fajlu ne nađe ništa, a kada se raspakuje bude samo relativna putanja

/Users/export_dbf/
Akcije #20

Izmjenjeno od Saša Vranić prije skoro 13 godina

ehhhh, zapakovao je on to lijepo i postavio relativnu putanju do fajla unutar zip fajla

Treba bez toga pakovati.

Akcije #21

Izmjenjeno od Saša Vranić prije skoro 13 godina

Ispravio sam zip_files funkciju dodao i argument za relativnu putanju.

Akcije #22

Izmjenjeno od Saša Vranić prije skoro 13 godina

kalk import dokumenata

implementirao sam i import dokumenata

Akcije #23

Izmjenjeno od Saša Vranić prije skoro 13 godina

  • % završeno promijenjeno iz 20 u 60
Akcije #24

Izmjenjeno od Saša Vranić prije skoro 13 godina

Sada export radi po principu, kreira se fajl kalk_exp.zip

Treba napraviti i sljedeće:

  • fajl exporta, automatski naziv, recimo 3 prenosa napravim formiraju se kalk_exp_1.zip, kalk_exp_2.zip itd... )
  • biranje fajla za import prilikom importa (otvori se lista tekućih fajlova u direktoriju)
Akcije #25

Izmjenjeno od Saša Vranić prije skoro 13 godina

Naravno, ova funkcionalnost će biti samo u F18, jer FMK ne zna da barata sa velikim nazivima fajlova.

Akcije #26

Izmjenjeno od Saša Vranić prije skoro 13 godina

poispravljao još bug-ova oko importa i eksporta

dodao mogućnost pametnog imenovanja fajlova, te lista za import prilikom importa

Akcije #27

Izmjenjeno od Saša Vranić prije skoro 13 godina

Akcije #28

Izmjenjeno od Saša Vranić prije skoro 13 godina

na #26794 objasnio kako radi ova opcija

Akcije #29

Izmjenjeno od Saša Vranić prije skoro 13 godina

  • % završeno promijenjeno iz 60 u 80
Akcije #30

Izmjenjeno od Saša Vranić prije skoro 13 godina

Ono što još ovdje fali je:

  • uvid u podatke prije importa
  • uvid u podatke nakon eksporta

naravno, po želji

Akcije #31

Izmjenjeno od Saša Vranić prije skoro 13 godina

sada treba uraditi backport opcije exporta u FMK, i naravno prilagoditi FMK

Akcije #32

Izmjenjeno od Saša Vranić prije skoro 13 godina

Nakon toga ćemo moći importovati podatke FMK -> F18

Akcije #33

Izmjenjeno od Saša Vranić prije skoro 13 godina

Akcije #34

Izmjenjeno od Saša Vranić prije skoro 13 godina

U FMK/KALK ubacio i generisanje e_sifk/e_sifv tabela na osnovu podataka.

Implementirao generisanje zip fajla i u fmk.

Akcije #35

Izmjenjeno od Saša Vranić prije skoro 13 godina

Na F18 strani fali čitanje e_sifk, e_sifv tabela

Akcije #36

Izmjenjeno od Saša Vranić prije skoro 13 godina

7zip umjesto zip.exe na fmk strani

Sa zip.exe postoji neki problem, tako da sam uveo da se koristi 7zip.

Akcije #37

Izmjenjeno od Saša Vranić prije skoro 13 godina

Export sifk, sifv u f18, commit

Akcije #38

Izmjenjeno od Saša Vranić prije skoro 13 godina

Sada još treba import ovih tabela...

Ovdje imamo jednu promjenu a to su polja koja smo mjenjali na sifk, sifv tabelama radi naziva.

Na to treba obratiti pažnju.

Akcije #39

Izmjenjeno od Saša Vranić prije skoro 13 godina

import sifk, sifv

sredio malo opciju importa, sada treba ovo sve testirati

Akcije #40

Izmjenjeno od Saša Vranić prije skoro 13 godina

he he, kada sa windoza dođe fajl bude velikim slovima i ovaj ga nema pojma kako otvoriti :)

Mora se napraviti UPPER konverzija

Akcije #41

Izmjenjeno od Saša Vranić prije skoro 13 godina

Ok, sada nakon toga, opet greška:

====================================================================================
F18 bug report (v3.2) : 20.02.12 12:12:51
====================================================================================
Verzija programa: 0.9.54 15.02.2012 0.9.96

SubSystem/severity    : DBFCDX          2
GenCod/SubCode/OsCode :         21       1001          5
Opis                  : Open error
ImeFajla              : /Users/bringout/.f18/bringout_test/import_dbf/E_KALK.DBF
Operacija             : 
Argumenti             : NIL
canRetry/canDefault   : .T. .T.

CALL STACK:
--- --------------------------------------------------------------------------------
  1 (b)F18_INIT_APP / 105
  2 DBUSEAREA / 0
  3 _O_EXP_TABLES / 1094
  4 __IMPORT / 536
  5 _KALK_IMPORT / 129
  6 (b)KALK_UDALJENA_RAZMJENA_PODATAKA / 34
  7 F18_MENU / 1816
  8 KALK_UDALJENA_RAZMJENA_PODATAKA / 36
  9 (b)TKALKMOD_MMENUSTANDARD / 106
 10 MENU_SC / 990
 11 TKALKMOD:MMENUSTANDARD / 143
 12 TKALKMOD:MMENU / 67
 13 TKALKMOD:RUN / 149
 14 MAINKALK / 31
 15 MAIN / 55
--- --------------------------------------------------------------------------------

ali dobru tabelu učitava...

Ahhhh, joj pretpostavljam da znam šta je u pitanju ?!????

Jeste, privilegija fajla... READ ONLY je fajl.

Akcije #42

Izmjenjeno od Saša Vranić prije skoro 13 godina

Dobro, treba probati na windows-u

Akcije #43

Izmjenjeno od Saša Vranić prije skoro 13 godina

Znači, treba i setovanje privilegija promjeniti nakon raspakovanja ako je UNIX verzija.

Akcije #44

Izmjenjeno od Saša Vranić prije skoro 13 godina

da li je fajl sa windows-a ?

Ako jeste radi se upper konverzija.

Uveo skeleton funkcije za promjenu privilegija.

Akcije #45

Izmjenjeno od Saša Vranić prije skoro 13 godina

Dobro, na windows-u to radi, međutim sada imamo jedan drugi problem !

Strukture dbf-ova nisu iste.

Akcije #46

Izmjenjeno od Saša Vranić prije skoro 13 godina

Recimo tabela robe mi je izbacila grešku... prilikom appenda.

Sada vjerovatno ne postoji polje FISC_NO u FMK tabeli robe.

Akcije #47

Izmjenjeno od Saša Vranić prije skoro 13 godina

mislim da ću sa set get memvars ovo riješiti bez problema, prije appenda prvo uzmem memvars tabele u koju ubacujem

Akcije #48

Izmjenjeno od Saša Vranić prije skoro 13 godina

ali ne...

Akcije #49

Izmjenjeno od Saša Vranić prije skoro 13 godina

treba mi nešto što će odraditi sinhronizaciju struktura odmah prilikom otvaranja fajla...

Akcije #50

Izmjenjeno od Saša Vranić prije skoro 13 godina

i to samo u situaciji kada fajl dolazi sa windows-a

Akcije #51

Izmjenjeno od Saša Vranić prije skoro 13 godina

mislim iz FMK...

Akcije #52

Izmjenjeno od Saša Vranić prije skoro 13 godina

dobro, doks i kalk su mi prošli bez problema, zapelo je na tabeli robe...

da ne bi sada mozgao, odradit ću modifikaciju struktura tekuću u FMK pošto testiram na nekim starim podacima klijenta pa nema te modifikacije

Akcije #53

Izmjenjeno od Ernad Husremović prije skoro 13 godina

je li ti pričaš o učitavanju dbf tabele fmk -> f18

use odredisna_f18_tabela:

use iz_fmk_tabela

_rec := dbf_get_rec("iz_fmk_tabela")

// setuj sva nedostajucaplja

// lupam napamet ima neka funkcija već sam je koristio pogledait u hb_playground hash marice
if  key  ne postoji _rec("fisc_rn") 
  _rec["fisc_rn"] := 0
endif

select odredisna_f18_table
update_dbf_rec(_rec)

...

nije vrag da dva dana nakon rada na ovome i dalje koristiš u F18 kodu replace i gather/scatter konstrukte ?

Izgleda da koristiš

Akcije #54

Izmjenjeno od Saša Vranić prije skoro 13 godina

ma jok

Akcije #55

Izmjenjeno od Saša Vranić prije skoro 13 godina

može se ovdje napraviti i jednostavno upgrade funkcije dbf_get_rec pa dodati uslov template_rec

select roba
_template := dbf_get_rec()

select e_roba
_rec := dbf_get_rec( _template )

gdje će _rec na kraju da sadrži sva polja primarne tabele roba a biti popunjen iz vrijednosti tabele e_roba, pa ako šta fali - nikom ništa.

Akcije #56

Izmjenjeno od Saša Vranić prije skoro 13 godina

update_roba

koristim regularne funkcije, nikakvi replace

Akcije #57

Izmjenjeno od Saša Vranić prije skoro 13 godina

Stvar je u tome što ko zna šta može faliti od polja, pa zato to treba napraviti pametnije.

Međutim, neću se sada zamarati time, prvo da odradim aktuelnu modifikaciju na FMK strani.

Akcije #58

Izmjenjeno od Saša Vranić prije skoro 13 godina

update strukture zapisa prije append-a

commit

pronašao sam taj fazon HB_HHASKEY

Akcije #59

Izmjenjeno od Saša Vranić prije skoro 13 godina

Pored toga što postoje neka nepostojeća polja imamo i drugi fazon a to je da na naštoj lokalnoj bazi ima nepostojećih polja sa remote strane.

Akcije #60

Izmjenjeno od Saša Vranić prije skoro 13 godina

Znači, sada sam dodavao u hash matricu polja, a sada ih treba i brisati.

Ovo recimo primjetio na robi, polja:

  • CARINA
  • M1
Akcije #61

Izmjenjeno od Saša Vranić prije skoro 13 godina

Kako pobrisati jedan član hash matrice ???

dostupne hash funkcije

Akcije #62

Izmjenjeno od Saša Vranić prije skoro 13 godina

"hb_hdel()" i "hb_hdelat()" funkcije postoje ali nisu dostupne nama

Akcije #63

Izmjenjeno od Ernad Husremović prije skoro 13 godina

odakle uopšte problem sa viškom elemenata u rec zapisu ?

zar se kod ove operacije

_rec vako nako ...
...

select odredisna_f18_table
update_dbf_rec(_rec)

ne gleda struktura odredisne tabele ? uopšte se ne bi trebala gledati struktura _rec zapisa.

a što se tiče brisanja elementa iz hash matrice uopšte ne znam.

svakako se može riješiti (ako je gornja funkcija kojim slučajem tako glupa kako ti ovdje navodiš uraditi ovo)

_rec["nepotrebno_polje"] := NIL

a ounda u update_rec_dbf_glupa_ali_malo manje uraditi sljedeće

if _rec["nepotrebno_polje"] == NIL

   nemoj raditi ažuriranje

endif
Akcije #64

Izmjenjeno od Saša Vranić prije skoro 13 godina

dostupne su ipak i to se koristi za brisanje članova

hb = hb_hash()
hb["test"] = "" 

hb_hdel( hb, "test" )
Akcije #65

Izmjenjeno od Saša Vranić prije skoro 13 godina

kod update-a se gleda struktura matrice koja je proslijeđena

Akcije #66

Izmjenjeno od Saša Vranić prije skoro 13 godina

usklađivanje struktura tabela roba, partn, konto, sifk prilikom importa podataka...

Recimo u SIFK smo promjenili polja

  • decimal -> f_decimal
  • unique -> f_unique

radi problema sql servera, pa i to treba handlirati

Akcije #67

Izmjenjeno od Saša Vranić prije skoro 13 godina

Ovo usklađivanje se dešava samo ako je markirana opcija

Import iz FMK ? na formi importa.

Ako se radi o F18 razmjeni onda ove stvari ne trebaju !

Akcije #68

Izmjenjeno od Saša Vranić prije skoro 13 godina

Testirao sam sada jedan FMK transfer i sada je sve prošlo ok.

Akcije #69

Izmjenjeno od Saša Vranić prije skoro 13 godina

huh... konačano nakon ured puna dva dana...

Baš je zahtjevna opcija, sada kada miksamo FMK i F18 :)

Akcije #70

Izmjenjeno od Saša Vranić prije skoro 13 godina

Akcije #71

Izmjenjeno od Saša Vranić prije skoro 13 godina

možda, ali za sada nije bitno

Akcije #72

Izmjenjeno od Saša Vranić prije skoro 13 godina

  • Odgovorna osoba promijenjeno iz Saša Vranić u Jasmin Beganović
  • Prioritet promijenjeno iz Urgentno u Normalan
Akcije #73

Izmjenjeno od Jasmin Beganović prije skoro 13 godina

u kontaktu sam sa jasom, pripremit će šifrarnike pa da se može otpočeti, vidjećemo ako bude stigao da napravi export jedne godine pa da se i to pokrene

Akcije #74

Izmjenjeno od Saša Vranić prije više od 12 godina

  • Status promijenjeno iz Dodijeljeno u Zatvoreno

završeno

Akcije

Također dostupno kao Atom PDF