Uživatelské nástroje

Nástroje pro tento web


lua:tisk_pomoci_lua

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
lua:tisk_pomoci_lua [2023/05/25 11:22] – [Ukázka tisku vizuálního:] Karel Petrůlua:tisk_pomoci_lua [2023/05/25 11:34] (aktuální) – [Ukázka tisku vizuálního:] Karel Petrů
Řádek 74: Řádek 74:
  
 \\ \\
-Preferovaný způsob fungující v mobisu: 
  
-**metoda CreatePrint-CreateReport-StartPrint** +=== Základní metoda tisku PrintReport (WindowsManager:Print) ===
- +
-<code lua> +
-LuaForm.Func.v_rozpocty_rozpocty_reports_Specifikace=+
-  function(Data) +
-    Data.Options {Report Data.FirstParams.ReportName, Print = Data.FirstParams.Action, Caption=enc"Specifikace"+
-    local ID = "" +
-    --pokudse tiskne jen jeden rozpocet, muze se do dokumentu doplnit odkaz na rozpocet +
-    if #Data.Form:GetSelectedRows()==1 then ID=Data.DSI:FieldByName("idrozp"end +
-    if Data.FirstParams.Action==PRINT_DOCUMENT then +
-      Data.FileName=dokumenty_dokumenty.BeforeSaveToDocumentDir(Data.DSI, ID, dokumenty_dokumenty.GetDocumentFileName("ROZPOCTY", +
-        Data.FirstParams.ReportName, Data.FirstParams.Name, Data.DSI), Data.Options) +
-    end +
-    local Config = {output = Data.FileName, output_type = Data.FirstParams.OutputType, document_name = Data.FirstParams.Name} +
-    return LuaForm.StartPrintReport(Data.Options, Config) +
-  end, +
-  function(Data) +
-    ... +
-    return LuaForm.CallFunc("WalkRecordsVisual", nil, Data.DSI, Data.Form, {WR_USE_SELECTED, function(DSI, ID, ntf) +
-      v_rozpocty_rozpocty.reports.TiskKapitol(Data.DSI, Data.Form, Data.Report, GroupPolozky) +
-    end, "Tisk zakazek", "PrCarKod"}) +
-  end, +
-  function(Data) +
-    ...     +
-    if Data.FirstParams.Action==PRINT_DOCUMENT then +
-      dokumenty_dokumenty.AfterSaveToDocumentDir(nil, "", Data.FileName, Data.Options) +
-    end +
-    return LuaForm.EndPrintReport() +
-  end, +
-+
- +
- +
-function v_rozpocty_rozpocty.reports.TiskKapitol(DSI, Form, Report, GroupPolozky) +
-  ... +
-      if GroupPolozky then +
-        local md = v_rozpocty_rozpocty.reports.GetMiddlelGroupPolozky(kapDS:FieldByName("idrozp"), kapDS:FieldByName("idkap")) +
-        md:PrintPrepareReport(Report, {GotoNextPage=false, SetRangeDetail=false, Recalculate=false}) +
-        if md then md=md:Free() end +
-      else +
-        ... +
-        Report:BandDSAndByNames("body_rpolozky", rpDS, {}) +
-        ... +
-      end +
-      Report:BandDSAndByNames("afterdetail_rkap", kapDS, {}) +
- +
-end +
-</code> +
- +
-\\ +
-**metoda LuaFormPrintReport (WindowsManager:Print)**+
  
 <code lua> <code lua>
Řádek 131: Řádek 81:
   function(Data)   function(Data)
     Data.PrintMid = v_zakazky_zakazky.reports.PrintZakpol(Data.DSI, Data.Form)     Data.PrintMid = v_zakazky_zakazky.reports.PrintZakpol(Data.DSI, Data.Form)
-    return cf.LuaFormPrintReport(Data, Data.PrintMid, {GotoNextPage=true, SetRangeDetail=false, Recalculate=false, Report=Data.FirstParams.ReportName, Print=Data.FirstParams.Action})+    return cf.LuaFormPrintReport(Data, Data.PrintMid, {GotoNextPage=true, SetRangeDetail=false, Recalculate=false})
   end,   end,
   finally=function(Data)   finally=function(Data)
Řádek 178: Řádek 128:
  
 </code> </code>
 +
 +=== Metoda tisku Start/EndPrintReport pokud nelze použít jednodušší PrintReport ===
 +
 +<code lua>
 +LuaForm.Func.v_rozpocty_rozpocty_reports_Specifikace={
 +  function(Data)
 +    return cf.LuaFormStartPrintReport(Data, {GotoNextPage=(#Data.Form:GetSelectedRows()==1)})
 +  end,
 +  function(Data)
 +    ...
 +    return LuaForm.CallFunc("WalkRecordsVisual", nil, Data.DSI, Data.Form, {WR_USE_SELECTED, function(DSI, ID, ntf)
 +      v_rozpocty_rozpocty.reports.TiskKapitol(Data.DSI, Data.Form, Data.Report, GroupPolozky)
 +    end, "Tisk zakazek", "PrCarKod"})
 +  end,
 +  function(Data)
 +    ...    
 +    return cf.LuaFormEndPrintReport(Data)
 +  end,
 +}
 +
 +
 +function v_rozpocty_rozpocty.reports.TiskKapitol(DSI, Form, Report, GroupPolozky)
 +  ...
 +      if GroupPolozky then
 +        local md = v_rozpocty_rozpocty.reports.GetMiddlelGroupPolozky(kapDS:FieldByName("idrozp"), kapDS:FieldByName("idkap"))
 +        md:PrintPrepareReport(Report, {GotoNextPage=false, SetRangeDetail=false, Recalculate=false})
 +        if md then md=md:Free() end
 +      else
 +        ...
 +        Report:BandDSAndByNames("body_rpolozky", rpDS, {})
 +        ...
 +      end
 +      Report:BandDSAndByNames("afterdetail_rkap", kapDS, {})
 +
 +end
 +</code>
 +
 +\\
 +
 ==== Vložení LUA bandu do existujícího reportu ==== ==== Vložení LUA bandu do existujícího reportu ====
  
lua/tisk_pomoci_lua.txt · Poslední úprava: 2023/05/25 11:34 autor: Karel Petrů