Davčne blagajne

November 9th, 2015

V januarju 2016 bo v Sloveniji obvezna uporaba davčnih blagajn za vse gotovinska plačila. Na spletni strani FURS-a si lahko preberete vse tehnične specifikacije potrebne za davčno potrjevanje računov.

Kako poteka davčno potrjevanje računov

V osnovi je to zelo preprost in uporaben sistem. Pred izpisom (izdajo računa) se morate namreč povezati na strežnik davčne uprave in nanj prenesti podatke o računu, FURS pa vam vrne edinstveno številko EOR (Edinstvena Oznaka Računa), ki jo morate izpisati na računu in s katero dokazujete, da ste račun tudi zares poslali na FURS.

Ozadje

Seveda pa se podrobnosti vedno skrivajo v ozadju in povezava na FURS niti ni tako trivialno preprosta oz. povezava je preprosta, saj gre za standarden internetni protokol, vendar pa je tja potrebno poslati digitalno podpisan račun in tukaj se stvari malce zapletejo.

Zastonj rešitev na dlani

Da bi se ne bilo potrebno vsakumur ukvarjati s:

  • podrobnostmi digitalnega podpisa,
  • podrobnostmi izračuna zaščitne številke (ZOI)
  • podrobnostmi izrisa QR kode

sem na GITHub-u odprl rešitev, ki je vsakomur na voljo povsem brezplačno. Za uporabo rešitve potrebujete le računalnik z operacijskim sistemom Windows. Ker je v SLO še kar nekaj blagajn, ki tečejo na operacijskem sistemu Windows XP, je podprt tudi slednji.

Minimalne zahteve za uporabo te povsem zastonj rešitve je:

  1. Win XP, SP 3, .NET 4.0 – ali seveda katerikoli novejši WIN sistem
  2. Uporaba .NET razvojnega okolja (C#, VB.NET ali pa tudi kakšnega bolj eksotičnega, a teh verjetno ni veliko 🙂 )
Izgled testnega programa

Izgled testnega programa

Kaj pa če ne uporabljate .NET razvojnega okolja

V tem primeru pa seveda ponujene knjižnice ne morete neposredno izkoristiti, a dokler vaš program teče v WIN okolju je problem rešen. Ponudim vam lahko namreč sledeč možnosti povezave:

  1. EXE program, ki ga pokličete iz vašega programa in slednji
    • Pregleda račun ali slednji vsebuje vse zahtevane elemente
    • Izračuna zaščitno kodo (ZOI)
    • Obda račun z zahtevano ovojnico
    • Ga digitalno podpiše in pošlje na FURS
    • Od FURS-a sprejme odgovor in ga posreduje v vaš program
    • Podroben opis EXE programa najdete tukaj.
  2. WIN service, ki nadzoruje dve poljubni mapi in čim vi odložite podatke o računu v prvo mapo, jih program vzame, obdela, pošlje na FURS (enako kot v primeru EXE programa) in rezultat izpiše v izhodno mapo
  3. V kolikor želite uporabiti knjižnico sami in elemente zvezati neposredno v vaš program, vam lahko ponudim ActiveX komponento, ki naredi vse našteto
  4. Če imate zares veliko blagajn pa lahko vse skupaj zavrtite na nekem strežniku in ponudim vam lahko ASP.NET spletne storitve ki izvedejo vse omenjeno.

V kolikor torej potrebujete rešitev pišite na info@matjazev.net in rešitev boste dobili na dlani 😉

XAML DataGrid using one DataTable as lookup

Februar 26th, 2015

Problem:

I have a DataTable with lookup column into another table. Another table is a small table so all the records can fit in small combobox and the user wants to be able to select lookup record with combobox.

Solution:

XAML has DataGridComboBoxColumn, but it is difficult to bind, because DataGridComboBoxColumn can’’t bind to Windows binding source. It is obviously quite know problem, but I could’n’t find an easy solution.

Test tables:

MAIN_TABLE 
{ 
  ID, 
  SubTableID, 
  ... other fields ...
}

SUB_TABLE 
{ 
  ID, 
  Description 
}

Naive

Naive solution, that doesn’’t work

<DataGrid ItemsSource="{Binding mainTable}">
  <DataGrid.Columns>
    <DataGridTextColumn Header="ID" 
                        Binding="{Binding ID}" />
    <DataGridTextColumn Header="SubID" 
                        Binding="{Binding SubTableID }" />
    <DataGridComboBoxColumn Header="Desc" 
                            ItemsSource="{Binding subTable}}" <!-- can't bind! -->
                            SelectedValueBinding="{Binding SubTableID}"
                            SelectedValuePath="ID" 
                            DisplayMemberPath="Description" />
  </DataGrid.Columns>            
</DataGrid>

The solution doesn’’t work because – for some reason– DataGridComboBoxColumn can’’t bind subTable even if it is defined exactly as mainTable in datasource for the whole xaml window.

Solution

The solution is quite easy. Create a resource that binds to sub table and then use that resurce sa data source 🙂


<DataGrid ItemsSource="{Binding mainTable}">
  <DataGrid.Resources>
    <CollectionViewSource x:Key="cvsSubTable" 
                          Source="{Binding subTable }"/> <!-- can bind! -->
  </DataGrid.Resources>
  <DataGrid.Columns>
    <DataGridTextColumn Header="ID" 
                        Binding="{Binding ID}" />
    <DataGridTextColumn Header="SubID" 
                        Binding="{Binding SubTableID }" />
    <DataGridComboBoxColumn Header="Desc" 
                            ItemsSource="{Binding Source={StaticResource cvsSubTable }}"  <!-- now it is ok! --> 
                            SelectedValueBinding="{Binding SubTableID}"
                            SelectedValuePath="ID" 
                            DisplayMemberPath="Description" />
  </DataGrid.Columns>            
</DataGrid>         

Lost 4 hours on that! Grrrr..

Lepljenje podatkov v že oblikovane celice

December 4th, 2014

Danes sem na spletišču Slo-tech zasledil vprašanje, ki je kar pogosto, pa se ga dosedaj še nisem dotaknil.

Vprašanje je, kako vnaprej formirati številke da imajo v celici nek predpisan izgled. Primer je npr. telefonska številka, za katero večinoma želimo, da je prikazana v obliki (031) 668 532, čeravno je sama številka pač 031668532.

Oblikovanje takšnega izgleda je trivialno in ga bralci mojega bloga že poznateVendar pa se pojavi problem, ko v tako oblikovano celico prekopirate podatek iz druge celice.

Kopiranje

Po privzetem Excel vedno kopira tako vsebino, kot obliko celice in v našem primeru pač prekopira tudi obliko izvorne celice in zato se oblika v celici poruši.

Moj odgovor na tovrstne zagate je vedno, da vsebino vnašajte na enem mestu, končno (pravo, lepo) obliko pa prikazujte v drugih celicah, ki se na prve samo skljucujejo. S tem lepo ločite vnos in prikaz.

Seveda pa to ne gre vedno in mnogokrat preprost želite vnašati v celice, ki jih navkljub vsemu želite imeti drugače oblikovane. V tem primeru imate dve možnosti:

  1. Vedno pazite da izberete opcijo ‘Prilepi vrednosti’ in v tem primeru pač ne morete uporabiti bljižnice CTRL+V
  2. Na bljižnico CTRL+V postavite makro, ki izvede lepljenje po vrednosti. V tem primeru je problem, ker morate makro vedno priložiti in tudi oseba, ki uporablja takšen zvezek mora dovoliti izvajanje makrov.

Makro za lepljenje vrednosti

Makro za lepljenje samo vrednosti je zelo preprost:

Sub PrilepiSamoVrednosti()
 Selection.PasteSpecial Paste:=xlPasteValues, _
                        Operation:=xlNone, _
                        SkipBlanks:=False, _
                        Transpose:=False
End Sub

Vse kar je potrebno še storiti je, da temu makru določite bljižnico CTRL+V in vedno kadar boste uporabili CTRL+V (lepljenje) bo Excel poklical ta makro in prilepil samo vrednosti, ne pa tudi oblike.

Določanje bljižnice makra:

  1. Pritisnite ALT+F8 – odpre se seznam vseh markov
  2. V seznamu izberite makro ‘ PrilepiSamoVrednosti’ in pritisnite gumb Možnosti
  3. V kvadratek ob ‘CTRL+’ vpišite V

To je to.

Gmail koledar zna pošiljati SMS-e

Oktober 7th, 2014

Danes me je opomnik koledarja spet zmotil. Seveda sem ga prekinil in potem pa nanj pozabil. Malce sem razmišljal, da bi mi zelo ustrezalo, če bi namesto klasičnega opomnika dobil raje SMS.

Ne bodi len! Seveda sem se takoj zagnal na internet in pogledal, katera aplikacija mi zna za opomnik poslati SMS. Malce iščem med aplikacijami in njihovimi cenami/zmožnostmi… nakar opazim omembo Google koledarja 🙂

In res! Google koledar lahko – med vsemi ostalimi možnostmi – kot opomnik pošlje tudi SMS in to seveda zastonj.

Kako vključiti SMS pošiljanje opomnikov?

  1. Zaženete aplikacijo Google koledar in v gornjem desnem kotu Nastavitve.
    gmail_sms1
  2. Med nastavitvami koledarja boste našli tudi ‘Mobilne nastavitve’
    gmail_sms2
  3. Tu izberete državo in vpišete vašo telefonsko številko ter zahtevate varnostno kodo
    gmail_sms3
  4. Google vam po SMS-u pošlje varnostno kodo, ki jo vpišete v spodnje polje in to je to.
  5. Sedaj lahko kot opomnike uporabljate tudi SMS-e
    gmail_sms4

Skupinsko delo ali pomoč na daljavo

September 1st, 2014

Po daljši odsotnosti, vam bom v današnjem prispevku predstavil dve zelo uporabni spletni storitvi, ki vam lahko pomagata pri skupinskem delu in/ali delu na daljavo.

Osebno obe orodji uporabljam, kadar pomagam uporabnikom na daljavo oz. kadar se pogovarjamo po telefonu pa je potrebno zraven še kaj narisati in/ali napisati.

Skupinsko pisanje – MoPad

V kolikor se znajdete v situaciji, ko je potrebno nekaj zapisati, uporabniki pa so raztreseni po pisarnah ali celo mestih (državah 😉 ) lahko uporabite orodje MoPad (https://etherpad.mozilla.org/)

Uporaba orodja (spletne strani) je skrajno preprosta. Ko pridete na omenjeno spletno stran imate na izbiro dva gumba. Z enim odprete javno beležko z drugim pa lahko stvari še malce bolj omejite oz. ustvarite delovno skupino.

Ko torej odprete novo beležko, s tem dobite edinstven spletni naslov (URL), ki seveda vsebuje osnovno ime spletne strani, ter avtomatično generirano ime vaše beležke (npr: https://etherpad.mozilla.org/bxYEgcJ3RU)

Vse kar morate narediti je da uporabnikom oz. sodelavcem posredujete omenjen spletni naslov in vsi bodo takoj videli vašo beležko in lahko pisali vanjo.

skupinsko_delo_1

Kot lahko hitro vidite je zaslon razdeljen na 4 dele:

  1. Zgoraj imate orodja za preprosto urejanje besedila
  2. Večji del zaseda beležka, kamor lahko pišete
  3. Desno zgoraj lahko vsak uporabnik zapiše svoje ime in s tem dobi svojo barvo
  4. Desno spodaj pa lahko uporabniki tudi govorite »chatate«, ne da bi pri tem pokvarili besedilo v beležki

Skupinsko risanje – WhiteBoard Fox

Arhitekturno enakovredno orodje za risanje pa se imenuje WhiteBoardFox in domuje na naslovu (http://whiteboardfox.com/). Ideja je povsem enakovredna že predstavljeni, le da v tem primeru uporabniki ne vpisujemo teksta (no seveda ga tuli lahko), temveč skupaj rišemo.

Tudi uporaba je enakovredna. Odprete novo risalno ploščo (delavno tablo) in njen naslov posredujete ostalim. S tem se lahko tudi ostali pridružijo skupini in skupaj ustvarite skico.

skupinsko_delo_2

In še najlepše…

Ker vse deluje v spletnem brskalniku lahko orodji uporabljate tako na računalniku, kot tablicah, telefonih in ostalih napravah, ki so povezane v splet in imajo spletne brskalnike.

PROSIM pomagajte,

Junij 4th, 2014

Današnja tematika resnično nima popolnoma nobene zveze z računalništvom, saj gre za nekaj čisto drugega. Danes bi vas prosil za konkretno pomoč ljudem v stiski.

Ob poplavah v Srbiji, Bosni in na Hrvaškem smo pokazali, da znamo pomagati. Tudi v Celju smo in še zbiramo prispevke (https://twitter.com/MPrtenja/status/468287544015482880)  za pomoč vsem ljudem v stiski, a tako kot se počasi umikajo vode, se tudi novice umikajo iz glavnih strani spleta.

V dnevih poplave sva se z ženo povezala z dolgoletno prijateljico Marto Razboršek, ki jo verjetno poznate tudi z malih zaslonov, saj deluje kot novinarka na področju bivše Jugoslavije, predvsem Srbije. Prosila sva jo za naslov konkretnih ljudi, ki bi potrebovali pomoč, saj tako pomoč zares pride v prave roke.

Marta se je javila in poslala sledečo zgodbo:


marta

Lep pozdrav,

pozivam vse, ki ste pripravljeni individualno pomagati družini, ki je izgubila v nedavnih poplavah vse, da se odzovete.

Petčlanska družina Crnogorac iz Belega Polja v Obrenovcu je bila poplavljena med prvimi, voda pa se je prav v tem naselju zadržala do danes, kar pomeni, da je njihova hiša uničena do temeljev. 

Zatočišče so zato našli med prvimi, v hotelu Slavija, od koder so jih z ostalimi brezdomci pred tednom dni preselili v barakarsko naselje Krnjača v bližini Pančeva, kjer so razmere skorajda nevzdržne. Naselje je bilo namreč leta zatočišče za interno razseljene osebe s Kosova, oblastem pa vmesno čiščenje in obnova zarjavelih sanitarij ni uspela. 

V tem naselju so ob selitvi iz Slavije dejansko ostali zgolj tisti, ki nimajo več kam, pa tudi ne dovolj sredstev, da bi si poiskali bivališče. Toplih obrokov ne dobivajo več, tako, da je tudi v tem smislu življenje tam izjemno težko.

Družino sem po naključju spoznala med snemanjem kuharja Van Veena v hotelu Slavija in z njo ostala v stiku. Radenka in mož imata tri otroke, dečka starega pet let in pol, hčerko staro osem let in sina, starega devet let in pol. Vse kar imajo, je nekaj vrečk obleke in obutve, ki so jo dobili od Rdečega križa.

Radenka

Radenka je bila že begunka – iz Bosne in Hercegovine, zato je enkrat že ostala brez vsega. Tudi tokrat je povratek nemogoč. 

Zato vas v svojem imenu in v imenu družine vljudno prosim, če ste pripravljeni kar koli individualno finančno prispevati, da to storite na Radenkin devizni račun, za katerega je na moj predlog pridobila tudi swift kodo.


RADENKA CRNOGORAC

Belopoljska 59 G
11500 Obrenovac
Srbija

Swift je RZBSRSBG
Številka računa je: RS35 2650 2200 0005 561 469



Pomoč bo vsaj v začetni fazi družini pomagala vsaj, da najame manjše stanovanje in da lahko začne vsaj minimalno dostojno življenje.

Hvala,

Marta Razboršek

V kolikor lahko, vas tudi jaz osebo prosim za pomoč družini in vam zagotavljam da bo pomoč zares prišla tja.

V življenju prej ali slej pridemo do točke, ko ugotovimo, da ni pomembno s kako velikim avtomobilom se vozimo in v kako veliki hiši živimo, temveč samo koliko ljudi smo se z našim življenjem dotaknili. Samo s tem dobi naše življenje globji smisel in pomen.

Hvala!

PS: Omenjena banka na žalost ni v SEPA območju zato plačilo ni tako trivialno kot sicer. Prosim ne obupajte.

Hitrost računalnika in “virtualne živalice”

Maj 17th, 2014

Današnji prispevek nima hude uporabne vrednosti, ponuja pa zanimiv pogled na moč današnjih računalnikov.

V zadnji številki reviji ŽIT (Življenje in tehnika) je tudi članek o evolucijskih algoritmih. Ker se s to vedo računalništva nisem ukvarjal vse od programiranja prvih preprostih programov in posledično tki. ‘Igre življenja’, sem članek z veseljem prebral.

Čisto tako vmes: ‘Igra življenja’ je zelo preprost računalniški algoritem, kjer je svet predstavljen kot 2D mreža. V vsakem polju na mreži lahko »živi« organizem. V kolikor je ob njem še en organizem, potem naslednjo generacijo preživita oba in mogoče ustvarita novega potomca, če ob njem ni nobenega organizma potem pogine zaradi osamljenosti, če je ob njem preveč organizmov pogine zaradi prenaseljenosti… V glavnem, kot programer imate na voljo različne pogoje in s tem nadzorujete kako »vaš svet« živi.

Če se torej povrnem k tematiki. Ko sem prebral članek, ki je sicer resnici na ljubo čisto prekratek in ne pove kaj veliko, me je prešinilo vprašanje: “Kako hitro pa lahko kaj dandanes simuliramo življenje v računalniku?”.

V svetu evolucije ima mati narava pač na voljo generacije živih biti, da se »izživlja« nad njimi in nad nekaterimi lahko to hitro počne (recimo vinske mušice imajo zelo kratko življenjsko dobo in zato lahko ima vsak dan novo generacijo). Po drugi strani pa ljudje potrebujemo kar 20 let za novo generacijo (no dandanes se to pomika proti 30 let). Kako hitro pa lahko dandanašnji računalnik torej simulira življenje oz. posamezne generacije?

Seveda je to čisto presplošno vprašanje in odgovora nanj niti ne gre iskati, saj je predvsem pomembno koliko dela mora opraviti nek algoritem da ustvari novo generacijo. To vprašanje je torej presplošno, je pa zanimivo kako hitri pa so današnji računalniki v primerjavi z nečim, kar je nam blizu oz. s čimer se lahko poistovetimo.

V našem svetu je nekako 1 sekunda minimalni čas neke akcije. Predpostavimo torej da sestavljamo kocke in vsako sekundo smo sposobni zložiti dve kocki. Sedaj pa si predstavljajo računalnik, ki ravno tako opravlja neke naloge in v neki enoti je sposoben opraviti minimalno delo. Kakšna je torej tista minimalna enota v kateri je računalnik sposoben opraviti neko delo?

V računalniku je glavno božanstvo »ura«, ki udarja in vsak udarec ure (CPU cikel), računalnik izvede eno operacijo. (Seveda to spet ni čisto res, saj je dandanašnji računalnik sposoben v enem ciklu narediti celo več kot 1 operacijo a pustimo takšne »malenkosti« in se osredotočimo na zanimivosti). Hitrost računalnika pa merimo ravno v hitrosti njegove ure in hitrejša kot je ura hitrejši je računalnik (spet ne bodimo dlakocepski!).

No in sedaj si končno poglejmo kako hitro tiktaka nek čisto povprečen računalnik. V času pisanja tega prispevka lahko za 200EUR kupimo namizni računalnik, ki tiktaka s hitrostjo 3,6GH. Torej 3,g »gigahercov« ali 3.600.000.000 cikov na sekundo! Računalnik za 200EUR torej v eni sekundi opravi vsaj 3600 milijonov operacij.

Seveda pa računalnik ne more oz. vsaj ni smiselno da dela kar nekaj brezveze zato mora navodila, kaj naj počne, dobivati iz svoje okolice. Predstavljamo si, da je računalnik človek, ki sedi za mizo in opravlja pisarniško delo, ki je zapisano na listih, listi pa se nahajajo na njegovi mizi, v predalih mize, v omarah v sobi, v drugih sobah, v drugih hišah, v drugih mestih…. Na drugih planetih.

Računalniku najbližje so njegovi registri, ki jih ni ravno veliko (nekaj 10) in od njih dobi nov list v enem samem ciklu – to je torej enakovredno listu na mizi. Naslednje področje, ki mu lahko dostavi list je tki. L1 predpomnilnik. Do njega potrebuje 4 cikle in to bi predstavljalo predal ob mizi. Potem je L2 predpomnilnik do katerega potrebuje 10 ciklov, pa L3 predpomnilnik, do katerega potrebuje 70 ciklov in šele potem pride tisto, ker vsi poznate – to je glavni pomnilnik računalnika (famozni RAM) in za dostop do njega potrebuje računalnik nekaj 100 ciklov.

Da bi se ni izgubljali v besedilu si poglejmo kar tabelo z dostopi. Seveda so vsi podatki v tabeli približni (za vse »ne-fizike« še hitra ponovitev časovnih enot: 1s = 1.000 ms (milisekund) == 1.000.000 mikrosekund = 1.000.000.000 ns (nanosekund))

Dostop Št. cikov Porabljen čas
Register 1 0,3ns
L1 predpom. 4 1,2ns
L2 predpom. 10 3ns
L3 predpom. 70 21ns
RAM 400 120ns
SSD disk 400.000 120.000ns
»navaden« disk 15.000.000 4,5ms

Ok. S to tabelo smo izčrpali vse, ki računalniku lahko dajejo ukaze in se nahajajo v njegovi škatli. Ob tem pa smo uvideli tudi, da je razmišljanje v ciklih utrujajoče, zato se preusmerimo samo na čas in si poglejmo dostop do drugih računalnikov in interneta

Dostop Porabljen čas
Register 0,3ns
L1 predpom. 1,2ns
L2 predpom. 3ns
L3 predpom. 21ns
RAM 120ns
SSD disk 120.000ns
»navaden« disk 4,5ms
mrežni disk 10ms
Strežnik SIOL 20ms
Strežnik v Ameriki 200ms

In sedaj je čas, da vam predstavim glavno tabelo, ki me je tudi vodila v zapis tega prispevka. Povrnimo se torej na analogijo živih bitij, ki bi živela virtualno življenje v vašem računalniku. In privzamimo, da je en cikel v računalniku pač 1 sekunda njihovega življenja.

Dostop Računalnik Virtualno bitje
Register 0,3ns 1s
L1 predpom. 1,2ns 4s
L2 predpom. 3ns 10s
L3 predpom. 21ns 1min
RAM 120ns 7min
SSD disk 120.000ns 4,5dni
»navaden« disk 4,5ms 173dni
Mrežni disk 10ms 1 leto
Strežnik SIOL 20ms 2leti
Strežnik v Ameriki 200ms 20let

Naše virtualno bitjece mora torej kar 20let čakati, da dobi podatek iz strežnika v Ameriki 🙂

Kaj sem vam sploh želel prikazati s to analogijo? Ne vem sicer ali mi je uspelo, a želel sem vam prikazati, kako smo ljudje povsem nesposobni dojemati razmerje količin kadar so slednje nepredstavljivo majhne ali nepredstavljivo velike. S stališča računalnika je dostop do registra in dostop do strežnika v Ameriki sorazmerno kot 1 sekundna proti 20 letom!

Virtualna bitja torej živijo zelooo hitro. Mogoče še ena zelo zanimiva primerjava.

Moj delovni računalnik se prestarta v 15 sekundah. Če torej virtualno bitje, ki živi v mojem računalniku in katerega ena sekunda življenja predstavlja 1 cikel mojega računalnika (ki je mimogrede, samohvala!, še hitrejši od prej predstavljenega) uspavamo, ko se računalnik ugasne; koliko čase preteče, ko se računalnik spet zbudi?

Analogija je torej sledeča. Ko se računalnik ugasne se podatki o virtualnih bitjih shranijo na disk in ko se računalnik prižge, se podatki o virtualnih bitjih zopet preberejo ter bitja zopet oživijo. Kot, da bi nas uspavali in potem bi z vesoljsko ladjo potovali daleč vstran, nakar bi nas zopet prebudili. Kot rečeno, traja zagon mojega računalnika 15 sekund, kar je torej 15.000.000.000 ns oz. 45.000.000.000 sekund v življenju virtualnega bitja oz. 1400 let!

Za virtualna bitja mojega računalnika traja torej ponovni zagon računalnika 1400 let. Zanimivo!

Spet DropBox

Maj 7th, 2014

Že skoraj tri leta je minilo odkar sem opisal, tedaj še ne tako zelo znano, spletno storitev Dropbox. Ker je prispevek še vedno popularen (glede na statistko obiska) vam bom danes pokazal še kako iz, že teko zelo dobre storitve, mogoče iztisniti še več.

Ko si torej začnete uporabljati DropBox, slej ali prej želite kakšno sliko, datoteko, film… deliti tudi s kom drugim. Tedaj v DropBox-u izberete opcijo ‘Copy public link’ in storitev vam pove preko katere javne povezave bodo lahko tudi drugi uporabniki prišli do vaše datoteke.

V mojem primeru sem na splet dal sliko konja in v kolikor zahtevam povezavo, mi DropBox vrne tole: https://www.dropbox.com/s/oxg08i5gz04wnxp/horse.jpg?dl=0. Kot vidite je to navadna spletna povezava in če kliknete nanjo boste v brkljalnik naložili sliko konja.

Obstaja pa še ena opcija in sicer, da na konec povezave dodate ?dl=1, v tem primeru brkljalnik ne bo poskušal odpreti datoteke, temveč jo bo uporabniku vedno kar naložil (“dovnlovdal”; kot temu pravimo dandanes)

https://www.dropbox.com/s/oxg08i5gz04wnxp/horse.jpg?dl=1

 

Avtomatično številčenje v Word-u (III. del)

April 8th, 2014

V prvem in drugem delu sem pokazal kako v Wordu deluje avtomatično številčenje, v zadnjem blogu te serije, pa bom pokazal kako številčiti poljubne elemente in seveda kako v Word-u številčiti slike kot 10a, 10b.

Poljubno številčenje

Za uporabo avtomatičnega številčenja nam ni potrebno poseči po bolj ali manj skritih oknih Worda, temveč lahko polje preprosto vstavimo sami. Ko želimo nek element oštevilčiti se postavimo na trak Vstavljanje in iz opcije Hitri deli izberemo Polje…

Odpre so novo okno za vstavljanje polj:word_stevilcenje6
V oknu poiščemo polje SEQ, mu zgoraj dodamo poljubno oznako (npr. člen) in že imamo novo avtomatično številčenje. V tem primeru bi torej lahko avtomatično številčili člene v nekem pravnem dokumentu.

Obstaja pa še hitrejše vrivanje formul in to preprosto tako, da pritisnete kombinacijo CTRL + F9 in formulo vpišete.

Številčenje slik kot 10a, 10b

Pri vprašanju številčenja slik s pod-zaporedjem a, b, c moramo torej najprej rešiti problem trenutne prekinitve številčenja. Ko Word naleti na sliko, ki naj bi jo številčil s številko 11, mu moramo to prepovedati.

To lahko dosežemo z uporabo stikal polj (parametrov polj). Vsako polje v Wordu lahko namreč ima eno ali več stikal, ki natančneje določajo obnašanje polja. Polje SEQ tako recimo pozna stikala \c, \h, \n, \r in \s.

Stikalo, ki zanima nas je \c saj je to stikalo, ko Wordu zaukaže naj v tem primeru ne išče naslednje številke, temveč naj vzame trenutno številko:

Polje Rezultat
Slika { SEQ Slika }…. Slika 1….
Slika { SEQ Slika }…. Slika 2….
Preglednica { SEQ Preglednica }…. Preglednica 1….
Slika { SEQ Slika \c }A…. Pazi! Slika 2A….
Preglednica { SEQ Preglednica }…. Preglednica 2….
Graf { SEQ Graf }…. Graf 1….
Slika { SEQ Slika \c }B….  Pazi Slika 2B….
Graf { SEQ Graf \c }A….  Pazi! Graf 1A….
Preglednica { SEQ Preglednica }…. Preglednica 2….

Z uporabo tega stikala lahko torej prvič sliko normalno številčimo in ji dodamo črko a:

Slika { SEQ Slika }a: Pregled v januarju

Naslednjič pa uporabimo stikalo \c in dodamo črko b:

Slika { SEQ Slika }b: Pregled v februarju

Ter s tem dobimo iskani rezultat! 😉

Avtomatično številčenje v Word-u (II. del)

April 8th, 2014

V prejšnjem delu smo si ogledali kako avtomatično številčiti slike v Word-u. Odprti pa sta ostali vprašanji:

  1. Kje so tu kakšna polja?
  2. Kako to sploh deluje?

Kje so tu kakšna polja?

Ko v dokument vstavimo nov napis nam Word pravzaprav vrine polje, kar je lepo in hitro vidno, če mu zaukažemo, naj nam polja prikaže.

Word seveda polja skriva in prikazuje njihov rezultat, saj je to tisto kar nas kot uporabnike zanima!

Polja razkrijete preprosto tako, da pritisnete kombinacijo ALT + F9. Z omenjeno kombinacijo polja izmenično prikazujete ~ skrivate. Če imate torej v dokumentu podnaslovljeno sliko, to izgleda takole:

word_stevilcenje3
Ko polja prikažete pa takole:

 

word_stevilcenje4S tem sem torej razložil od kot se pojavijo polja oz. zakaj takšna polja sploh osvežujemo.

Kako to sploh deluje?

Kot vidite zgoraj, Word v dokument vriva polje SEQ. Besedica SEQ izhaja oz angleščine oz. besedice sequence oz. zaporedje, kot to imenujemo na sončni strani Alp.

V kolikor bi v dokument vstavili tudi avtomatično osveževanje tabel in gantogramov, bi se nam po dokumentu pojavile sledeča polja:

 

word_stevilcenje5

Iz tega je lepo razvidno kako Word-u uspe elemente avtomatično številčiti. Vsakič ko naleti na polje SEQ pogleda napis, ki ji sledi in ta napis privzame kot element številčenja. Ko prvič naleti na nek dokument mu postavi vrednost 1, naslednjič 2, potem 3…

Postopek je torej sledeč:

Polje Rezultat
Slika { SEQ Slika }…. Slika 1….
Slika { SEQ Slika }…. Slika 2….
Preglednica { SEQ Preglednica }…. Preglednica 1….
Slika { SEQ Slika }…. Slika 3….
Preglednica { SEQ Preglednica }…. Preglednica 2….
Graf { SEQ Graf }…. Graf 1….
Slika { SEQ Slika }…. Slika 4….
Graf { SEQ Graf }…. Graf 2….
Preglednica { SEQ Preglednica }…. Preglednica 2….

 

Naslednjič pa bom odgovoril na originalno vprašanje uporabnice foruma ‘Kako doseči, da Word številči slike kot 10a in 10b‘.