Odgovori 
Savet

Poštovanje,
Razmišljam o pravljenju jednog programa koji bi služio da se pravi elektronska faktura za OPP obrasce (da se naplati od socijalnog OPP obrasci za naočare), s tim da se ona pravi u XML šemi i mora biti zipovana. Takođe mora da se prave i 3 prateća dokumenta - izveštji koji bi bili napravljeni na osnovu unetih podataka. Dakle, treba da se napravi baza podataka stranaka za pomenute OPP obrace, izveštaji i elektronska faktura. Za elektronsku fakturu je dat primer. Mene ineresuje kako bi se to moglo napraviti, pa čak i u "primitivnom" smislu, dakle ne baze tipa orakl i tome slično, već i najprostija verzija, jer ja ne bih imao više od 20-30 takvih računa mesečno, pa nije ni potrebna teška artiljerija. To bih mogao u bejziku sve da uradim u Calcu, ali me jedino muči izrada XML elektronske fakture, koja bi se putem interneta slala socijalnom na proveru, pa ako je to sve u redu, onda bi se slali dokumenti u papirnatom obliku. Svaki savet bi dobro došao.

Prilozi uz poruku .pdf  Tehnicko uputstvo i format XML-a elektronske fakture v1.0.6.pdf (Veličina: 223.49 kb)
.zip  PrimerElektronskeFaktureZaMTP.zip (Veličina: 1.39 kb)

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Gorane, mislim da ste vi napravili dokument koji služi da napravi godišnji bilans u XML formatu. Ako nisam pogrešio, da li može da se pogleda?

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Jedna varijanta je da definišete XSLT preslikavanje iz Calc tablice u XML prema datoj šemi: http://forum.openoffice.org/en/forum/vie...=3490&f=45

Druga varijanta je da makrom deo po deo sastavite sadržaj ciljnog dokumenta i potom ga sačuvate: http://forum.openoffice.org/en/forum/vie...=9&t=44142
Poseti veb stranicu korisnika
Citiraj ovu poruku u odgovoru

Opcija pod B mi je interesantnija.
Sada imam mali problem oko filtriranja naloga koje čuvam na jednom listu Calca. U jednom redu su svi podaci za jedan nalog. (Odlučio sam se za ovu opciju jer nemam puno OPP naloga u toku jednog meseca.)
Kako da filtriram podatke uz pomoć koda?
1) Pomislio sam da bi postavljenje Autofiltera pomoglo, i nije problem sa kodom da ga postavim na čelu svih kolona (prvi red u listu služi kao zaglavlje), ali je nastao problem kako da se sa kodom dopre do određenih combobox-va, da se koriste podaci sa padajućih lista i da se aktivira dalje filtriranje. Toliko nisam vičan. Ako neko zna, molim za jedan mali primer u Basic-u.
2) Druga varijanta bi bila da koristim makro koji bi filtrirao. Primenio sam jedan primerkoji i sa dva kriterijuma odlično radi. Međutim, meni je potrebno filtriranje sa 4 kriterijuma. Kada dodam treći kriterijum javlja se poruka "Inadmissible value or data type. Index out of defined range" i zaplavi mi se ovaj deo koda:
.Connection = com.sun.star.sheet.FilterConnection.AND
Ceo kod:

Sub FilterBAZE()
Dim oSheet ' Sheet to filter.
Dim oRange ' Range to be filtered.
Dim oFilterDesc ' Filter descriptor.
Dim oFields(1) As New com.sun.star.sheet.TableFilterField

oSheet1 = ThisComponent.Sheets.getByName("FAKTURA")
Mesec = oSheet1.getCellRangeByName("D4")

oSheet = ThisComponent.Sheets.getByName("BAZA")
oRange = oSheet.getCellRangeByName("A2:DI1048576") 'opseg koji se filtrira

' Kriterijumi Filitriranja: mesec izdavanja ("DI") 1x 112 (kolona byIndex)
' Filijala koja overava ("DB") 1x Krovna više krovnih 105 "
' Vrsta naloga ("C") 2x (N i NK) 2 "
' Prodajno Mesto ("DF") više x 109 "

REM If argument is True, creates an
REM empty filter descriptor.
oFilterDesc = oRange.createFilterDescriptor(True)

REM Kriterijum: Mesec
With oFields(0)
.Field = 112 ' Filter column "DI".
.IsNumeric = True ' Use a number
.NumericValue = Mesec.value
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
End With

REM Kriterijum: šifra filijale
With oFields(1)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 105 ' Filter column "DB".
.IsNumeric = False
.StringValue = "05" 'ovo treba biti izvor neka ?elija; oCellSifraFilijale.string
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
End With

REM Kriterijum: Vrsta Naloga
With oFields(2)
.Connection = com.sun.star.sheet.FilterConnection.AND ' <= ovaj deo koda se zaplavi!!!!!!
.Field = 2 ' Filter column "DB".
.IsNumeric = False
.StringValue = "N" 'ovo treba biti izvor neka ?elija; oCellSifraFilijale.string
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
End With

oFilterDesc.setFilterFields(oFields())
oFilterDesc.ContainsHeader = True
'oFilterDesc.UseRegularExpressions = True
oRange.filter(oFilterDesc)

End Sub


3) Počinjem da razmišljam da li se Pivot table može nekako napraviti na zasebnom listu a da filtrira podatke sa drugog lista? to bi bilo stvarno dobro, barem mislim. Problem je što ne znam kako da se to uradi. Automatski se on postavlja ispod selektovanog opsega. Nije mi poznato kako bi se uz pomoć koda to moglo obaviti. Al možda ne bi ni trebalo.
4) razmišljam i o 4. opciji: da se napiše kod koji bi sprovodio filtriranje tako što bi sakrivao redove koji ne sadrže podatke. Tu nastaje problem kao i kod 1) i 2), a to je kopiratipotrebne podatke samo iz vidljivih ćelija. ali mislim da to možda i ne bilio toliki problem.

Dakle, neke ideje sam izneo, a vi mi pomozite koja bi bila najsvrsishodnija i najlakša za sprovodjenje. Ideje?

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Filter (kod) koji sam u prethodnom postu naveo, problem u vezi njega je rešen, tako da ću se koncentrisati da njega iskoristim.
Što se tiče Pivota, ako neko zna kako da se reši to što sam u prethodnoj poruci naveo, vrlo bi mi značilo u kasnijem radu. Mislim da bi sa tim rešenjem bilo sve još prostije....

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Kada se napravi XML fajl (iz Calca) problem mi prave naša slova č, ć, ž...ne prepoznaje ih program pa mi je ceo XML dokument prazan, sem jedne stavke (brojevi). Kako da se premosti ovaj problem?

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Ne razumem. Kako je XML prazan? Možete li da ga priložite uz poruku?
Poseti veb stranicu korisnika
Citiraj ovu poruku u odgovoru

Zbog probe ispunio sam samo nekoliko polja (šifra, naziv, adresa i telefon) i to sam izvezao u XML fajl a ostala su prazna, što se u fajlu i vidi, ali nije greška. U JKK fajlu videćete umesto slova ć znak "?", a u fajlu JK sam umesto velikog slova Z stavio Ž, kod <Naziv> pa je od celog fajla ostalo samo to što se vidi.
KOristim Apache Openoffice za USA, a kod local seting sam stavio srpski, latinicu. Ne znam da li ovo ima veze, ali kada selektujem kolonu iz koje se izvoze podaci u XML fajl i odem na Data/Text to Columns, prozor koji se otvori mi pokazuje da se koristi Unicod za karaktere, a meni izgleda treba UTF-8. Da nije tu izvor problema?


Uf, ne mogu da XML datoteke prikačim jer mi izlazi poruka da je to nedozvoljena datoteka. Evo kopije onog šta se vidi kada se fajl otvori uz pomoć Internet Explorer-a. Fajl JKK:

<?xml version="1.0" encoding="UTF-8"?>
-<FakturaZaNaloge xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<Info> <Sifra>55156611</Sifra>
<Naziv>SZTR Optika Stevanovi?</Naziv>
<Adresa>Zelezni?ka 16, Odzaci</Adresa>
<Telefon>025542221</Telefon>
<BrZR/> <PIB/> <= ovde nisam ni stavljao podatke, kao i u polje ispod, tako da to ne uzimam kao grešku
<XMLverzija/> (....)



Fajl JK:

55156611 SZTR Optika Stevanovi?


Kod poslednjeg (JK) faja nema čak ni tagova, nikakvih naznaka da tu još ima i nekih drugih polja, samo ovaj jedan red se vidi. Ako je potrebno da vam šaljem baš XML fajlove onda mi prosledite vaš mejl.

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Videti u fajlovima <Naziv> i <Adresa>, da lakše uočite problem.
Evo linkova do XML fajlova:
XML fajl bez naših lokalnih slova ć,č,ž
https://www.dropbox.com/s/watbfxoqo3i79fp/XMLbez.xml
isti takav fajl sa tim slovima
https://www.dropbox.com/s/zsmew2q7gyx57iz/XMLsa.xml

Šta dalje? Kako da se prevaziđe ovaj problem, da se naša karatkeristična slova prepoznaju?

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru

Rešeno:
http://forum.openoffice.org/en/forum/vie...20&t=58328

Apache OpenOffice 4.0.1 Win
Citiraj ovu poruku u odgovoru
Odgovori 




Kontakt | otvorenidokument.com | Povratak na vrh | Povratak na sadržaj | RSS