Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 18. 4. 2020 01:30:47

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Makro a formulář

Dobrý den,
potřeboval bych radu jak na makro v LO

Mam formulářový prvek seznam, ve kterém je 12 měsícu s propojenou buňkou AG3.

Jde mi o to, docílit toho, aby se mi při výběru měsíce spustilo makro které podle měsíce v
buňce AG3 zkopíruje obsah buňek z listu 1, např.A4:AF10 do listu 2 na pozici A4:AF10 např. pro leden, pro únor z listu 1 A14:AF20, do listu 2 A4:AF10 atd....

Použití funkce if a eleseif nejspíše, ale zda načítat hodnoty z buňky AG3 nebo přímo z form. prvku...
V tomhle plavu smile

Za radu děkuji, případně mohu zaslat soubor... v LO začínám, dotěď jsem využíval excel

Offline

#2 18. 4. 2020 06:15:33

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Jde spíš o ten vzor. Formulářový prvek seznam umí spouštět kliknutím makro - tady zřejmě máte jasno a my (já) také. Důležité je odkud a kam (popřípadě jak) kopírovat.


     Problém může být s tím, že bude požadavek na opakované načtení. Pak se musí nejprve původní obsah smazat (pokud nejsou rozsahy stejné) a podobně. Takže jde spíš o to dostat přesné informace. Na to je nejlepší ukázka s popisem toho co se má stát.
     Například :
„pro leden v AG3 zkopíruje obsah buněk z listu 1, např.A4:AF10 do listu 2 na pozici A4:AF10"
„pro únor z listu 1 A14:AF20, do listu 2 A4:AF10 atd.."
     Takže v listu 2 se stále přepisuje stejný úsek? .... Jde o detaily, například o to, jak se zjistí správné úseky v listu 1. - Může tam být třeba výstup kontingenční tabulky, jen auto-filtr a podobně také soubor bez jakékoliv filtrace dat. Pak se musí makrem najít hledané, nebo spustit vzorce a podobně. Takže určitě to chce ukázku.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 18. 4. 2020 13:41:30

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

https://uloz.to/file/AI4y79cTrN8J/test-ods

tady je cca ukazka souboru

Offline

#4 18. 4. 2020 14:01:22

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

De facto z listu 1 by se měli kopírovat hodnoty v buňkách podle tabulky měsíců jen z odemčených buňek, do listu 2 do dtále stejné pozice A4:F10.... toto by se mělo dít po zvolení měsíce na listu 2.

Asi by bylo ideální před kopírováním staré hodnoty vymazat?

Akorát právě nevím, jak přiřadit prvku to, že má spustit makro a kopírovat hodnoty dle měsíce, případně zda k tomu využít spojenou buňku ze které by si to načetlo měsíc a makro by se volalo ve funci if a else if smile

Děkuji za radu

Offline

#5 18. 4. 2020 17:24:24

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Vyzkoušejte a písněte jestli to dělá tak jak potřebujete. Nemohl jsem ověřit přes prázdná pole v prvním listu (a simulovat zamčený list se mi nechtělo). Je to zde Verze 1 - test.

     Není bez zajímavosti že toto téma jsem zpracovával pro jeden špitál asi před rokem - ale jen pomocí vzorců. Mělo to sloužit staničním sestrám v nepřetržitém provozu. Původní dotaz (který mne motivoval) pochází z jiného špitálu a je někde na fóru - zadával to nějaký lékař, ale chtěl to jenom pro Apache Open Office a bez maker - jen vzorce. To má výhodu že to chodí jak na MSO, LO ale i na každém standardizovaném tabulkáči.
     Také jsem viděl nedostatky v rámci vzorců. To jsem ale neopravoval. Podmíněné formáty jsou dobře. Takže jste zřejmě stále na začátku možná by se vám to hodilo jako vzor. Mám tam ale ostrá data, takže bych musel přepisovat.

Editoval neutr (18. 4. 2020 17:25:33)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#6 18. 4. 2020 19:04:41

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Děkuji za soubor, dělá to cca jak by mělo, jen tedy nenačte hodnoty z celé tabulky...
Podle mne by se dalo přenášet celé pole, bylo by to asi jednak rychlejší a možná efektivnější pro práci i snadnější zadání v makru.
De facto mi stačí přenést hodnoty z listu 1 do listu 2, ostatní je řešené podmíněným formátem, takže formáty přenášet netřeba.

případně jaké nedokonalosti ve vzorcích, nechám si rád poradit, je to spíše pro nás do práce takové ulehčení, ale nebaví mne stále přepisovat a ručně počítat výkazy smile takže jakákoliv pomoc je vítána.

Vzor by byl určitě zajímavý, také jsem původně přamýšlel na vzorci ale nějak jsem nevěděl jak na to....

Děkuji

Offline

#7 18. 4. 2020 19:50:25

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Je to tady : Verze 2 - test


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 18. 4. 2020 20:04:19

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Super, děkuji moc za pomoc.
Alespoň mám cca nějaký mustr jak na co.. . Abych se přiznal makra v LO jsou pro mne trošičku stále záhadou,
přece jen VBA používá jiné příkazy .

jinak ohledně vzorců, jak jste vzpomínal, něco na co si dát pozor případně upravit?

jinak děkuji ještě jednou za pomoc.

Offline

#9 19. 4. 2020 23:07:59

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Našel jsem nějaký čas tak jsem něco udělal. Není to ani zdaleka dobré, ale něco tam určitě najdete. Je to upraveno jen na vzorce, ale bohu žel zase nelze ostře testovat, takže snad jsem se trefil poslepu s tím OFFSETem. Kdyby to nemakalo, tak je tam ještě manuálně udělaná tabulka + tabulka se vzorci, aby se dalo libovolně testovat a vrátit jakýkoliv stav. Jak to udělat je popsáno nad tabulkami.


     Verze je tady Verte3 - test


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#10 20. 4. 2020 22:40:21

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Děkuji, juknu na to a uvidíme , alespoň něco okoukám smile

Offline

#11 25. 4. 2020 15:41:02

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Děkuji ještě jednou se zpoždením, byl jsem malinko zavalen jinou prací smile
Funkce OFFset je velice zajímavá, možná pro můj účel i lepší, spíše mám potíž jak aktivovat vzorce v tabulce smile
A ještě mám jeden dotaz či spíše prosbu... Vytvořil jsem tlačítko, které mi po zadání údajů atd vytvoří kopii listu se jménem měsíc/rok.. toto mi funguje, ale v případě že list již existuje potřeboval bych aby mi ho znovu nevytvářel, tady někde plavu. Sice mam definované msg okno se zprávou že chyba, list existuje ale stejně mi jej přepíše, takže jsem malinko bezradny smile použil jsem makro jednoho z vás zde a malinko jej upravil alespoň co jsem si troufl. klidně zase pošlu nějaký mustr na kouknutí.

Děkuji za radu

Offline

#12 25. 4. 2020 17:08:45

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Nevím jak to děláte, ale vy tam máte tuším 7 jmen. Takže jde asi o to, že když ukládáte tak to děláte postupně po jednom jménu? To se dá ošetřit podle jména ukládaného souboru - v případě že základní výstupy na Listu2 dodatečně upravujete. Toto asi není potřeba ale....


     Je potřeba provádět převody z předchozích měsíců. Jde o hodiny které jsou potenciálně nadpracované jako náhradní volno (příplatek za přesčas by se měl vyplácet vždy v tom měsíci kdy byl odpracován). To je komparace hodin původního měsíce a aktuálního měsíce, což se sčítá (nebo vybírá NV) podle aktuálního měsíce do měsíce plánovaného se zavádí jako výchozí hodnota.
     Pokud toto nemáte zahrnuto, respektive zatím neřešíte budete muset řešit dříve či později. Při manuálním přepisu je nutné akceptovat mzdovku, která by to měla potvrzovat - často něco upraví. 

     Takže je potřebný vstup z externího dokumentu. Nevím jek to praktikujete u Vás, ale mzdovka má vždy pravdu takže pokud jste se s nimi nedohodl - raději to hned udělejte. Tedy kdy a v jekém formátu Vám potvrdí hodiny +/-, dovolenou a příplatky, či nějakou důležitou složku mzdy. Teprve z toho se dá vycházet bez dedatečných úprav. Ono vůbec sladit svůj postup se mzdovkou může být horor. Vím že pracovníci často musí podepsat své výkazy a mzdovka to akceptuje, ale nejsou ochotni moc komunikovat pomocí sítě. Chtějí jen kontakt s vedoucím který přinese podepsané listy a víc je nezajímá. Když něco přepíšou, tak se neuráčí Vám (vedoucímu ap.) to oznámit. Pracovník pak má jiné peníze, nežli podepsal...


     Ty vzorce nejsou problém, ale je jich tam dost. Například Váš systém extra hodiny a minuty je logičtejší nežli standard formátovanou buňkou - ale to byl požadavek. Já jsem došel u mne asi k 8-mi kolonkám, které se řešily vzorci - u Vás je to minimum - myslím že i s problémem. Když by přišla kontrola na pracovní dobu, tak tam musí být i čas příchodu a odchodu na oběd, či jiné opuštění pracoviště.

     Postněte vzor a do něj napište poznámky co potřebujete se vzorci. Také uveďte zda by bylo lepší uložit ihned všechny listy pracovníků, nebo jestli chcete ukládat jen po jednom. Kontrolovat duplicitu je ale docela trapné, protože když uložíte všechny pracovníky naráz tak se chybě opakovaného ukládání vyhnete. Pokud byste něco potřeboval opravit (nejspíš u všech, nebo některých pracovníků) - tak se Vám přepis původního listu hodí.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#13 25. 4. 2020 17:26:41

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Se mzdovkou je problém vždy smile
Ale u nás to řešíme tímto výkazem, mzdovka si s tím musí poradit tak aby to sedělo.
Jde pravě o to, buď tedy dělat export do pdf, nebo právě kopie listu za kalendářní měsíc všech pracovníku, tak aby to list zkopírovalo a zaroveň uzamklo, pokud mzdovka bude chtít upravy bude se muset ozvat.  jinak vlastně de facto , na podobném principu bude fungovat i roční kalendář, při přechodu roku musí udělat kopii za aktuální rok, protože jedeme v nonstop provozu a pokud se na konci měsíce slouží noční směna , tak v jednom měsíci bude směna od 19-00, a v dalším musím do tabulky doplnit řádek, kde bude 31 den a v případě noční tam bude od 00-7, to už jsem tak nějak pokoumal. jde mi spíše o ty kopie a případně je uzamknout. Ostatní musím ještě pak pořešit se mzdovkou, i když pauzy na oběd si definují sami v programu co jsme se bavily. Jde jim spíše o přehled hodin, nočních, víkendy a svátky...

Offline

#14 25. 4. 2020 18:36:51

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

tanner5 napsal(a)

...... jde mi spíše o ty kopie a případně je uzamknout. Ostatní musím ještě pak pořešit se mzdovkou, i když pauzy na oběd si definují sami v programu co jsme se bavily. Jde jim spíše o přehled hodin, nočních, víkendy a svátky...

     Není problém ani s PDF, ani s uzamčeným Writerem, popřípadě Writer který obsahuje buď GDI metasoubor, nebo obyčejný rastrový obrázek BMP. Možností je více. Tady je zase otázka která z toho vyplývá - zaměstnanci by mohli změnit obsah protože do něj zapisují? Kam zapisují? Mohou přímo do Calcu s tím že budou uzamčené pod heslem jednotliví pracovníci, nebo dostanou samostatný Calc, a nebo Writer? Pokud by to bylo jen pod intranetem tak není problém s makry která mohou řídit přístupy.
     Nevím jestli podepisují vytištěné kopie - tam potom je otázka zda si tisknou doma, nebo i v práci sami? Nebo to vůbec nepodepisují? Teoreticky by šlo využívat i mobilní telefony s responzivní HTML5 stránkou, ale variant je velmi mnoho - je nutné striktně určit parametry....


     Vím že se dostávám až do detailů které mohou být nepříjemné, respektive neveřejné. Dost často mne tady za to kritizují - ale co, kam a jak je důležité. Já se vyptávám ještě proč - abych dovedl dovodit co je skutečně potřeba. Za to se omlouvám.


     Ráno udělám nějaké příklady exportu. Raději bych ale věděl co přesně mám udělat.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#15 25. 4. 2020 19:32:15

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Výpis směn atd podepisují jednotlivě na tištěných stránkách , které zůstavají založené u nás. toto je de facto soubour pro mzdovku aby měla z čeho vycházet a následně dostavají výplatní pásky proti podpisu, takže s tímto problém není.
Směny jako takové zapisuji já, tím pádem ostatní zaměstnanci do tohoto souboru nemají přístup, pouze před odesláním zkontrolují záznami na 1 listě zda souhlasí s tištěnou předlohou a případné nedostatky oznámí, ty upravím. Kopie přehledů za jednotlivé měsíce chci spíše z praktického důvodu, proto abych v připadě potřeby nemusel exportovat znova starý měsíc, takto bych ho měl uložený. A kopie listu by měla být uzamčena, tak aby do ní nemohla zasahovat právě ani mzdovka, ta by se s případnýmy dotazy obracela na mne či vedoucí, právě kvůli nesrovnalostem atd. Případně mne právě napadl export do pdf, což by možná mohlo být snadnější.
Jinak princip je takový, napíši rozpis směn, zaměstnanci jej případně poupraví dle potřeby, toto přepíši do listu 1, před odesláním souboru s daty pro mzdovku překontrolujeme zda vše souhlasí / výměna směn, volno atd/ , poté načtu data do listu 2, a tento odesílám na mzdovku, ale právě s tím, že by byl bud zamčený nebo vyexportovaný do pdf....

Jinak dotazy v pořádku, ono se těžko radí a pomáhá bez potřebných informací a znalostí daného problému.

jinak děkuji za ochotu

Offline

#16 25. 4. 2020 20:28:18

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

https://uloz.to/file/fufbyxovU305/test-v3-test-ods

tady jen ukázka cca jak je to nyní.... Musím ještě vymyslet tu poslední směnu v měsíci, jak hlídat ale jinak zápis od 00-7 už funguje.

Offline

#17 26. 4. 2020 11:09:16

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Spíš jen na ukázku jedna z možností Verze 4.1


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#18 27. 4. 2020 00:47:38

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Ha , potvora mi nadává makro, akorát tedy teď nevím, zdali kvůli prazdným hodnotám nebo něco jiného. Vytvoří mi to kopie ve writeru,ale bez dat....

Offline

#19 27. 4. 2020 04:43:27

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

tanner5 napsal(a)

Ha , potvora mi nadává makro, akorát tedy teď nevím, zdali kvůli prazdným hodnotám nebo něco jiného. Vytvoří mi to kopie ve writeru,ale bez dat....

     Tuším oč jde. Nyní jsou propojena 3 makra.


1. Makro "Main" obsahuje volání makra "Exportuj" - to je prováděno s parametry.
2. Makro Exportuj vykonává téměř vše až na detail - kopírování dat dělá 3. makro.
3. Makro pouze načte data jednotlivých pracovníků.

Viz komentář :

Sub Main 'Tady se zadávájí individuální pdata listů pracovníků. Podle tohoto můžete některá vyřadit,
'přidat podle svých potřeb - ve sloupci M se čte jméno, ve sloupci N měsíc a rok. Třetím
'parametrem je úsek pro kopírování hodnot makrem "Pokus_0".
Exportuj("M14","N13","$List2.$A$13:$W$55") 
Exportuj("M64","N63","$List2.$A$63:$W$104")
Exportuj("M114","N113","$List2.$A$113:$W$154")
Exportuj("M164","N163","$List2.$A$163:$W$204")
Exportuj("M214","N213","$List2.$A$213:$W$254")
Exportuj("M264","N263","$List2.$A$263:$W$304")
Exportuj("M314","N313","$List2.$A$313:$W$354")
End sub

Sub Exportuj(Byval sval1, sval2, sVall as string)
Dim oSheet
'-----------------------Postavíme URL složky + podsložku (Práce z datum) kde je uložen tento sešit
sVal = ConvertFromUrl(ThisComponent.URL)
For i = Len(sval) To 1 Step -1
IF Mid(sVal,i,1) = "/" Or Mid(sVal,i,1) = "\" Then
iUrl = Left(sVal,i)
oSep = Mid(sVal,i,1)
Exit For
End If
next i
'-------------Tady čteme 2 buňky a z nich nastavujeme název sešitu Writer
Sheets = ThisComponent.getSheets()
oSheet = Sheets.getByName("List2")
sVar = oSheet.getCellRangeByName(sval1).String
svar = svar & " " & oSheet.getCellRangeByName(sval2).String
Dim oDoc As Object, oText As Object, oTextCursor as Object													'Nový Writer			
Dim Dummy()																
  	oDoc = StarDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Dummy()) 															
	oDoc.Title = svar
Pokus_0(sVall) 'TADY VOLÁME KOPÍROVÁNÍ SPRÁVNÉHO ÚSEKU
'----Vkládáme do Writer kopii z Calcu
document   = oDoc.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SelectedFormat"
args1(0).Value = 3
dispatcher.executeDispatch(document, ".uno:ClipboardFormatItems", "", 0, args1())
sUrl = ConvertToUrl(iUrl & "Práce z " & Date() & oSep & oDoc.Title & ".odt")
'------------Ukládáme Writer
oDoc.storeAsURL(surl,Dummy)
End Sub

'TOHLE MAKRO TAM BUĎ NEMÁTE, NEBO NEMÍŘÍ NA SPRÁVNÝ CÍL.
sub Pokus_0(Byval sval as string)
dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = sval
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
end sub

Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#20 27. 4. 2020 16:55:23

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Makro zkouknu .... Ale teď jsem se dostal do úzkych se vzorcem, nějak mi pořád nechce fungovat a nějak jsem se do něj zamotal sad
Kde bude zakopaný pes?
=IF(AND($V$11="S";H41>0)=1;H41;"")...... tohle je původní vzorec na výpočet hodin ve svátek
=IFS(AND($Y$11="S";H44>0;C44="n")=1;5;AND($Y$11="S";H44>0)=1;H44;"") .... takhle jsem ho poupravil

Akorát bych potřeboval dořešit jednu věc, a to aby vzorec uměl i podmínku je li následující den svátek, a směna je noční, tak piš 7 hodin ve svátek, ale pořád mi to píše křířky, nějak jsem se asi zamotal v log. hodnotách

Offline

#21 27. 4. 2020 18:28:52

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

tanner5 napsal(a)

Makro zkouknu .... Ale teď jsem se dostal do úzkych se vzorcem, nějak mi pořád nechce fungovat a nějak jsem se do něj zamotal sad
Kde bude zakopaný pes?
=IF(AND($V$11="S";H41>0)=1;H41;"")...... tohle je původní vzorec na výpočet hodin ve svátek
=IFS(AND($Y$11="S";H44>0;C44="n")=1;5;AND($Y$11="S";H44>0)=1;H44;"") .... takhle jsem ho poupravil


Akorát bych potřeboval dořešit jednu věc, a to aby vzorec uměl i podmínku je li následující den svátek, a směna je noční, tak piš 7 hodin ve svátek, ale pořád mi to píše křířky, nějak jsem se asi zamotal v log. hodnotách

     Problém bude trošku jinde. Do dvou v noci jste řešil makro a pak tento problém odložíte a sokčíte na vzorce. To není dobrý systém. Když se zamyslíte tak vzorce potřebují co nejsnadnější testování podmínek.
     Pokud máte v neděli svátek je to 5 hodin. Pokud bude svátek v pondělí bude v té samé kolonce 7 hodin. Totéž se děje v pátek/sobota. Obdoba problému je před a po víkendu. Takže tohle sice dáte vzorcem, ale hlavu to fakt zamotá. Myslím že řešením je zvýšit počet klasifikací směn například takto:
[ D ] Denní 12 hodin
[ N ] Noční 12 hodin
Pro Vás NE [ R ] Ranní 8 hodin
Pro Vás NE [ R8 ] Ranní 8 h. (2 nebo 3 směny přetrižtý režim)
Pro Vás NE [ O8 ] Odpolední 8 h. (2 nebo 3 směny přetrižtý režim)
Pro Vás NE [ N8 ] Noční 8 h. (3 směny přetrižtý režim)
[ Sd ] Svátek den 12 hod
[ Sn ] Svátek noc 5 hodin
[ NS ] Svátek noc 12 hodin (mezi dvěma svátky)
[ Vd ] Víkend den
[ Vn ] Víkendová noc v pátek a pondělí (před a po víkendu – 5 hodin)
[ NV ] Noc víkend (celá)
[ ŘD ] Řádná dovolená
[ ŠK ] Školení
[ KV ] Klouzavé a náhradní volno
[ OV ] Ostatní volno
[ PN ] Pracovní neschopnost
[ § ] Paragraf
     Takto dostanete část příplatků ze dne (svátek, s+n a v jiném režimu i noční). Dotazem pak otestujete zda následující den je svátkem. Ptávě proto je vhodné mít předpis směn, víkendy a svátky hned za datumem na stejném řádku : [Datum][den v týdnu][předpis směny (D...§)]
     Samozřejmě mnoho možností výběru pracovníky "zblbne" ale není problém pochopit když je vidět podmíněný formát. Přes to je nutné vysvětlení zkratek. Vidíte, že "jednoduchá" představa je cestou do pekla. Potřebujete aby šly sestrojit jednoduše vzorce - nejlépe načítat všechny varianty z aktuálního řádku nejvýše s dotazem na svátek den po, nebo před :-)


     Stejně doporučuji nejprve řešit 1 problém a neskáat z problému na jiný když to nejde. Vždy by v tom měla být systematika - když vzorce - tak všechny, když ukládání - tak ukládání a varianty (GDI, BMP, Tabulka, PDF - Writer/Calc.....


     Nicméně byste měl specifikovat zda jde o vzorce, které byly navrženy (orientačně) ve verzi 3, nebo jde o nějaký jiný vzor. Já například používám jednu kolonku pro hodiny a minuty a Vy dvě - tady končí "snadný systém zápisu". Nejlepší je vzor který obsahuje jen konkrétní problém s popisem. Často dojde k záměně verzí - zejména u mne když řeším různé problémy (to byl myslím ten problém s prázdnými Writery. Buď načítací makro nemířilo na správný cíl, nebo místo "hodnot" potřebujete vzorce a pak se načítají prázdné formuláře (postup změny hodnota/vzorec je uveden ve vzoru). Není to těžké - jde jen o komunikaci. Je mi jasné, že snadno ztratíte orientaci.


     Takže doporučuji udělat vzor kde je vidět jaký systém používáte. Já jsem navrhl trošku jiný, nežli jste měl Vy. Je mi to celkem jedno ale potřebuji vědět a ne fabulovat co používáte (odkud vzorce čtou a ne se trápit jestli jsem to správně pochopil). :-)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#22 27. 4. 2020 20:25:42

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Ohledně makra...
Koukal jsem a mělo by tam být vše...
Vytvoří mi soubory ve writeru , pojmenované, to je ok, ale jsou prazdné.... nahoře definované oblasti by měly být správné, takže teď kde je chybka....
Tento export by byl také ok, ale jak říkám, pro mne by připadal i v úvahu jako takový i vytvoření nového listu, např Leden/2020, s tím že by se uzamkly buňky a pokud by se něco opravovalo a měla by se vytvářet kopie aby ji tedy nepřepsal, ale pojmenoval např leden/2020 opr. De facto by to mohl být nový list v tomto sešitě, který by se dal jednoduše tisknout atd ale nebylo jej možné upravovat.


Je pravda že je pro vás možná zmatečné že skáču sem tam, ale jak jsem psal, makro v LO je pro mne malinko jiný lvl, takže jsem v tomto směru odkázaný na Vaší pomoc pouze, protože něco málo bych možná stvořil ale spíše si hraju vedle a testuji.

proto si hraji se vzorci....

Jinak definice směn mám tak nějak, i je využívám v minulé verzi zatím
R - ranní 12
N - noční 12
SR - svátek ranní 12
SN - svátek noční 12
VR - víkend ranní 12
VN - víkend noční 12
ne - nemoc
do - dovolená

Ostatní parametry zatím nevyužíváme

Spíše mne zaujaly Vaše vzorce a na řekl jsem si, že si s nimy zkusím pohrát.... Už jen z toho důvodu že calc je chytrý a mi jsme jen lidé a tím pádem omylní. Takže pokud by uměl calc ohlídat i zápis směn, proč toho nevyužít. Mám tím na myslí třeba zápis směny ve svátek, kdy místo SN napíšu jen N...... calc by si toto ohlídal sám a hodiny doplnil tak jak mají být.... Jinak vzorec se zdá že jsem již vyřešil...

Možná dlouhé povídání, ale to spíše na vysvětlení mé situace

jinak děkuji za pomoc a trpělivost

Offline

#23 1. 5. 2020 19:50:17

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

Tak už jsem byl prakticky hotový. Dělal jsem závěrečné testy. Musel jsem nasimulovat první list a mimo toho je vše předělané tak že z listu 2 se tisknou plány a jednotliví pracovníci mají vlastní list kam se přihlašuje pomocí unikátního hesla (mimo toho se může přihlásit admin kterému se otevřou všechny listy k úpravám. Listy jsou samozřejmě přes heslo uzamčené a pracovníci mohou jen dopisovat to jak skutečně pracovali. Všechny podmíněné formáty jsem předělal. Ale ouvej dnes jsem chtěl odeslat soubor k testování - ale nemohl jsem ho otevřít. Ani původní soubory nešly otevřít a tak jsem nejprve spustil instalaci - jako opravu.


     Po opravě se mi z adresáře kde byla verze LO 6.4.3.2 stažena včetně jazykového balíčku "ztratila". A LO nešlo vůbec spustit ani na nový dokument jekéhokoliv typu. Tedy ta verze LO 6.4.3.2 je z edice "fresh" takže má právo na nějakou tu chybu. Ale pro mne je to "Déjà vu" už se mi to stalo a náhodou také u kalendáře.
     Hned jsem tušil jaká bije. V obou původních vzorech šlo o Excel. Takže jsem se podíval a zde je vidět jak se to má. Původní soubor. Zde vidíme autora a u všech ostatních také. Takže poničený soubor Pád souboru 1.
     Pro zajímavost Pád souboru 2 a ještě pro kontrolu Pád souboru 3.



     Musel jsem přeinstalovat na verzi Still (kterou anoncoval Petr Valach dnes Vychází LibreOffice 6.3.6). Teprve potom se mi podařilo otevřít všechny soubory mimo "test_4_1". Takže zítra začnu nanovo práce nejméně za dva dny je pryč. Mám jen polovinu toho co bylo v té ztracené verzi.


     Jaké je z toho poučení - pozor na Excelovské zdroje. Tento případ potvrdil mé domněnky. Pokud je Excel zdrojem (ačkoliv se tváří jako "ODF") tak se musí vše překopírovat do originál nového Calcu, Writeru a podobně. Je zřejmé, že původní autor pan Pavel Lasák by si uměl ošetřit autorské právo. Ale nevím jestli by se snížil k něčemu podobnému. Proto si myslím že to dělá OS Windows. Tedy je to moje chyba - měl jsem se podívet dřív nežli jsem ten kšunt otevřel. :-(


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#24 2. 5. 2020 18:19:56

tanner5
Člen
Registrace: 18. 4. 2020
Příspěvků: 28

Re: Makro a formulář

Tak jsem laboroval a hledal a zkoušel, nakonec jsem odstranil tento zápis v makru a export funguje...


dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

Offline

#25 2. 5. 2020 18:32:33

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,118

Re: Makro a formulář

tanner5 napsal(a)

Tak jsem laboroval a hledal a zkoušel, nakonec jsem odstranil tento zápis v makru a export funguje...


dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 2
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

Tento kousek makra by vadit neměl. Ukazuje totiž na list kde se soubor vyskytuje. Pravděpodobně jste ho přesunul na jiné místo. V originálu míří totiž sám na sebe. Takže Vy jste ho přesnul pravděpodobně na jiné místo. Pokud by to byl v pořadí 2. list - musí to chodit. Pokud máte List2 na jiné nežli 2. pozici od počátku, nemohlo makro najít list ze kterého má číst. Stačí číslo 2 přepsat na správné číslo pozice od počítku :-)


     Nicméně zde to moc nevadí, protože tlačítko je na listu ze kterého se čte. Když by to bylo spouštěno jiným způsobem (z jiného listu) tak se objeví systémová chyba kterou jste uváděl. I když to nyní nevadí, musíte vědět proč to tam bylo. Dnes jsem celkem rychle dohnal co se pokazilo a zítra snad bude úplná verze k testování.

Editoval neutr (2. 5. 2020 18:34:48)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí