{
  "wkf": {
    "name": "Plano de formação",
    "category": "Formação",
    "type": "Plano Formação",
    "type_ref": "FORM-PLAN",
    "reference": "P-FORM",
    "encoding_year": "True",
    "encoding_sub": "",
    "email": "True",
    "equip_type": "",
    "equip": "False",
    "WFplan": "False",
    "title_suggestion": "Plano de Formação do ano YYYY",
    "title_tags": "False",
    "att_preview": "False",
    "trs": [
      {
        "name": "Levantamento das necessidades de formação",
        "status_start_name": "Registo",
        "status_start_rgb": "107, 208, 208",
        "status_end_name": "Planeamento",
        "status_end_rgb": "198, 172, 255",
        "deadline": "5",
        "TRdelay": "0",
        "approvals": "1",
        "TRorder": "1",
        "tab": "Necessidades de formação",
        "method": "Manual",
        "code": "",
        "equip_start": "False",
        "equip_end": "False",
        "alts": []
      },
      {
        "name": "Aprovação do plano de formação",
        "status_start_name": "Aprovação",
        "status_start_rgb": "255, 149, 217",
        "status_end_name": "Implementação",
        "status_end_rgb": "198, 172, 255",
        "deadline": "2",
        "TRdelay": "180",
        "approvals": "1",
        "TRorder": "3",
        "tab": "Aprovação",
        "method": "Manual",
        "code": "",
        "equip_start": "False",
        "equip_end": "False",
        "alts": []
      },
      {
        "name": "Criação do plano de formação",
        "status_start_name": "Planeamento",
        "status_start_rgb": "198, 172, 255",
        "status_end_name": "Aprovação",
        "status_end_rgb": "255, 149, 217",
        "deadline": "5",
        "TRdelay": "0",
        "approvals": "1",
        "TRorder": "2",
        "tab": "Plano de formação",
        "method": "Manual",
        "code": "",
        "equip_start": "False",
        "equip_end": "False",
        "alts": []
      },
      {
        "name": "Implementação e fecho do plano de formação",
        "status_start_name": "Implementação",
        "status_start_rgb": "198, 172, 255",
        "status_end_name": "Fechado",
        "status_end_rgb": "162, 227, 14",
        "deadline": "3",
        "TRdelay": "0",
        "approvals": "1",
        "TRorder": "4",
        "tab": "Seguimento e fecho",
        "method": "Manual",
        "code": "",
        "equip_start": "False",
        "equip_end": "False",
        "alts": []
      }
    ]
  },
  "form": {
    "name": "Plano de formação DEVform",
    "html": "<ul class=\"nav nav-pills\" id=\"NavigatorSeparadores\" style=\"padding-top:5px;\"><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_KryptonPage1\" data-lpatabid=\"Tab1\" data-lpatabrealid=\"KryptonPage1\" data-lpaoldtabname=\"Necessidades de formação\" data-lpabind-block=\"true\" data-lpatabtext=\"Necessidades de formação\" data-lpatabalias=\"Necessidades de formação\"><a href=\"#tab_KryptonPage1PanelDiv\" style=\"color: rgb(100, 100, 100);padding-top: 5px !important;padding-bottom: 5px !important;font-size: 12px;\" data-toggle=\"tab\" id=\"KryptonPage1\">Necessidades de formação</a></li><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_Tab2\" data-lpatabid=\"Tab2\" data-lpatabrealid=\"Tab2\" data-lpaoldtabname=\"Plano de formação\" data-lpatabtext=\"Plano de formação\" data-lpatabalias=\"Plano de formação\" data-lpabind-block=\"true\"><a href=\"#tab_Tab2PanelDiv\" style=\"color: rgb(100, 100, 100);padding-top: 5px !important;padding-bottom: 5px !important;font-size: 12px;\" data-toggle=\"tab\" id=\"Tab2\" aria-expanded=\"true\">Plano de formação</a></li><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_Tab5\" data-lpatabid=\"Tab5\" data-lpatabrealid=\"Tab5\" data-lpaoldtabname=\"Histórico de Formações\" data-lpabind-alwaysvisible=\"true\" data-lpatabtext=\"Histórico de Formações\" data-lpatabalias=\"Histórico de Formações\" data-lpabind-block=\"true\" data-lpatabparenttab=\"Tab2\"><a href=\"#tab_Tab5PanelDiv\" style=\"color: rgb(100, 100, 100);padding-top: 5px !important;padding-bottom: 5px !important;font-size: 12px;\" data-toggle=\"tab\" id=\"Tab5\">Histórico de Formações</a></li><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_Tab3\" data-lpatabid=\"Tab3\" data-lpatabrealid=\"Tab3\" data-lpaoldtabname=\"Aprovação\" data-lpabind-block=\"true\" data-lpatabtext=\"Aprovação\" data-lpatabalias=\"Aprovação\"><a href=\"#tab_Tab3PanelDiv\" style=\"color: rgb(100, 100, 100);padding-top: 5px !important;padding-bottom: 5px !important;font-size: 12px;\" data-toggle=\"tab\" id=\"Tab3\" aria-expanded=\"true\">Aprovação</a></li><li class=\"botao-separador LPA-CTRL-TAB active\" id=\"li_Tab4\" data-lpatabid=\"Tab4\" data-lpatabrealid=\"Tab4\" data-lpaoldtabname=\"Seguimento e fecho\" data-lpabind-block=\"true\" data-lpatabtext=\"Seguimento e fecho\" data-lpatabalias=\"Seguimento e fecho\"><a href=\"#tab_Tab4PanelDiv\" style=\"color: rgb(100, 100, 100);padding-top: 5px !important;padding-bottom: 5px !important;font-size: 12px;\" data-toggle=\"tab\" id=\"Tab4\" aria-expanded=\"false\">Seguimento e fecho</a></li></ul><div class=\"tab-content ui-droppable\"><div id=\"tab_KryptonPage1PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab1\" data-lpapanelid=\"KryptonPage1Panel\" style=\"position:relative;\" data-lpatabcontenttext=\"Necessidades de formação\"><table id=\"LPACTRL_FormacaoTrainingNeeds\" class=\"LPA-CTRL\" data-lpaid=\"FormacaoTrainingNeeds\" data-lpatype=\"Table\" style=\" top: 285px;left: 5px;min-width: 857px;max-height: 400px;font-size: 12px!important;\" data-lpalabel=\"Lista de pessoas a convidar - necessidades de formação\" data-lpatable=\"FormacaoTrainingNeeds\" data-lpabind-task=\"\" data-lpabind-att=\"\" title=\"\" data-originaltop=\"285\" data-lpabind-optimized=\"\" data-lpatable-elementsunder=\"true\" data-lpabind-wkf=\"Necessidades de Formação\" data-lpatable-allowfilters=\"true\"><thead style=\"background-color: #E9ECF1;\"><tr style=\"\"><th>Table Column</th><th>Table Column</th></tr></thead><tbody></tbody></table><span id=\"LPACTRL_CriarWorkflowL\" class=\"LPA-CTRL\" data-lpaid=\"CriarWorkflowL\" data-lpatype=\"Label\" style=\"top: 255px; left: 605px; font-size: 25px; color: chartreuse;\" data-lpalabel=\"Clique para gerar os workflows de levantamento de necessidades de formação\" data-originaltop=\"255\" data-lpalblbtnicon=\"plus\">Clique para gerar os workflows de levantamento de necessidades de formação</span><span id=\"LPACTRL_EnviarLembreteL\" class=\"LPA-CTRL\" data-lpaid=\"EnviarLembreteL\" data-lpatype=\"Label\" style=\"top: 255px; left: 640px; font-size: 25px; color: orange;\" data-lpalabel=\"Clique para enviar lembrete para colegas em falta\" data-originaltop=\"255\" data-lpalblbtnicon=\"envelope\">Clique para enviar lembrete para colegas em falta</span><input type=\"text\" id=\"LPACTRL_NumeroNecessidades\" class=\"LPA-CTRL\" data-lpaid=\"NumeroNecessidades\" data-lpatype=\"Text\" style=\"width: 60px; top: 256px; left: 802px;\" data-lpalabel=\"NumeroNecessidades\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-originaltop=\"256\"><span id=\"LPACTRL_FormacaoTrainingNeedsL\" class=\"LPA-CTRL\" data-lpaid=\"FormacaoTrainingNeedsL\" data-lpatype=\"Label\" style=\"top: 254px; left: 5px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"Lista de pessoas a convidar para levantamento de necessidades de formação\" data-originaltop=\"254\">Lista de pessoas a convidar para levantamento de necessidades de formação</span><textarea id=\"LPACTRL_ResumoNecessidadesFormacao\" class=\"LPA-CTRL\" data-lpaid=\"ResumoNecessidadesFormacao\" data-lpatype=\"Memo\" style=\"width: 860px; height: 100px; resize: none; top: 349px; left: 1px;\" data-lpalabel=\"Resumo das necessidades de formação\" data-lparequired=\"false\" placeholder=\"Resumo das necessidades de formação\" spellcheck=\"false\" data-originaltop=\"349\"></textarea><span id=\"LPACTRL_lineL\" class=\"LPA-CTRL\" data-lpaid=\"lineL\" data-lpatype=\"Label\" style=\"top: 249px; left: 494px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"______________\" data-originaltop=\"249\">______________</span><span id=\"LPACTRL_NumeroNecessidadesL\" class=\"LPA-CTRL\" data-lpaid=\"NumeroNecessidadesL\" data-lpatype=\"Label\" style=\"top: 256px; left: 680px;\" data-lpalabel=\"Nº de intervenientes\" data-originaltop=\"256\">Nº de intervenientes</span><select id=\"LPACTRL_Question1\" class=\"LPA-CTRL\" data-lpaid=\"Question1\" data-lpatype=\"Combo\" style=\"width: 180px; top: 191px; left: 683px;\" data-lpalabel=\"Foi feito o levantamento de todas as necessidades de formação?\" data-lparequired=\"false\" data-originaltop=\"191\" data-lpadefaultval=\"Não\" data-lpabind-autoorder=\"true\"><option value=\"\"></option><option value=\"Não\">Não</option><option value=\"Sim\">Sim</option></select><select id=\"LPACTRL_ModoNecessidadesFomacao\" class=\"LPA-CTRL\" data-lpaid=\"ModoNecessidadesFomacao\" data-lpatype=\"Combo\" style=\"width: 180px; top: 167px; left: 683px;\" data-lpalabel=\"Metodologia de levantamento necessidades de formação\" data-lparequired=\"false\" data-originaltop=\"167\" data-lpadefaultval=\"Completo\" data-lpabind-autoorder=\"true\"><option value=\"\"></option><option value=\"Completo\">Completo</option><option value=\"Simplificado\">Simplificado</option></select><span id=\"LPACTRL_Question1L\" class=\"LPA-CTRL\" data-lpaid=\"Question1L\" data-lpatype=\"Label\" style=\"top: 192px; left: 362px;\" data-lpalabel=\"A fase de levantamento de necessidades está terminada?\" data-originaltop=\"192\">A fase de levantamento de necessidades está terminada?</span><span id=\"LPACTRL_ModoNecessidadesFomacaoL\" class=\"LPA-CTRL\" data-lpaid=\"ModoNecessidadesFomacaoL\" data-lpatype=\"Label\" style=\"top: 168px; left: 362px;\" data-lpalabel=\"Metodologia de levantamento de necessidades de formação\" data-originaltop=\"168\">Metodologia de levantamento de necessidades de formação</span><textarea id=\"LPACTRL_NecessidadesObservacoes\" class=\"LPA-CTRL\" data-lpaid=\"NecessidadesObservacoes\" data-lpatype=\"Memo\" style=\"width: 500px; height: 93px; resize: none; top: 70px; left: 363px;\" data-lpalabel=\"NecessidadesObservações\" data-originaltop=\"70\" data-lparequired=\"false\" placeholder=\"Escreva aqui as suas notas...\" data-lt-tmp-id=\"lt-483994\" spellcheck=\"false\" data-gramm=\"false\"></textarea><span id=\"LPACTRL_lineL2\" class=\"LPA-CTRL\" data-lpaid=\"lineL2\" data-lpatype=\"Label\" style=\"top: 36px; left: 193px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"________________________________________________________________________________________\" data-originaltop=\"36\">________________________________________________________________________________________</span><select id=\"LPACTRL_Year\" class=\"LPA-CTRL\" data-lpaid=\"Year\" data-lpatype=\"Combo\" style=\"width: 200px; top: 190px; left: 91px;\" data-lpalabel=\"Ano\" data-lparequired=\"false\" data-originaltop=\"190\" data-lpabind-autoorder=\"true\"><option value=\"\"></option><option value=\"2022\">2022</option><option value=\"2023\">2023</option><option value=\"2024\">2024</option><option value=\"2025\">2025</option><option value=\"2026\">2026</option></select><span id=\"LPACTRL_EndDateL\" class=\"LPA-CTRL\" data-lpaid=\"EndDateL\" data-lpatype=\"Label\" style=\"top: 214px; left: 186px;\" data-lpalabel=\"a\" data-originaltop=\"214\">a</span><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\" height: auto;display: flex;width: 85px;padding: 0px;top: 214px;left: 205px;z-index: 2!important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-originaltop=\"214\" data-agirtranslate=\"workflow_tasks_startdate\"><span class=\"input-group-btn\" style=\"z-index: 20;right: 15px;position: absolute;top: 3px;color: #969696;\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_EndDate\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"EndDate\" data-lpatype=\"Date\" style=\"margin-left: 1px;border-collapse: collapse; border - style: none; z - index: 5; opacity: 1 !important; cursor: auto;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-lpalabel=\"Fim\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"0\" data-date_blocked=\"true\" data-date_blocked_type=\"menor\" data-date_blocked_to=\"field\" data-date_blocked_field_name=\"StartDate\"></div><select id=\"LPACTRL_Department\" class=\"LPA-CTRL\" data-lpaid=\"Department\" data-lpatype=\"Combo\" style=\"width: 200px; top: 166px; left: 91px;\" data-lpalabel=\"Department\" data-originaltop=\"166\" data-lparequired=\"false\" data-lpacombometa=\"departments\"></select><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\" height: auto;display: flex;width: 85px;padding: 0px;top: 214px;left: 90px;z-index: 2!important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-originaltop=\"214\" data-agirtranslate=\"workflow_tasks_startdate\"><span class=\"input-group-btn\" style=\"z-index: 20;right: 15px;position: absolute;top: 3px;color: #969696;\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_StartDate\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"StartDate\" data-lpatype=\"Date\" style=\"margin-left: 1px;border-collapse: collapse; border - style: none; z - index: 5; opacity: 1 !important; cursor: auto;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-lpalabel=\"Início\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"0\" data-date_blocked=\"true\" data-date_blocked_to=\"field\" data-date_blocked_field_name=\"EndDate\"></div><span id=\"LPACTRL_YearL2\" class=\"LPA-CTRL\" data-lpaid=\"YearL\" data-lpatype=\"Label\" style=\"top: 190px; left: 2px;\" data-originaltop=\"190\" data-lpalabel=\"Ano\">Ano</span><span id=\"LPACTRL_StartDateL\" class=\"LPA-CTRL\" data-lpaid=\"StartDateL\" data-lpatype=\"Label\" style=\"top: 214px; left: 2px;\" data-lpalabel=\"De\" data-originaltop=\"214\">De</span><span id=\"LPACTRL_DepartmentL\" class=\"LPA-CTRL\" data-lpaid=\"DepartmentL\" data-lpatype=\"Label\" style=\" top: 166px;left: 2px;\" data-originaltop=\"166\" data-lpalabel=\"Unidade\">Unidade</span><span id=\"LPACTRL_ScopeL2\" class=\"LPA-CTRL\" data-lpaid=\"ScopeL\" data-lpatype=\"Label\" style=\"top: 142px; left: 2px;\" data-originaltop=\"142\" data-lpalabel=\"Âmbito\">Âmbito</span><span id=\"LPACTRL_PlanManagerL2\" class=\"LPA-CTRL\" data-lpaid=\"PlanManagerL\" data-lpatype=\"Label\" style=\"top: 118px; left: 2px;\" data-lpalabel=\"Gestor do plano\" data-originaltop=\"118\">Gestor do plano</span><span id=\"LPACTRL_TypeOfPlanL\" class=\"LPA-CTRL\" data-lpaid=\"TypeOfPlanL\" data-lpatype=\"Label\" style=\"top: 94px; left: 2px;\" data-lpalabel=\"Periodicidade\" data-originaltop=\"94\">Periodicidade</span><span id=\"LPACTRL_configPlanL\" class=\"LPA-CTRL\" data-lpaid=\"configPlanL\" data-lpatype=\"Label\" style=\"top: 70px; left: 2px;\" data-lpalabel=\"Tipo de plano\" data-originaltop=\"70\">Tipo de plano</span><select id=\"LPACTRL_Scope\" class=\"LPA-CTRL\" data-lpaid=\"Scope\" data-lpatype=\"Combo\" style=\"width: 200px; top: 142px; left: 91px;\" data-lpalabel=\"Âmbito\" data-lparequired=\"false\" data-originaltop=\"142\"><option value=\"\"></option><option value=\"Setorial\">Setorial</option><option value=\"Toda a empresa\">Toda a empresa</option></select><select id=\"LPACTRL_PlanManager\" class=\"LPA-CTRL\" data-lpaid=\"PlanManager\" data-lpatype=\"Combo\" style=\"width: 200px; top: 118px; left: 91px;\" data-lpalabel=\"Gestor do plano\" data-originaltop=\"118\" data-lparequired=\"false\" data-lpacombometa=\"users\" data-lpabind-autoorder=\"true\"></select><select id=\"LPACTRL_TypeOfPlan\" class=\"LPA-CTRL\" data-lpaid=\"TypeOfPlan\" data-lpatype=\"Combo\" style=\"width: 200px; top: 94px; left: 91px;\" data-lpalabel=\"Periodicidade\" data-lparequired=\"false\" data-originaltop=\"94\" data-lpabind-autoorder=\"true\"><option value=\"\"></option><option value=\"Anual\">Anual</option><option value=\"Semestral\">Semestral</option></select><select id=\"LPACTRL_configPlan\" class=\"LPA-CTRL\" data-lpaid=\"configPlan\" data-lpatype=\"Combo\" style=\" width: 200px;top: 70px;left: 91px;\" data-lpalabel=\"Tipo de plano\" data-lparequired=\"false\" data-originaltop=\"70\" data-lpabind-autoorder=\"true\" data-lpadefaultval=\"A - Modo Normal\"><option value=\"\"></option><option value=\"A - Modo Normal\">A - Modo Normal</option><option value=\"B - Modo Catálogo de Formação\">B - Modo Catálogo de Formação</option></select><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\"height: auto; display: flex; width: 125px; padding: 0px; top: 10px; left: 364px; z-index: 2 !important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-agirtranslate=\"workflow_tasks_startdate\" data-originaltop=\"10\"><span class=\"input-group-btn\" style=\"z-index: 20;right: 15px;position: absolute;top: 3px;color: #969696;\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_RegistoData\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"RegistoData\" data-lpatype=\"Date\" style=\"margin-left: 1px;border-collapse: collapse; border - style: none; z - index: 5; opacity: 1 !important; cursor: auto;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-lpalabel=\"Data de registo\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Levantamento das necessidades de formação\" data-originaltop=\"0\" data-date_blocked=\"true\" data-date_blocked_to=\"hoje\"></div><span id=\"LPACTRL_RegistoDataL\" class=\"LPA-CTRL\" data-lpaid=\"RegistoDataL\" data-lpatype=\"Label\" style=\"top: 10px; left: 296px;\" data-lpalabel=\"Data\" data-originaltop=\"10\">Data</span><input type=\"text\" id=\"LPACTRL_RegistoPor\" class=\"LPA-CTRL\" data-lpaid=\"RegistoPor\" data-lpatype=\"Text\" style=\" width: 200px;top: 10px;left: 91px;\" data-lpalabel=\"Registo por\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Levantamento das necessidades de formação\" data-originaltop=\"10\"><span id=\"LPACTRL_RegistoPorL\" class=\"LPA-CTRL\" data-lpaid=\"RegistoPorL\" data-lpatype=\"Label\" style=\" top: 10px;left: 2px;\" data-lpalabel=\"Registo por\" data-originaltop=\"10\">Registo por</span><span id=\"LPACTRL_FormacaoTrainingNeedsL2\" class=\"LPA-CTRL\" data-lpaid=\"FormacaoTrainingNeedsL2\" data-lpatype=\"Label\" style=\" top: 40px;left: 2px;color: dodgerblue;font-size: 14px;\" data-lpalabel=\"Dados do plano de formação\" data-originaltop=\"40\">Dados do plano de formação</span><span id=\"LPACTRL_WKF_CodeL\" class=\"LPA-CTRL\" data-lpaid=\"WKF_CodeL\" data-lpatype=\"Label\" style=\"top: 10px; left: 922px;\" data-originaltop=\"10\" data-lpahidden=\"true\" data-lpalabel=\"WKF_Code\">WKF_Code</span><input type=\"text\" id=\"LPACTRL_WKF_Code\" class=\"LPA-CTRL\" data-lpaid=\"WKF_Code\" data-lpatype=\"Text\" style=\" width: 100px;top: 10px;left: 985px;\" data-lpalabel=\"WKF_Code\" data-originaltop=\"10\" data-lparequired=\"false\" placeholder=\"\" data-lpahidden=\"true\"><span id=\"LPACTRL_Info1L\" class=\"LPA-CTRL\" data-lpaid=\"Info1L\" data-lpatype=\"Label\" style=\" top: 60px;left: 299px;color: Gainsboro;\" data-lpalabel=\"Modo A -  Plano de formação clássico - Cada linha de formação gera uma sessão de formação. As ações são criadas através do Plano. &lt;br&gt;Modo B -  Catálogo de Formação - Cada linha de formação pode gerar várias sessões. As sessões são criadas no workflow &quot;Formação&quot;.\" data-lpalblbtnicon=\"info-circle\" data-originaltop=\"60\">Modo A -  Plano de formação clássico - Cada linha de formação gera uma sessão de formação. As ações são criadas através do Plano. <br>Modo B -  Catálogo de Formação - Cada linha de formação pode gerar várias sessões. As sessões são criadas no workflow \"Formação\".</span><span id=\"LPACTRL_Info2L\" class=\"LPA-CTRL\" data-lpaid=\"Info2L\" data-lpatype=\"Label\" style=\" top: 158px;left: 873px;color: Gainsboro;\" data-lpalabel=\"Modo Completo - São criados workflows &quot;filho&quot; para cada supervisor da tabela para registo de necessidades de formação.&lt;br&gt;Modo Simplificado - As necessidas de formação já foram identificadas e serão apenas resumidas sem enviar workflows para os supervisores.\" data-lpalblbtnicon=\"info-circle\" data-originaltop=\"158\">Modo Completo - São criados workflows \"filho\" para cada supervisor da tabela para registo de necessidades de formação.<br>Modo Simplificado - As necessidas de formação já foram identificadas e serão apenas resumidas sem enviar workflows para os supervisores.</span></div><div id=\"tab_Tab2PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab2\" data-lpapanelid=\"Tab2Panel\" style=\"position:relative;\" data-lpatabcontenttext=\"Plano de formação\"><input type=\"text\" id=\"LPACTRL_Budget\" class=\"LPA-CTRL\" data-lpaid=\"Budget\" data-lpatype=\"Text\" style=\" width: 200px;top: 70px;left: 90px;font-size: 16px;\" data-lpalabel=\"Budget\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"70\" data-lpanumeric_symbol=\"€\" data-lpafieldtype=\"numeric\"><span id=\"LPACTRL_BudgetL\" class=\"LPA-CTRL\" data-lpaid=\"BudgetL\" data-lpatype=\"Label\" style=\"top: 69px; left: 3px;\" data-originaltop=\"69\" data-lpalabel=\"Orçamento (€)\">Orçamento (€)</span><span id=\"LPACTRL_TotalActionsL\" class=\"LPA-CTRL\" data-lpaid=\"TotalActionsL\" data-lpatype=\"Label\" style=\"top: 118px; left: 3px;\" data-lpalabel=\"Nº de ações\" data-originaltop=\"118\">Nº de ações</span><span id=\"LPACTRL_TotalHoursL\" class=\"LPA-CTRL\" data-lpaid=\"TotalHoursL\" data-lpatype=\"Label\" style=\"top: 145px; left: 3px;\" data-lpalabel=\"Total de horas\" data-originaltop=\"145\">Total de horas</span><textarea id=\"LPACTRL_TrainingPlanRemarks\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlanRemarks\" data-lpatype=\"Memo\" style=\"width: 636px; height: 80px; resize: none; top: 170px; left: 3px;\" data-lpalabel=\"TrainingPlanRemarks\" data-lparequired=\"false\" placeholder=\"Observações do plano de formação...\" data-originaltop=\"170\" spellcheck=\"false\"></textarea><span id=\"LPACTRL_RealCostL\" class=\"LPA-CTRL\" data-lpaid=\"RealCostL\" data-lpatype=\"Label\" style=\"top: 94px; left: 3px;\" data-lpalabel=\"Custo total (€)\" data-originaltop=\"94\">Custo total (€)</span><span id=\"LPACTRL_PlaneadoL\" class=\"LPA-CTRL\" data-lpaid=\"PlaneadoL\" data-lpatype=\"Label\" style=\" top: 40px;left: 3px;color: dodgerblue;font-size: 14px;\" data-lpalabel=\"Planeamento\" data-originaltop=\"40\">Planeamento</span><span id=\"LPACTRL_lineL3\" class=\"LPA-CTRL\" data-lpaid=\"lineL3\" data-lpatype=\"Label\" style=\" top: 35px;left: 91px;color: dodgerblue;font-size: 14px;\" data-lpalabel=\"__________________________\" data-originaltop=\"35\">__________________________</span><input type=\"text\" id=\"LPACTRL_TotalHours\" class=\"LPA-CTRL\" data-lpaid=\"TotalHours\" data-lpatype=\"Text\" style=\"width: 200px; top: 145px; left: 90px; font-size: 16px;\" data-lpalabel=\"TotalHours\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"145\" data-lpadisabled=\"true\"><span id=\"LPACTRL_TotalHoursExecutadoL\" class=\"LPA-CTRL\" data-lpaid=\"TotalHoursExecutadoL\" data-lpatype=\"Label\" style=\"top: 145px; left: 298px;\" data-lpalabel=\"Total de horas executadas\" data-originaltop=\"145\">Total de horas executadas</span><span id=\"LPACTRL_TotalActionsExecutadoL\" class=\"LPA-CTRL\" data-lpaid=\"TotalActionsExecutadoL\" data-lpatype=\"Label\" style=\"top: 118px; left: 298px;\" data-lpalabel=\"Nº de ações executado\" data-originaltop=\"118\">Nº de ações executado</span><span id=\"LPACTRL_RealCostExecutadoL\" class=\"LPA-CTRL\" data-lpaid=\"RealCostExecutadoL\" data-lpatype=\"Label\" style=\"top: 94px; left: 298px;\" data-lpalabel=\"Custo total executado (€)\" data-originaltop=\"94\">Custo total executado (€)</span><span id=\"LPACTRL_BudgetChartTitleL\" class=\"LPA-CTRL\" data-lpaid=\"BudgetChartTitleL\" data-lpatype=\"Label\" style=\" top: 69px;left: 298px;color: gray;\" data-lpalabel=\"Desvio ao orçamento\" data-originaltop=\"69\">Desvio ao orçamento</span><span id=\"LPACTRL_ExecutadoL\" class=\"LPA-CTRL\" data-lpaid=\"ExecutadoL\" data-lpatype=\"Label\" style=\"top: 40px; left: 298px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"Execução\" data-originaltop=\"40\">Execução</span><input type=\"text\" id=\"LPACTRL_TotalHoursExecutado\" class=\"LPA-CTRL\" data-lpaid=\"TotalHoursExecutado\" data-lpatype=\"Text\" style=\"width: 200px; top: 145px; left: 439px; font-size: 16px;\" data-lpalabel=\"Total de horas executadas\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"145\" data-lpadisabled=\"true\"><input type=\"text\" id=\"LPACTRL_TotalActionsExecutado\" class=\"LPA-CTRL\" data-lpaid=\"TotalActionsExecutado\" data-lpatype=\"Text\" style=\"width: 200px; top: 120px; left: 439px; font-size: 16px;\" data-lpalabel=\"Nº de ações executado\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-originaltop=\"120\"><input type=\"text\" id=\"LPACTRL_TotalActions\" class=\"LPA-CTRL\" data-lpaid=\"TotalActions\" data-lpatype=\"Text\" style=\"width: 200px; top: 120px; left: 90px; font-size: 16px;\" data-lpalabel=\"TotalActions\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-originaltop=\"120\"><input type=\"text\" id=\"LPACTRL_RealCostExecutado\" class=\"LPA-CTRL\" data-lpaid=\"RealCostExecutado\" data-lpatype=\"Text\" style=\"width: 200px; top: 95px; left: 439px; font-size: 16px;\" data-lpalabel=\"Custo executado (€)\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"95\" data-lpadisabled=\"true\" data-lpanumeric_symbol=\"€\" data-lpafieldtype=\"numeric\"><input type=\"text\" id=\"LPACTRL_RealCost\" class=\"LPA-CTRL\" data-lpaid=\"RealCost\" data-lpatype=\"Text\" style=\"width: 200px; top: 95px; left: 90px; font-size: 16px;\" data-lpalabel=\"RealCost\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"95\" data-lpadisabled=\"true\" data-lpanumeric_symbol=\"€\" data-lpafieldtype=\"numeric\"><span id=\"LPACTRL_TrainingPlanRemarksL\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlanRemarksL\" data-lpatype=\"Label\" style=\" top: 196px;left: 649px;\" data-lpalabel=\"Observações\" data-originaltop=\"196\" data-lpahidden=\"true\">Observações</span><span id=\"LPACTRL_Chart\" class=\"LPA-CTRL\" data-lpaid=\"Chart\" data-lpatype=\"Label\" style=\"top: 93px; left: 602px;\" data-lpalabel=\"Chart\" data-originaltop=\"93\">Chart</span><span id=\"LPACTRL_BudgetChartL\" class=\"LPA-CTRL\" data-lpaid=\"BudgetChartL\" data-lpatype=\"Label\" style=\"top: 67px; left: 439px; font-size: 16px; color: rgb(124, 252, 0) !important;\" data-lpalabel=\"BudgetChart\" data-originaltop=\"67\" data-lpalblbtnicon=\"circle\">BudgetChart</span><input type=\"text\" id=\"LPACTRL_BudgetChart\" class=\"LPA-CTRL\" data-lpaid=\"BudgetChart\" data-lpatype=\"Text\" style=\"width: 100px; top: 65px; left: 470px; font-size: 18px; background-color: transparent !important;\" data-lpalabel=\"BudgetChart\" data-originaltop=\"65\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\"><span id=\"LPACTRL_PlaneadoDataL\" class=\"LPA-CTRL\" data-lpaid=\"PlaneadoDataL\" data-lpatype=\"Label\" style=\"top: 10px; left: 298px;\" data-lpalabel=\"Data\" data-originaltop=\"10\">Data</span><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\" height: auto;display: flex;width:120px;padding: 0px;top: 10px;left: 439px;z-index: 2!important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-agirtranslate=\"workflow_tasks_startdate\" data-originaltop=\"10\"><span class=\"input-group-btn\" style=\"z-index: 20;right: 15px;position: absolute;top: 3px;color: #969696;\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_PlaneadoData\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"PlaneadoData\" data-lpatype=\"Date\" style=\"margin-left: 1px;border-collapse: collapse; border - style: none; z - index: 5; opacity: 1 !important; cursor: auto;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-lpalabel=\"Data de planeamento\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Criação do plano de formação\" data-originaltop=\"0\"></div><span id=\"LPACTRL_lineL32\" class=\"LPA-CTRL\" data-lpaid=\"lineL32\" data-lpatype=\"Label\" style=\"top: 35px; left: 362px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"____________________________________\" data-originaltop=\"35\">____________________________________</span><input type=\"text\" id=\"LPACTRL_PlaneadoPor\" class=\"LPA-CTRL\" data-lpaid=\"PlaneadoPor\" data-lpatype=\"Text\" style=\" width: 200px;top: 10px;left: 89px;\" data-lpalabel=\"Planeado por\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Criação do plano de formação\" data-originaltop=\"10\"><span id=\"LPACTRL_PlaneadoPorL\" class=\"LPA-CTRL\" data-lpaid=\"PlaneadoPorL\" data-lpatype=\"Label\" style=\" top: 10px;left: 1px;\" data-lpalabel=\"Planeado por\" data-originaltop=\"10\">Planeado por</span><table id=\"LPACTRL_TrainingPlan\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlan\" data-lpatype=\"Table\" style=\" top: 304px;left: 1px;font-size: 12px!important;width: 400px;\" data-lpalabel=\"Plano de formação\" data-lpatable=\"TrainingPlan\" data-lpabind-task=\"\" data-lpabind-att=\"\" title=\"\" data-originaltop=\"304\" data-lpabind-optimized=\"\" data-lpatable-elementsunder=\"true\" data-lpabind-wkf=\"Formação\" data-lpatable-allowfilters=\"false\"><thead style=\"background-color: #E9ECF1;\"><tr><th>Table Column</th><th>Table Column</th></tr></thead><tbody></tbody></table><span id=\"LPACTRL_tabtablelinhaL2\" class=\"LPA-CTRL\" data-lpaid=\"tabtablelinhaL2\" data-lpatype=\"Label\" style=\" top: 269px;left: 200px;color: dodgerblue;font-size: 14px;\" data-lpalabel=\"______________________________________________________________________________________________________________________________________________________________\" data-originaltop=\"269\">______________________________________________________________________________________________________________________________________________________________</span><span id=\"LPACTRL_TrainingPlanL\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlanL\" data-lpatype=\"Label\" style=\"top: 275px; left: 1px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"Plano de Formação\" data-originaltop=\"275\">Plano de Formação</span><span id=\"LPACTRL_CriarWorkflowFormacaoL\" class=\"LPA-CTRL\" data-lpaid=\"CriarWorkflowFormacaoL\" data-lpatype=\"Label\" style=\" top: 275px;left: 135px;color: #A2E30E;font-size: 25px;\" data-lpalabel=\"Clique para gerar os workflows de registo da formação\" data-originaltop=\"275\" data-lpalblbtnicon=\"plus-circle\">Clique para gerar os workflows de registo da formação</span><span id=\"LPACTRL_PlanoFormacaoL\" class=\"LPA-CTRL\" data-lpaid=\"PlanoFormacaoL\" data-lpatype=\"Label\" style=\" top: 275px;left: 165px;color: red;font-size: 25px;\" data-lpalabel=\"Clique para imprimir Plano de Formação\" data-lpalblbtnicon=\"file-pdf\" data-originaltop=\"275\">Clique para imprimir Plano de Formação</span></div><div id=\"tab_Tab3PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab3\" data-lpapanelid=\"Tab3Panel\" style=\"position:relative;\" data-lpatabcontenttext=\"Aprovação\"><input type=\"text\" id=\"LPACTRL_ApprovedBy\" class=\"LPA-CTRL\" data-lpaid=\"ApprovedBy\" data-lpatype=\"Text\" style=\"width: 200px; top: 10px; left: 109px;\" data-lpalabel=\"ApprovedBy\" data-originaltop=\"10\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Aprovação do plano de formação\"><span id=\"LPACTRL_ApprovedByDateL\" class=\"LPA-CTRL\" data-lpaid=\"ApprovedByDateL\" data-lpatype=\"Label\" style=\"top: 10px; left: 344px;\" data-lpalabel=\"Data\" data-originaltop=\"10\">Data</span><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\"height: auto; display: flex; width: 85px; padding: 0px; top: 10px; left: 374px; z-index: 2 !important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-agirtranslate=\"workflow_tasks_startdate\" data-originaltop=\"10\"><span class=\"input-group-btn\" style=\"z-index: 20;right: 15px;position: absolute;top: 3px;color: #969696;\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_ApprovedByDate\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"ApprovedByDate\" data-lpatype=\"Date\" style=\"margin-left: 1px;border-collapse: collapse; border-style: none; z-index: 5; opacity: 1 !important; cursor: auto;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-lpalabel=\"Data de aprovação\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"0\" data-lpadisabled=\"true\" data-lpawkfstep=\"Aprovação do plano de formação\" data-date_blocked=\"true\" data-date_blocked_to=\"field\" data-date_blocked_field_name=\"EndDate\"></div><span id=\"LPACTRL_ApprovalReasonNoL\" class=\"LPA-CTRL\" data-lpaid=\"ApprovalReasonNoL\" data-lpatype=\"Label\" style=\"top: 199px; left: 1px; width: 105px;\" data-originaltop=\"199\" data-lpalabel=\"Motivo da rejeição\">Motivo da rejeição</span><textarea id=\"LPACTRL_ApprovalReasonNo\" class=\"LPA-CTRL\" data-lpaid=\"ApprovalReasonNo\" data-lpatype=\"Memo\" style=\"width: 500px; height: 100px; resize: none; top: 222px; left: 1px;\" data-lpalabel=\"Motivo da rejeição\" data-originaltop=\"222\" data-lparequired=\"false\" placeholder=\"\" spellcheck=\"false\"></textarea><textarea id=\"LPACTRL_Remarks\" class=\"LPA-CTRL\" data-lpaid=\"Remarks\" data-lpatype=\"Memo\" style=\"width: 500px; height: 100px; resize: none; top: 89px; left: 1px;\" data-lpalabel=\"Observações\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"89\" spellcheck=\"false\"></textarea><span id=\"LPACTRL_RemarksL\" class=\"LPA-CTRL\" data-lpaid=\"RemarksL\" data-lpatype=\"Label\" style=\"top: 68px; left: 1px;\" data-originaltop=\"68\" data-lpalabel=\"Observações\">Observações</span><span id=\"LPACTRL_Approval2L\" class=\"LPA-CTRL\" data-lpaid=\"Approval2L\" data-lpatype=\"Label\" style=\"top: 40px; left: 1px;\" data-originaltop=\"40\" data-lpalabel=\"Aprovação do plano\">Aprovação do plano</span><span id=\"LPACTRL_ApprovedByL\" class=\"LPA-CTRL\" data-lpaid=\"ApprovedByL\" data-lpatype=\"Label\" style=\"top: 10px; left: 1px;\" data-lpalabel=\"Aprovado por\" data-originaltop=\"10\">Aprovado por</span><select id=\"LPACTRL_Approval2\" class=\"LPA-CTRL\" data-lpaid=\"Approval2\" data-lpatype=\"Combo\" style=\" width: 120px;top: 40px;left: 109px;font-weight: bold;\" data-lpalabel=\"Aprovação\" data-lparequired=\"false\" data-originaltop=\"40\" data-lpabind-autoorder=\"true\" data-lpabind-autoordertype=\"asc\"><option value=\"\"></option><option value=\"Aprovado\">Aprovado</option><option value=\"Não Aprovado\">Não Aprovado</option></select></div><div id=\"tab_Tab4PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB active in\" data-lpatabcontentid=\"Tab4\" data-lpapanelid=\"Tab4Panel\" style=\"position:relative;\" data-lpatabcontenttext=\"Seguimento e fecho\"><input type=\"text\" id=\"LPACTRL_ClosedBy\" class=\"LPA-CTRL\" data-lpaid=\"ClosedBy\" data-lpatype=\"Text\" style=\"width: 200px; top: 9px; left: 119px;\" data-lpalabel=\"ClosedBy\" data-originaltop=\"9\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Implementação e fecho do plano de formação\"><span id=\"LPACTRL_ClosedByDateL\" class=\"LPA-CTRL\" data-lpaid=\"ClosedByDateL\" data-lpatype=\"Label\" style=\"top: 9px; left: 345px;\" data-lpalabel=\"Data\" data-originaltop=\"9\">Data</span><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\"height: auto; display: flex; width: 120px; padding: 0px; top: 9px; left: 432px; z-index: 2 !important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-agirtranslate=\"workflow_tasks_startdate\" data-originaltop=\"9\"><span class=\"input-group-btn\" style=\"z-index: 20;right: 15px;position: absolute;top: 3px;color: #969696;\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_ClosedByDate\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"ClosedByDate\" data-lpatype=\"Date\" style=\"margin-left: 1px;border-collapse: collapse; border-style: none; z-index: 5; opacity: 1 !important; cursor: auto;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-lpalabel=\"Data de fecho\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"0\" data-lpawkfstep=\"Implementação e fecho do plano de formação\" data-lpadisabled=\"true\" data-date_blocked=\"true\" data-date_blocked_to=\"hoje\"></div><span id=\"LPACTRL_ClosedByL\" class=\"LPA-CTRL\" data-lpaid=\"ClosedByL\" data-lpatype=\"Label\" style=\"top: 9px; left: 1px;\" data-lpalabel=\"Fechado por\" data-originaltop=\"9\">Fechado por</span><textarea id=\"LPACTRL_ChangesToThePlan\" class=\"LPA-CTRL\" data-lpaid=\"ChangesToThePlan\" data-lpatype=\"Memo\" style=\"width: 550px; height: 90px; resize: none; top: 204px; left: 1px;\" data-lpalabel=\"ChangesToThePlan\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"204\" spellcheck=\"false\"></textarea><textarea id=\"LPACTRL_ClosureRemarks\" class=\"LPA-CTRL\" data-lpaid=\"ClosureRemarks\" data-lpatype=\"Memo\" style=\" width: 550px;height: 90px;resize: none;top: 88px;left: 2px;\" data-lpalabel=\"ClosureRemarks\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"88\" spellcheck=\"false\"></textarea><textarea id=\"LPACTRL_MedidasEficacia\" class=\"LPA-CTRL\" data-lpaid=\"MedidasEficacia\" data-lpatype=\"Memo\" style=\"width: 319px; height: 90px; resize: none; top: 204px; left: 560px;\" data-lpalabel=\"Medidas a tomar\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"204\" spellcheck=\"false\"></textarea><span id=\"LPACTRL_MedidasEficaciaL\" class=\"LPA-CTRL\" data-lpaid=\"MedidasEficaciaL\" data-lpatype=\"Label\" style=\"top: 181px; left: 560px;\" data-lpalabel=\"Medidas a tomar\" data-originaltop=\"181\">Medidas a tomar</span><span id=\"LPACTRL_CloneL\" class=\"LPA-CTRL\" data-lpaid=\"CloneL\" data-lpatype=\"Label\" style=\" top: 88px;left: 565px;color: #6BD0D0;\" data-lpalabel=\"Clique para clonar Plano de Formação\" data-lpalblbtnicon=\"copy\" data-originaltop=\"88\">Clique para clonar Plano de Formação</span><span id=\"LPACTRL_ChangesToThePlanL\" class=\"LPA-CTRL\" data-lpaid=\"ChangesToThePlanL\" data-lpatype=\"Label\" style=\"top: 181px; left: 1px;\" data-lpalabel=\"Alterações ao plano (justificações)\" data-originaltop=\"181\">Alterações ao plano (justificações)</span><span id=\"LPACTRL_ClosureRemarksL\" class=\"LPA-CTRL\" data-lpaid=\"ClosureRemarksL\" data-lpatype=\"Label\" style=\"top: 65px; left: 1px;\" data-lpalabel=\"Observações\" data-originaltop=\"65\">Observações</span><span id=\"LPACTRL_EffectivenessEvaluationL\" class=\"LPA-CTRL\" data-lpaid=\"EffectivenessEvaluationL\" data-lpatype=\"Label\" style=\"top: 39px; left: 1px;\" data-lpalabel=\"Avaliação da eficácia\" data-originaltop=\"39\">Avaliação da eficácia</span><select id=\"LPACTRL_EffectivenessEvaluation\" class=\"LPA-CTRL\" data-lpaid=\"EffectivenessEvaluation\" data-lpatype=\"Combo\" style=\" width: 200px;top: 39px;left: 119px;font-weight: bold;\" data-lpalabel=\"Avaliação da eficácia\" data-lparequired=\"false\" data-originaltop=\"39\" data-lpabind-autoorder=\"true\" data-lpabind-autoordertype=\"asc\"><option value=\"\"></option><option value=\"0. Nada eficaz\">0. Nada eficaz</option><option value=\"1. Parcialmente eficaz\">1. Parcialmente eficaz</option><option value=\"2. Totalmente eficaz\">2. Totalmente eficaz</option></select><input type=\"text\" id=\"LPACTRL_TrainingPlanCompleteGraph\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlanCompleteGraph\" data-lpatype=\"Text\" style=\"width: 100px; top: 9px; left: 862px;\" data-lpalabel=\"TrainingPlanCompleteGraph\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"9\" data-lpahidden=\"true\"><span id=\"LPACTRL_TrainingPlanCompleteGraphLL\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlanCompleteGraphLL\" data-lpatype=\"Label\" style=\"top: 9px; left: 701px;\" data-lpalabel=\"TrainingPlanCompleteGraphL\" data-originaltop=\"9\" data-lpahidden=\"true\">TrainingPlanCompleteGraphL</span></div><div id=\"tab_Tab5PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab5\" data-lpapanelid=\"Tab5Panel\" style=\"position:relative;\" data-lpatabcontenttext=\"Histórico de Formações\"><span id=\"LPACTRL_lineL333\" class=\"LPA-CTRL\" data-lpaid=\"lineL333\" data-lpatype=\"Label\" style=\" top: 5px;left: 68px;color: dodgerblue;font-size: 14px;\" data-lpalabel=\"___________________________________________\" data-originaltop=\"5\">___________________________________________</span><span id=\"LPACTRL_tabAprovLinhaComplementarL2\" class=\"LPA-CTRL\" data-lpaid=\"tabAprovLinhaComplementarL2\" data-lpatype=\"Label\" style=\"top: 5px; left: 397px; color: dodgerblue; font-size: 14px;\" data-lpalabel=\"______________________________________________________\" data-originaltop=\"5\" data-lpahidden=\"true\">______________________________________________________</span><span id=\"LPACTRL_PlaneadoL23\" class=\"LPA-CTRL\" data-lpaid=\"PlaneadoL23\" data-lpatype=\"Label\" style=\" top: 10px;left: 1px;color: dodgerblue;font-size: 14px;\" data-lpalabel=\"Histórico\" data-originaltop=\"10\">Histórico</span><table id=\"LPACTRL_TrainingPlanHistory\" class=\"LPA-CTRL\" data-lpaid=\"TrainingPlanHistory\" data-lpatype=\"Table\" style=\" top: 38px;left: 1px;width: 400px;font-size: 12px!important;\" data-lpalabel=\"Histórico\" data-lpatable=\"TrainingPlanHistory\" data-lpabind-task=\"\" data-lpabind-att=\"\" title=\"\" data-originaltop=\"38\" data-lpabind-optimized=\"\" data-lpatable-elementsunder=\"true\" data-lpabind-wkf=\"Formação\" data-lpatable-allowfilters=\"false\" data-lpadisabled=\"true\"><thead style=\"background-color: #E9ECF1;\"><tr><th>Table Column</th><th>Table Column</th></tr></thead><tbody></tbody></table></div></div>",
    "css": "",
    "js": "//MANTER ESTA FUNCAO\r\n/*function NotificateSupervisor(thisElement) {\r\n    var email = thisElement.parent().parent().find('select[data-lpatablecolumn=\"Supervisor\"]').val();\r\n    lpa_wkf_permissions_add(email);\r\n    email = LPA_USER_EMAIL_FROMID(email);\r\n    lpa_email_open({ to: email, cc: \"\" + lpa_user(undefined, 'email') + \"\", bcc: undefined, subject: \"Levantamento de necessidades de formação | \" + lpa_value('Year') + \" | Código : \" + lpa_wkf_code() + \"\", text: 'Caro colega,<br><br>Foi solicitada a sua intervenção para o levantamento de necessidades de formação para o ano ' + lpa_value('Year') + '<br><br>Por favor clique no link seguinte para preencher as necessidades de formação dos colaboradores da sua equipa.<br>Deve preencher a linha da tabela \"Lista de necessidades de formação\" da tabela do separado  \"Necessidades de Formação.<br>Procure o seu nome e preencha a coluna correspondente.<br><br>O seu contributo é muito importante para este processo.<br><br>Link de acesso:<br>https://epsilon.myagir.pt/workflow.aspx?id=877<br><br>Os melhores cumprimentos<br>' + lpa_user(undefined, 'name') + '<br>' + lpa_user(undefined, 'email') + '<br>' + lpa_organization() + '' });\r\n}\r\n*/\r\njsonTrainingPlan = {}\r\n\r\nlpa_change('Year', function() {\r\n    if (lpa_val('Year') !== '') {\r\n        lpa_val('StartDate', lpa_date('01/01/' + lpa_val('Year')).format('DD/MM/YYYY'))\r\n        lpa_val('EndDate', lpa_date('31/12/' + lpa_val('Year')).format('DD/MM/YYYY'))\r\n    } else {\r\n        lpa_val('StartDate', '')\r\n        lpa_val('EndDate', '')\r\n    }\r\n})\r\n\r\nlpa_click('EnviarLembreteL', function() {\r\n    lpa_table_rows('FormacaoTrainingNeeds', function(row) {\r\n        lpa_style(row.Supervisor, 'font-weight', 'bold');\r\n                if (row.columnchildrenstatus == 'Registo') {\r\n            var filhoID = lpa_sql(\"Select AssociacaoEstruturaID as ID, EstruturaCodigo as Code from AssociacaoTabelaEstrutura inner join Estrutura on EstruturaID = AssociacaoEstruturaID where AssociacaoTabela = 'FormacaoTrainingNeeds' and AssociacaoLinhaID = @id\", {\r\n                id: row.id\r\n            })\r\n         \r\n            lpa_email({\r\n                to: lpa_user(lpa_val(row.Supervisor)).email,\r\n                subject: 'Necessidades de Formação em falta',\r\n                text: 'Caro/a Colega ' + lpa_user(lpa_val(row.Supervisor)).name + ',<br><br>Relembramos que é necessário registar o seu resumo de Necessidades de formação presente no registo: <a href=\"' + lpa_site() + '/workflow_lite.aspx?id=' + filhoID.ID + '\">' + filhoID.Code + '</a><br><br>Com os nossos melhores cumprimentos,<br>' + lpa_organization()\r\n            })\r\n            lpa_message('Email enviado com sucesso.', {\r\n                type: 'success'\r\n            })\r\n           \r\n        }\r\n    });\r\n})\r\n\r\nlpa_click('CriarWorkflowFormacaoL', function() {\r\n    lpa_modal_yesno('Deseja criar os registos de formação? Este processo pode ser demorado, por favor aguarde. Caso todos os registos de Formação estejam criados, nenhum será gerado de novo.', {\r\n        yes_text: 'Sim',\r\n        no_text: 'Não',\r\n        yes: function() {\r\n            lpa_table_rows('TrainingPlan', function(row) {\r\n                var filhoExiste = lpa_number(lpa_sql(\"Select count(AssociacaoLinhaID) as C From AssociacaoTabelaEstrutura where AssociacaoTabela = 'TrainingPlan' and AssociacaoLinhaID = @id\", {\r\n                    id: row.id\r\n                }).C)\r\n                if (filhoExiste == 0) {\r\n                    var Included = 'Sim';\r\n                    if (row.columnchildrenstatus == '') {\r\n                        var wkf = lpa_wkf_new('Formação', lpa_user(lpa_val(row.TrainingManager)).id, {\r\n                            title: lpa_val(row.Training),\r\n                            start: lpa_val(row.StartDate),\r\n                            deadline: 0\r\n\r\n                        });\r\n                        lpa_wkf_val(wkf, {\r\n                            'CreateType': 'Plano de formações',\r\n                            'Training': lpa_val(row.Training),\r\n                            'StartDate': lpa_val(row.StartDate),\r\n                            'EndDate': lpa_val(row.EndDate),\r\n                            'Department':lpa_value('Department'),\r\n                            'Trainer': lpa_val(row.Trainer),\r\n                            'Recipients': lpa_val(row.Recipients),\r\n                            'Duration': lpa_val(row.Duration),\r\n                            'TrainingManager': lpa_value(row.TrainingManager),\r\n                            'TipoFormacao': lpa_val(row.TipoFormacao),\r\n                            'IncludedInTrainingPlan': Included,\r\n                            'Cost':lpa_val(row.Cost)\r\n                        })\r\n                        lpa_sql('INSERT INTO AssociacaoTabelaEstrutura (AssociacaoTabela, AssociacaoLinhaID, AssociacaoEstruturaID) VALUES (@tabela, @linha, @wkf)', {\r\n                            tabela: 'TrainingPlan',\r\n                            linha: row.id,\r\n                            wkf: wkf\r\n                        })\r\n                    }\r\n                }\r\n            })\r\n            lpa_wkf_save();\r\n            lpa_table_load('TrainingPlan')\r\n            lpa_modal_yesno_hide();\r\n        },\r\n        no: function() {\r\n            lpa_modal_yesno_hide();\r\n        }\r\n    })\r\n})\r\n\r\nlpa_click('CriarWorkflowL', function() {\r\n    lpa_modal_yesno('Deseja criar os registos de Necessidades de formação? Este processo pode ser demorado, por favor aguarde. Caso todos os registos de Necessidades de Formação estejam criados, nenhum será gerado de novo.', {\r\n        yes_text: 'Sim',\r\n        no_text: 'Não',\r\n        yes: function() {\r\n            lpa_table_rows('FormacaoTrainingNeeds', function(row) {\r\n                var filhoExiste = lpa_number(lpa_sql(\"Select count(AssociacaoLinhaID) as C From AssociacaoTabelaEstrutura where AssociacaoTabela = 'FormacaoTrainingNeeds' and AssociacaoLinhaID = @id\", {\r\n                    id: row.id\r\n                }).C)\r\n                if (filhoExiste == 0) {\r\n                    if (row.columnchildrenstatus == '') {\r\n                        var wkf = lpa_wkf_new('Necessidades de Formação', lpa_user(lpa_val(row.Supervisor)).id, {\r\n                            title: \"Necessidades de Formação\",\r\n                            fields: {\r\n                                TypeOfPlan: lpa_val('TypeOfPlan'),\r\n                                Scope: lpa_val('Scope'),\r\n                                Year: lpa_val('Year'),\r\n                                Supervisor: lpa_value(row.Supervisor),\r\n                                StartDate: lpa_val('StartDate'),\r\n                                EndDate: lpa_val('EndDate'),\r\n                                WKF_Code: lpa_wkf_code()\r\n                            }\r\n\r\n                        });\r\n                        // lpa_wkf_val(wkf, {\r\n                        //     'CreateType': 'Plano de formações',\r\n                        //     'Training': lpa_val(row.Training),\r\n                        //     'StartDate': lpa_val(row.StartDate),\r\n                        //     'EndDate': lpa_val(row.EndDate),\r\n                        //     'Trainer': lpa_val(row.Trainer),\r\n                        //     'Recipients': lpa_val(row.Recipients),\r\n                        //     'Duration': lpa_val(row.Duration),\r\n                        //     'TrainingManager': lpa_val(row.TrainingManager),\r\n                        //     'TipoFormacao': lpa_val(row.TipoFormacao)\r\n                        //     //'IncludedInTrainingPlan': Included //\r\n                        // })\r\n                        lpa_sql(\"Insert into AssociacaoTabelaEstrutura (AssociacaoTabela,AssociacaoLinhaID,AssociacaoEstruturaID) values (@tabela,@linha,@id)\", {\r\n                            id: wkf,\r\n                            tabela: 'FormacaoTrainingNeeds',\r\n                            linha: row.id\r\n                        })\r\n                    }\r\n                }\r\n            })\r\n            lpa_wkf_save();\r\n            lpa_table_load('FormacaoTrainingNeeds')\r\n            lpa_modal_yesno_hide();\r\n        },\r\n        no: function() {\r\n            lpa_modal_yesno_hide();\r\n        }\r\n    })\r\n})\r\n\r\n// TABELAS\r\nlpa_table('FormacaoTrainingNeeds', function() {\r\n    // LOAD TABELA\r\n    TableColumnOptions()\r\n    // TABLE READONLYS\r\n    lpa_table_column_readonly('FormacaoTrainingNeeds', 'TrainingNeeds', true);\r\n    lpa_table_rows('FormacaoTrainingNeeds', function(row) {\r\n        if (row.columnchildrenstatus == '') {\r\n            $('#LPACTRL_FormacaoTrainingNeeds tr[data-lpa-rowid=' + row.id + ']').find('a.linkCriarNovoWorkflow').hide()\r\n        } else {\r\n            $('#LPACTRL_FormacaoTrainingNeeds tr[data-lpa-rowid=' + row.id + ']').find('a.linkCriarNovoWorkflow').show()\r\n        }\r\n        // LPA CHANGES\r\n        lpa_style(row.Supervisor, 'font-weight', 'bold');\r\n    });\r\n    // LOADS TABELA\r\n    lpa_val('NumeroNecessidades', lpa_table_rows_number('FormacaoTrainingNeeds'));\r\n    ConditionalVisibility()\r\n})\r\n\r\nlpa_table('TrainingPlan', function() {\r\n    // LOAD TABELA\r\n    TableColumnOptions()\r\n    TrainingPlanColumnVisibility()\r\n    // TABLE READONLYS\r\n    lpa_table_column_readonly('TrainingPlan', 'EvaluationOfTraining', true);\r\n    // TABLE ROWS\r\n    lpa_table_rows('TrainingPlan', function(row) {\r\n        //Styles\r\n        lpa_style(row.Training, 'font-weight', 'bold');\r\n        lpa_style(row.Recipients, 'background-color', '#ccf2ff');\r\n        // LPA CHANGES\r\n        lpa_change(row.EndDate, function() {\r\n            CheckTableDates(row);\r\n        });\r\n        lpa_change(row.StartDate, function() {\r\n            CheckTableDates(row);\r\n        });\r\n        lpa_input(row.Cost, function() {\r\n            fillJson(row)\r\n        });\r\n        lpa_input(row.Duration, function() {\r\n            fillJson(row)\r\n        });\r\n        fillJson(row)\r\n        hideLinks(row)\r\n        ReplaceWkfNEwText(row)\r\n    });\r\n    //functions criar wkf Pádeiro\r\n    WkfNew()\r\n    // Valores Externos a Tabela\r\n    lpa_val('TotalActions', lpa_table_rows_number('TrainingPlan'));\r\n})\r\n\r\nlpa_table('TrainingPlanHistory', function() {\r\n    lpa_table_rows('TrainingPlanHistory', function(row) {\r\n        if (lpa_val(row.wkfFormacao) !== '') {\r\n            var td = row.Link\r\n            row.Link.hide();\r\n            td.parent().children('.teste').remove()\r\n            td.parent().append('<a href=\"' + lpa_site() + '/workflow_lite.aspx?id=' + lpa_val(row.wkfFormacao) + '\" target=\"_blank\"; class=\"teste\">' + lpa_icon(\"fas fa-link\") + '</a>')\r\n        }\r\n    });\r\n})\r\n//function fillJson()\r\nfunction fillJson(row) {\r\n\r\n    if (!jsonTrainingPlan[row.id]) {\r\n        jsonTrainingPlan[row.id] = {\r\n            'StartDate': lpa_val(row.StartDate),\r\n            'EndDate': lpa_val(row.EndDate),\r\n            'Cost': lpa_val(row.Cost),\r\n            'Duration': lpa_val(row.Duration),\r\n            'columnchildrenstatus': row.columnchildrenstatus\r\n        }\r\n    } else {\r\n        jsonTrainingPlan[row.id].StartDate = lpa_val(row.StartDate)\r\n        jsonTrainingPlan[row.id].EndDate = lpa_val(row.EndDate)\r\n        jsonTrainingPlan[row.id].Cost = lpa_number(row.Cost)\r\n        jsonTrainingPlan[row.id].Duration = lpa_val(row.Duration)\r\n        jsonTrainingPlan[row.id].columnchildrenstatus = row.columnchildrenstatus\r\n    }\r\n    CalculosJson()\r\n}\r\n\r\n// Function: Hours\r\nfunction CalculosJson() {\r\n    let hours = 0;\r\n    let TotalActionsExecutado = 0\r\n    let TotalHoursExecutado = 0\r\n    let RealCostExecutado = 0\r\n    let custo = 0\r\n    lpa_json_each(jsonTrainingPlan, function(key, values) {\r\n        if (lpa_is_number(values.Duration)) {\r\n            hours += lpa_number(values.Duration)\r\n        }\r\n        if (lpa_is_number(values.Cost)) {\r\n            custo += lpa_number(values.Cost)\r\n        }\r\n        if (values.columnchildrenstatus == 'Fechado') {\r\n            TotalActionsExecutado += 1\r\n            TotalHoursExecutado += lpa_number(values.Duration)\r\n            RealCostExecutado += lpa_round(lpa_number(values.Cost), 2)\r\n        }\r\n    })\r\n    lpa_value('RealCost', custo);\r\n    lpa_value('TotalHours', hours);\r\n    BudgetGraph();\r\n    lpa_val('TotalActionsExecutado', TotalActionsExecutado)\r\n    lpa_val('TotalHoursExecutado', TotalHoursExecutado)\r\n    lpa_val('RealCostExecutado', RealCostExecutado)\r\n}\r\n\r\n// Function: BudgetGraph\r\nfunction BudgetGraph() {\r\n    var value = lpa_round(lpa_number('RealCost') - lpa_number('Budget'), 2)\r\n    lpa_val('BudgetChart', value + ' €');\r\n    if (lpa_number('BudgetChart') <= 0) {\r\n        lpa_style('BudgetChartL', 'color', '#7CFC00');\r\n    } else if (lpa_number('BudgetChart') > 0) {\r\n        lpa_style('BudgetChartL', 'color', '#FF0000');\r\n    }\r\n}\r\n\r\nfunction ReplaceWkfNEwText(row) {\r\n    var row_n = lpa(row.TrainingManager).closest('tr').attr('data-lpa-rowid');\r\n    var td = lpa(row.Link).closest('td');\r\n    var tr = td.closest('tr');\r\n    if (tr.find('.linkCriarNovoWorkflow').hasClass('links_open'))\r\n        td.html('<a href=\"javascript:;\" class=\"LPA-CTRL-TABLE-CELL\" data-lpatablecolumn=\"Link\" data-lpacellid=\"TrainingPlan_Link_' + row_n + '\" onclick=\"' + tr.find('.linkCriarNovoWorkflow').attr('onclick') + '\">Abrir FOR</a>');\r\n    else\r\n        td.html('<a href=\"javascript:;\" class=\"LPA-CTRL-TABLE-CELL create_wkf\" data-lpatablecolumn=\"Link\" data-lpacellid=\"TrainingPlan_Link_' + row_n + '\">Criar FOR</a>');\r\n}\r\n\r\nfunction WkfNew() {\r\n    $('.create_wkf').unbind('click');\r\n    $('.create_wkf').on('click', function() {\r\n        var row = $(this).closest('tr').attr('data-lpa-rowid');\r\n        var filhoExiste = lpa_number(lpa_sql(\"Select count(AssociacaoLinhaID) as C From AssociacaoTabelaEstrutura where AssociacaoTabela = 'TrainingPlan' and AssociacaoLinhaID = @id\", {\r\n            id: row\r\n        }).C)\r\n        if (filhoExiste == 0) {\r\n            var intervenient = $(this).closest('tr').find('select[data-lpatablecolumn=\"TrainingManager\"]').val();\r\n            var intervenient_name = lpa_text($(this).closest('tr').find('select[data-lpatablecolumn=\"TrainingManager\"]').attr('data-lpacellid'));\r\n            var Training = lpa_value('TrainingPlan_Training_' + row);\r\n            var StartDate = lpa_value('TrainingPlan_StartDate_' + row);\r\n            var EndDate = lpa_value('TrainingPlan_EndDate_' + row);\r\n            var Trainer = lpa_value('TrainingPlan_Trainer_' + row);\r\n            var Recipients = lpa_value('TrainingPlan_Recipients_' + row);\r\n            var Duration = lpa_value('TrainingPlan_Duration_' + row);\r\n            var TrainingManager = lpa_value('TrainingPlan_TrainingManager_' + row);\r\n            var TipoFormacao = lpa_value('TrainingPlan_TipoFormacao_' + row);\r\n            var Cost = lpa_value('TrainingPlan_Cost_' + row);\r\n            var Included = 'Sim';\r\n            var wkf = lpa_wkf_new('Formação', intervenient, {\r\n                title: Training,\r\n                start: StartDate,\r\n                deadline: 0,\r\n                fields: {\r\n                    'CreateType': 'Plano de formações',\r\n                    'Training': Training,\r\n                    'StartDate': StartDate,\r\n                    'EndDate': EndDate,\r\n                    'Department':lpa_value('Department'),\r\n                    'Trainer': Trainer,\r\n                    'Recipients': Recipients,\r\n                    'Duration': Duration,\r\n                    'TrainingManager': TrainingManager,\r\n                    'TipoFormacao': TipoFormacao,\r\n                    'IncludedInTrainingPlan': Included,\r\n                    'Cost':Cost\r\n                }\r\n            });\r\n            lpa_sql('INSERT INTO AssociacaoTabelaEstrutura (AssociacaoTabela, AssociacaoLinhaID, AssociacaoEstruturaID) VALUES (@tabela, @linha, @wkf)', {\r\n                tabela: 'TrainingPlan',\r\n                linha: row,\r\n                wkf: wkf\r\n            });\r\n            lpa_wkf_save();\r\n            lpa_table_load('TrainingPlan')\r\n            LPA_OPEN('workflow.aspx?id=' + wkf);\r\n        } else {\r\n            lpa_message('Já se encontra em progresso criado uma formação para esta linha da tabela.', {\r\n                title: 'Formação já criada',\r\n                type: 'info'\r\n            })\r\n            lpa_table_load('TrainingPlan')\r\n        }\r\n    });\r\n}\r\n\r\n// Function: CheckTableDates\r\nfunction CheckTableDates(row) {\r\n    if (lpa_date(row.EndDate) < lpa_date(row.StartDate)) {\r\n        lpa_message('A data de início não pode ser superior à data de fim.');\r\n        lpa(row.EndDate).closest('div').addClass('lpa_required_field_empty');\r\n        lpa_val(row.EndDate, '');\r\n    } else {\r\n        lpa(row.EndDate).closest('div').removeClass('lpa_required_field_empty');\r\n        fillJson(row)\r\n    }\r\n}\r\n\r\nfunction hideLinks(row) {\r\n    if (lpa_status() == 'Fechado' && row.columnchildrenstatus !== '') {\r\n        $('#LPACTRLCELL_TrainingPlan tr[data-lpa-rowid=' + row.id + ']').find('a.linkCriarNovoWorkflow').show()\r\n    } else if (lpa_status() == 'Implementação') {\r\n        $('#LPACTRLCELL_TrainingPlan tr[data-lpa-rowid=' + row.id + ']').find('a.linkCriarNovoWorkflow').show()\r\n    } else {\r\n        $('#LPACTRLCELL_TrainingPlan tr[data-lpa-rowid=' + row.id + ']').find('a.linkCriarNovoWorkflow').hide()\r\n    }\r\n}\r\n\r\n// function TableRequired()\r\nfunction TableColumnOptions() {\r\n    if (lpa_status() === 'Planeamento' || lpa_status() === 'Aprovação') {\r\n        lpa_table_column_required('TrainingPlan', 'Training', true);\r\n        lpa_table_column_required('TrainingPlan', 'TrainingManager', true);\r\n        lpa_table_column_required('TrainingPlan', 'Recipients', true);\r\n        lpa_table_column_required('TrainingPlan', 'TipoFormacao', true);\r\n        lpa_table_column_required('TrainingPlan', 'StartDate', true);\r\n        lpa_table_column_required('TrainingPlan', 'EndDate', true);\r\n        lpa_table_column_visible('TrainingPlan', 'EvaluationOfTraining', false);\r\n        lpa_table_allow_new('TrainingPlan', true);\r\n        lpa_table_allow_remove('TrainingPlan', true);\r\n    } else {\r\n        lpa_table_allow_new('TrainingPlan', false);\r\n        lpa_table_allow_remove('TrainingPlan', false);\r\n    }\r\n    if (lpa_status() === 'Registo') {\r\n        lpa_table_column_required('FormacaoTrainingNeeds', 'Supervisor', true);\r\n        lpa_table_column_visible('TrainingPlan', 'EvaluationOfTraining', false);\r\n    }\r\n    if (lpa_status() === 'Implementação' || lpa_status() === 'Fechado') {\r\n        lpa_table_column_visible('TrainingPlan', 'EvaluationOfTraining', true);\r\n    }\r\n    lpa('TrainingPlan').find('.linkCriarNovoWorkflow').parent('td').hide();\r\n    lpa('TrainingPlan').find(\"[data-lpacelltype='Workflow']\").hide();\r\n}\r\n\r\n/* LOAD */\r\nConditionalVisibility();\r\nConditionalFormats();\r\nTabSelect();\r\nDefaultValues();\r\nTrainingsClosed();\r\nAlwaysEditable();\r\nTrainingsClosed();\r\nTabVisibility();\r\n\r\n/* SUBMIT */\r\nlpa_submit(function() {\r\n    if (lpa_submit_validate())\r\n        TestMandatoryFields();\r\n    if (lpa_submit_validate())\r\n        WorkflowStop();\r\n    if (lpa_submit_validate())\r\n        ConditionalSteps();\r\n    if (lpa_submit_validate())\r\n        PendingTasks();\r\n\r\n    if (lpa_submit_validate())\r\n        lpa_wkf_next();\r\n    else\r\n        lpa_wkf_stop(false);\r\n});\r\n\r\n/* STATUS CHANGE */\r\nlpa_status_change(function() {\r\n    ConditionalVisibility();\r\n    TrainingPlanColumnVisibility()\r\n    AutoEmail();\r\n    CheckNecessidades()\r\n    AttachReport()\r\n    lpa_table_load('TrainingPlan')\r\n    lpa_table_load('FormacaoTrainingNeeds')\r\n    TabVisibility();\r\n});\r\n\r\n/* FIELDS */\r\nlpa_change('Approval2', function() {\r\n    ConditionalVisibility();\r\n    ConditionalFormats();\r\n});\r\nlpa_change('Budget', function() {\r\n    CalculosJson();\r\n});\r\nlpa_click('CloneL', function() {\r\n    CloneWorkflow();\r\n});\r\nlpa_change('EffectivenessEvaluation', function() {\r\n    ConditionalVisibility();\r\n});\r\nlpa_change('Question1', function() {\r\n    ConditionalFormats();\r\n});\r\nlpa_change('EffectivenessEvaluation', function() {\r\n    ConditionalFormats();\r\n});\r\nlpa_change('ModoNecessidadesFomacao', function() {\r\n    ConditionalVisibility();\r\n});\r\nlpa_change('Scope', function() {\r\n    ConditionalVisibility();\r\n});\r\nlpa_click('PlanoFormacaoL', function() {\r\n    LinkToReport();\r\n});\r\nlpa_field_event('configPlan', function() {\r\n    TrainingPlanColumnVisibility();\r\n    TabVisibility();\r\n    ConditionalVisibility();\r\n})\r\n\r\n\r\n\r\n\r\n/* FUNCTIONS */\r\n\r\n// Function: CheckNecessidades\r\nfunction CheckNecessidades() {\r\n    if (lpa_status() !== 'Registo') {\r\n        var necessidadesInvalidas = lpa_sql(\"select AssociacaoTabelaEstrutura.AssociacaoEstruturaID From AssociacaoTabelaEstrutura  inner join FormacaoTrainingNeeds  on AssociacaoTabelaEstrutura.AssociacaoLinhaID = FormacaoTrainingNeeds.FormacaoTrainingNeedsID inner join Estrutura on AssociacaoTabelaEstrutura.AssociacaoEstruturaID = Estrutura.EstruturaID where AssociacaoTabelaEstrutura.AssociacaoTabela = 'FormacaoTrainingNeeds' and FormacaoTrainingNeeds.EstruturaID = @id and Estrutura.EstruturaEstado = 1\", {\r\n            id: lpa_wkf_id()\r\n        })\r\n        if (necessidadesInvalidas) {\r\n            lpa_each(necessidadesInvalidas, function(registo) {\r\n                lpa_wkf_move(registo.AssociacaoEstruturaID, 'Cancelado', undefined, 'Lista de necessidades de formação cancelada.')\r\n            })\r\n            lpa_table_load('FormacaoTrainingNeeds')\r\n        }\r\n\r\n    }\r\n}\r\n\r\n\r\n// Function: AttachReport\r\nfunction AttachReport() {\r\n    if (lpa_status() === 'Implementação') {\r\n        lpa_report_to_attachment([{\r\n            name: 'Plano de Formação',\r\n            alias: 'Plano de Formação',\r\n            format: 'pdf',\r\n            filters: {\r\n                'AGIR_CODE': lpa_wkf_code()\r\n            }\r\n        }])\r\n    }\r\n}\r\n\r\n// Function: TestMandatoryFields\r\nfunction TrainingPlanColumnVisibility() {\r\n    if (lpa_value('configPlan') === 'B - Modo Catálogo de Formação' || (lpa_status() === 'Registo' || lpa_status() === 'Planeamento')) {\r\n        lpa_table_column_visible('TrainingPlan', 'Link', false)\r\n        lpa_table_column_visible('TrainingPlan', 'EvaluationOfTraining', false)\r\n        lpa_table_column_visible('TrainingPlan', 'agirstatus', false)\r\n    } else {\r\n        lpa_table_column_visible('TrainingPlan', 'Link', true)\r\n        lpa_table_column_visible('TrainingPlan', 'EvaluationOfTraining', true)\r\n        lpa_table_column_visible('TrainingPlan', 'agirstatus', true)\r\n    }\r\n}\r\n\r\n// Function: TestMandatoryFields\r\nfunction TestMandatoryFields() {\r\n    if (lpa_status() == 'Registo') {\r\n        lpa_required(\"PlanManager\", true);\r\n        lpa_required(\"Year\", true);\r\n        lpa_required(\"Question1\", true);\r\n        lpa_required(\"TypeOfPlan\", true);\r\n        lpa_required(\"ModoNecessidadesFomacao\", true);\r\n        lpa_required(\"Scope\", true);\r\n        lpa_required(\"Department\", true);\r\n        lpa_required(\"StartDate\", true);\r\n        lpa_required(\"EndDate\", true);\r\n        lpa_required(\"ResumoNecessidadesFormacao\", true);\r\n    }\r\n    if (lpa_status() == 'Aprovação') {\r\n        lpa_required(\"Approval2\", true);\r\n        lpa_required(\"ApprovalReasonNo\", true);\r\n    }\r\n    if (lpa_status() == 'Planeamento') {\r\n        lpa_required(\"Budget\", true);\r\n    }\r\n    if (lpa_status() == 'Implementação') {\r\n        lpa_required(\"EffectivenessEvaluation\", true);\r\n        lpa_required(\"MedidasEficacia\", true);\r\n    }\r\n}\r\n\r\n// Function: ConditionalSteps\r\nfunction ConditionalSteps() {\r\n    if (lpa_status() == 'Registo' && lpa_value('Question1') != 'Sim') {\r\n        lpa_wkf_stop();\r\n        lpa_message(\"Não pode prosseguir enquanto não tiverem sido recolhidas todas as necessidades de formação.\", {\r\n            title: \"Necessidades de formação Pendentes!\",\r\n            type: \"info\"\r\n        });\r\n    }\r\n    if (lpa_status() == 'Aprovação' && lpa_value('Approval2') == 'Aprovado') {\r\n        lpa_wkf_taskowner_next(\"\" + lpa_value('PlanManager') + \"\");\r\n        lpa_wkf_taskowner_next_filter(\"\" + lpa_value('PlanManager') + \"\");\r\n        lpa_message(\"A próxima tarefa deve ser efetuada pelo Gestor do Plano de Formação : \" + lpa_value('PlanManager') + \" até ao dia \" + lpa_value('EndDate') + \"\", {\r\n            title: \"Agir info!\",\r\n            type: \"info\"\r\n        });\r\n        lpa_wkf_date_next(\"\" + lpa_value('EndDate') + \"\");\r\n    }\r\n    if (lpa_status() == 'Aprovação' && lpa_value('Approval2') == 'Não Aprovado') {\r\n        lpa_status_next(\"Planeamento\");\r\n        lpa_wkf_taskowner_next(\"\" + lpa_value('PlaneadoPor') + \"\");\r\n        lpa_wkf_taskowner_next_filter(\"\" + lpa_value('PlaneadoPor') + \"\");\r\n        lpa_message(\"O Plano não foi Aprovado e será enviado de novo para Planeamento.\", {\r\n            title: \"Plano não Aprovado\",\r\n            type: \"info\"\r\n        });\r\n    }\r\n    if (lpa_status() == 'Registo' && lpa_value('Question1') == 'Sim') {\r\n        lpa_wkf_taskowner_next(\"\" + lpa_value('PlanManager') + \"\");\r\n        lpa_wkf_taskowner_next_filter(\"\" + lpa_value('PlanManager') + \"\");\r\n        lpa_message(\"A próxima tarefa deve ser efetuada pelo Gestor do Plano de Formação : \" + lpa_value('PlanManager') + \"\", {\r\n            title: \"Agir info!\",\r\n            type: \"info\"\r\n        });\r\n    }\r\n}\r\n\r\n// Function: ConditionalVisibility\r\nfunction ConditionalVisibility() {\r\n    if (lpa_value('Approval2') == 'Não Aprovado') {\r\n        lpa_visible(\"ApprovalReasonNo\", true);\r\n        lpa_visible(\"ApprovalReasonNoL\", true);\r\n    } else {\r\n        lpa_visible(\"ApprovalReasonNo\", false);\r\n        lpa_visible(\"ApprovalReasonNoL\", false);\r\n    }\r\n    if (lpa_value('EffectivenessEvaluation') == '0. Nada eficaz' || lpa_value('EffectivenessEvaluation') == '1. Parcialmente eficaz') {\r\n        lpa_visible(\"MedidasEficacia\", true);\r\n        lpa_visible(\"MedidasEficaciaL\", true);\r\n    } else {\r\n        lpa_visible(\"MedidasEficacia\", false);\r\n        lpa_visible(\"MedidasEficaciaL\", false);\r\n    }\r\n    if (lpa_value('ModoNecessidadesFomacao') == 'Completo') {\r\n        lpa_visible(\"FormacaoTrainingNeeds\", true);\r\n        lpa_visible(\"FormacaoTrainingNeedsL\", true);\r\n        lpa_visible(\"ResumoNecessidadesFormacao\", false);\r\n        lpa_visible(\"ResumoNecessidadesFormacaoL\", false);\r\n        lpa_visible(\"NumeroNecessidades\", true);\r\n        lpa_visible(\"NumeroNecessidadesL\", true);\r\n        lpa_visible('lineL',true)\r\n    }\r\n    if (lpa_value('ModoNecessidadesFomacao') == 'Simplificado') {\r\n        lpa_visible(\"ResumoNecessidadesFormacao\", true);\r\n        lpa_visible(\"ResumoNecessidadesFormacaoL\", true);\r\n        lpa_visible(\"FormacaoTrainingNeeds\", false);\r\n        lpa_visible(\"FormacaoTrainingNeedsL\", false);\r\n        lpa_visible(\"NumeroNecessidades\", false);\r\n        lpa_visible(\"NumeroNecessidadesL\", false);\r\n        lpa_visible('lineL',false)\r\n    }\r\n    if (lpa_status() == 'Registo' && lpa_value('ModoNecessidadesFomacao') == 'Completo' && lpa_value('NumeroNecessidades') != '0') {\r\n        lpa_visible(\"CriarWorkflowL\", true);\r\n        lpa_visible(\"EnviarLembreteL\", true);\r\n    } else {\r\n        lpa_visible(\"CriarWorkflowL\", false);\r\n        lpa_visible(\"EnviarLembreteL\", false);\r\n    }\r\n    if (lpa_value('Scope') == 'Setorial') {\r\n        lpa_visible(\"Department\", true);\r\n        lpa_visible(\"DepartmentL\", true);\r\n    } else {\r\n        lpa_visible(\"Department\", false);\r\n        lpa_visible(\"DepartmentL\", false);\r\n    }\r\n    if (lpa_status() == 'Implementação' && lpa_value('configPlan') !== 'B - Modo Catálogo de Formação') {\r\n        lpa_visible(\"CriarWorkflowFormacaoL\", true);\r\n    } else {\r\n        lpa_visible(\"CriarWorkflowFormacaoL\", false);\r\n    }\r\n\r\n    if (lpa_value('configPlan') === 'B - Modo Catálogo de Formação') {\r\n        lpa_visible(\"BudgetChartTitleL\", false);\r\n        lpa_visible(\"BudgetChart\", false);\r\n        lpa_visible(\"BudgetChartL\", false);\r\n        lpa_visible(\"RealCostExecutado\", false);\r\n        lpa_visible(\"RealCostExecutadoL\", false);\r\n        lpa_visible(\"TotalActionsExecutado\", false);\r\n        lpa_visible(\"TotalActionsExecutadoL\", false);\r\n        lpa_visible(\"TotalHoursExecutado\", false);\r\n        lpa_visible(\"Chart\", false);\r\n        lpa_visible('ExecutadoL',false);\r\n        lpa_visible('TotalHoursExecutadoL',false);\r\n        lpa_visible('lineL32',false);\r\n    } else {\r\n        lpa_visible(\"BudgetChartTitleL\", true);\r\n        lpa_visible(\"BudgetChart\", true);\r\n        lpa_visible(\"BudgetChartL\", true);\r\n        lpa_visible(\"RealCostExecutado\", true);\r\n        lpa_visible(\"RealCostExecutadoL\", true);\r\n        lpa_visible(\"TotalActionsExecutado\", true);\r\n        lpa_visible(\"TotalActionsExecutadoL\", true);\r\n        lpa_visible(\"TotalHoursExecutado\", true);\r\n        lpa_visible(\"Chart\", true);\r\n        lpa_visible('ExecutadoL',true);\r\n        lpa_visible('TotalHoursExecutadoL',true);\r\n        lpa_visible('lineL32',true);\r\n    }\r\n\r\n\r\n}\r\n\r\n// Function: EmailTRainningNeeds\r\nfunction EmailTRainningNeeds() {\r\n    lpa_email_open({\r\n        to: undefined,\r\n        cc: \"\" + lpa_user_info('email') + \"\",\r\n        bcc: undefined,\r\n        subject: \"Levantamento de necessidades de formação | \" + lpa_value('Year') + \" | Código : \" + lpa_wkf_code() + \"\",\r\n        text: 'Caro colega,<br><br>Foi solicitada a sua intervenção para o levantamento de necessidades de formação para o ano ' + lpa_value('Year') + '<br><br>Por favor clique no link seguinte para preencher as necessidades de formação dos colaboradores da sua equipa.<br>Deve preencher a linha da tabela \"Lista de necessidades de formação\" da tabela do separado  \"Necessidades de Formação.<br>Procure o seu nome e preencha a coluna correspondente.<br><br>O seu contributo é muito importante para este processo.<br><br>Link de acesso:<br>' + lpa_url() + '<br><br>Os melhores cumprimentos<br>' + lpa_user_info('name') + '<br>' + lpa_user_info('email') + '<br>' + lpa_organization() + ''\r\n    });\r\n}\r\n\r\n// Function: SendEmail\r\nfunction SendEmail() {\r\n    LPA('FormacaoTrainingNeeds').find('textarea[data-lpatablecolumn=\"Notification\"]').parent('td').html('<a href=\"javascript:;\" class=\"Email\">Enviar Email</a>');\r\n    LPA('FormacaoTrainingNeeds').find('textarea[data-lpatablecolumn=\"Notification\"]').remove();\r\n    LPA('FormacaoTrainingNeeds').unbind('click');\r\n    LPA('FormacaoTrainingNeeds').find('.Email').on('click', function() {\r\n        NotificateSupervisor($(this));\r\n    });\r\n}\r\n\r\n// Function: ConditionalFormats\r\nfunction ConditionalFormats() {\r\n    if (lpa_value('Approval2') == 'Aprovado') {\r\n        lpa_style(\"Approval2\", \"background-color\", '#A2E30E');\r\n    }\r\n    if (lpa_value('Approval2') == 'Não Aprovado') {\r\n        lpa_style(\"Approval2\", \"background-color\", '#EF8275');\r\n    }\r\n    if (lpa_value('Approval2') == '') {\r\n        lpa_style(\"Approval2\", \"background-color\", '#eeeed5');\r\n    }\r\n    if (lpa_value('Question1') == 'Não') {\r\n        lpa_style(\"Question1\", \"background-color\", '#EF8275');\r\n    }\r\n    if (lpa_value('Question1') == 'Sim') {\r\n        lpa_style(\"Question1\", \"background-color\", '#A2E30E');\r\n    }\r\n    if (lpa_value('Question1') == '') {\r\n        lpa_style(\"Question1\", \"background-color\", '#eeeed5');\r\n    }\r\n    if (lpa_value('EffectivenessEvaluation') == '0. Nada eficaz') {\r\n        lpa_style(\"EffectivenessEvaluation\", \"background-color\", '#EF8275');\r\n    }\r\n    if (lpa_value('EffectivenessEvaluation') == '1. Parcialmente eficaz') {\r\n        lpa_style(\"EffectivenessEvaluation\", \"background-color\", '#FFCA02');\r\n    }\r\n    if (lpa_value('EffectivenessEvaluation') == '2. Totalmente eficaz') {\r\n        lpa_style(\"EffectivenessEvaluation\", \"background-color\", '#A2E30E');\r\n    }\r\n}\r\n\r\n// Function: TrainingsClosed\r\nfunction TrainingsClosed() {\r\n    var total = lpa_number('TotalActions');\r\n    var closed = lpa_number('TotalActionsExecutado');\r\n\r\n    var value = ((closed / total) * 100);\r\n    setTimeout(function() {}, 4000);\r\n    lpa_val('TrainingPlanCompleteGraph', value);\r\n    var old_tab = lpa_tab_select();\r\n    lpa_tab_select('Plano de formação');\r\n    LPA_GAGE('Chart', 'Grau de cumprimento', lpa_number(value).toFixed(2), {\r\n        'decimals': false,\r\n        'min': 0,\r\n        'max': 100,\r\n        'symbol': ' %',\r\n        'pointer': true,\r\n        'counter': true,\r\n        levelColors: [\"#ff0000\", \"#ffff00\", \"#00ff00\"],\r\n        pointerOptions: {\r\n            toplength: -15,\r\n            bottomlength: 10,\r\n            bottomwidth: 12,\r\n            color: '#8e8e93',\r\n            stroke: '#ffffff',\r\n            stroke_width: 3,\r\n            stroke_linecap: 'round'\r\n        },\r\n    });\r\n    lpa_tab_select(old_tab);\r\n}\r\n\r\n// Function: CloneWorkflow\r\nfunction CloneWorkflow() {\r\n    lpa_modal_yesno('Pretende clonar este registo?', {\r\n        yes: function() {\r\n            var user_id = lpa_user_id(lpa_val('RegistrationBy'));\r\n            var link = LPA_WORKFLOW_CLONE(lpa_wkf_id(), 'Plano de formação', user_id, undefined, ['Necessidades de formação', 'Plano de formação']);\r\n            lpa_modal_yesno_hide();\r\n            lpa_open(link);\r\n        },\r\n        no: function() {\r\n            lpa_modal_yesno_hide();\r\n        }\r\n    });\r\n}\r\n\r\n// Function: PendingTasks\r\nfunction PendingTasks() {\r\n    if (lpa_status() == 'Implementação' && lpa_wkf_tasks_pending() > 0) {\r\n        lpa_message(\"Esta plano de formação possui \" + lpa_wkf_tasks_pending() + \" ações Pendentes. Não pode fechar o plano com ações Pendentes.\", {\r\n            title: \"Ações Pendentes!\",\r\n            type: \"info\"\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Function: TabSelect\r\nfunction TabSelect() {\r\n    if (lpa_status() == 'Fechado' || lpa_status() == 'Implementação') {\r\n        lpa_tab_select(\"Plano de formação\");\r\n    }\r\n}\r\n\r\n// Function: DefaultValues\r\nfunction DefaultValues() {\r\n    if (lpa_value('WKF_Code') == '') {\r\n        lpa_value(\"WKF_Code\", \"\" + lpa_wkf_code() + \"\");\r\n    }\r\n}\r\n\r\n// Function: AlwaysEditable\r\nfunction AlwaysEditable() {\r\n    lpa_readonly(\"PlanoFormacaoL\", false);\r\n}\r\n\r\n// Function: AutoEmail\r\nfunction AutoEmail() {\r\n    if (lpa_status() == 'Implementação' && lpa_value('Approval2') == 'Aprovado') {\r\n        lpa_email({\r\n            to: lpa_user(lpa_val('RegistoPor')).email + ',' + lpa_user().email,\r\n            subject: 'Aprovação plano formação ' + lpa_wkf_code(),\r\n            text: \"Caro/a Colega,<br><br>O Plano de formação \" + lpa_wkf_code() + \" foi aprovado com as seguintes caracteristicas: <br><br>-------------------<br><br>Ano: \" + lpa_val('Year') + \"<br>Tipo de plano: \" + lpa_val('TypeOfPlan') + \"<br>Âmbito: \" + lpa_val('Scope') + \"<br>Link: \" + lpa_url() + \"<br><br>-------------------<br><br>Os melhores cumprimentos,<br>\" + lpa_organization(),\r\n            report_filters: [{\r\n                name: 'Plano de formação',\r\n                alias: 'Plano de formação',\r\n                format: 'pdf',\r\n                filters: {\r\n                    'AGIR_CODE': lpa_wkf_code()\r\n                }\r\n            }]\r\n        })\r\n    }\r\n}\r\n\r\n// Function: LinkToReport\r\nfunction LinkToReport() {\r\n    var site = lpa_site();\r\n    var relatorio = lpa_sql(\"SELECT ReportID FROM Report WHERE ReportName = 'Plano de Formação'\");\r\n    lpa_open(site + '/report_viewer.aspx?id=' + relatorio.ReportID + '&AGIR CODE=' + lpa_wkf_code());\r\n}\r\n\r\n\r\n\r\nfunction WorkflowStop() {\r\n    if (lpa_status() == 'Registo' && lpa_value('ModoNecessidadesFomacao') == 'Completo' && lpa_value('NumeroNecessidades') == 0) {\r\n        lpa_wkf_stop();\r\n        lpa_message(\"No modo COMPLETO de levantamento de necessidades, deve ter pelo menos uma linha na tabela de pessoas a convidar.\", {\r\n            title: \"Dados em falta!\",\r\n            type: \"info\"\r\n        });\r\n    }\r\n\r\n    if (lpa_status() == 'Planeamento' && lpa_value('TotalActions') == 0) {\r\n        lpa_wkf_stop();\r\n        lpa_message(\"Certifique-se que criou as linhas de formação antes de enviar para aprovação.\", {\r\n            title: \"Dados em falta\",\r\n            type: \"error\"\r\n        });\r\n    }\r\n}\r\n\r\n\r\n// Function: TabVisibility\r\nfunction TabVisibility() {\r\n    if (lpa_value('configPlan') == 'B - Modo Catálogo de Formação' && (lpa_status() == 'Implementação' || lpa_status() == 'Fechado')) {\r\n        lpa_tab_visible(\"Tab5\", true);\r\n    } else {\r\n        lpa_tab_visible(\"Tab5\", false);\r\n    }\r\n}\r\n\r\n\r\n/* ----- LPA WIZARD ----- */\r\n/* WARNING: DO NOT MAKE ANY CHANGES BELOW THIS LINE, AS THEY WILL BE LOST */\r\n\r\n/* LOAD */\r\n\r\n/* FUNCTIONS */",
    "version": 3
  },
  "tbls": [
    {
      "name": "FormacaoTrainingNeeds",
      "cols": [
        {
          "name": "Supervisor",
          "col_type": "[nvarchar](max)",
          "ctrl": "Combo",
          "addnew": "False",
          "items": "",
          "label": "Supervisor",
          "auto_order": "True",
          "width": "null"
        },
        {
          "name": "TrainingNeeds",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Resumo das necessidades de formação",
          "auto_order": "True",
          "width": "null"
        },
        {
          "name": "Notification",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Notificação",
          "auto_order": "True",
          "width": "null"
        }
      ]
    },
    {
      "name": "TrainingPlan",
      "cols": [
        {
          "name": "Training",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Título da formação",
          "auto_order": "True",
          "width": "200"
        },
        {
          "name": "TipoFormacao",
          "col_type": "[nvarchar](max)",
          "ctrl": "Combo",
          "addnew": "False",
          "items": "Formação em sala\r\nFormação em posto de trabalho\r\nIntegração",
          "label": "Tipo de formação",
          "auto_order": "True",
          "width": "140"
        },
        {
          "name": "StartDate",
          "col_type": "[datetime]",
          "ctrl": "Date",
          "addnew": "False",
          "items": "",
          "label": "Data de início",
          "auto_order": "True",
          "width": "80"
        },
        {
          "name": "EndDate",
          "col_type": "[datetime]",
          "ctrl": "Date",
          "addnew": "False",
          "items": "",
          "label": "Data de fim",
          "auto_order": "True",
          "width": "80"
        },
        {
          "name": "Trainer",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Formador",
          "auto_order": "True",
          "width": "130"
        },
        {
          "name": "Cost",
          "col_type": "[decimal](19,2)",
          "ctrl": "Numeric",
          "addnew": "False",
          "items": "",
          "label": "Custo (€)",
          "auto_order": "True",
          "width": "90"
        },
        {
          "name": "Recipients",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Participantes (nesta fase descreva genericamente os participantes)",
          "auto_order": "False",
          "width": "200"
        },
        {
          "name": "Duration",
          "col_type": "[decimal](19,2)",
          "ctrl": "Numeric",
          "addnew": "False",
          "items": "",
          "label": "Duração (horas)",
          "auto_order": "False",
          "width": "50"
        },
        {
          "name": "TrainingManager",
          "col_type": "[nvarchar](max)",
          "ctrl": "Combo",
          "addnew": "False",
          "items": "",
          "label": "Gestor da formação",
          "auto_order": "True",
          "width": "130"
        },
        {
          "name": "EvaluationOfTraining",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Avaliação da formação",
          "auto_order": "True",
          "width": "40"
        },
        {
          "name": "Link",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Link",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "IDLinha",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "IDLinha",
          "auto_order": "True",
          "width": ""
        }
      ]
    },
    {
      "name": "TrainingPlanHistory",
      "cols": [
        {
          "name": "Formando",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Formando",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Training",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Título da formação",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "TipoFormacao",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Tipo de formação",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "StartDate",
          "col_type": "[datetime]",
          "ctrl": "Date",
          "addnew": "False",
          "items": "",
          "label": "Data de início",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "EndDate",
          "col_type": "[datetime]",
          "ctrl": "Date",
          "addnew": "False",
          "items": "",
          "label": "Data de fim",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Trainer",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Formador",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Cost",
          "col_type": "[decimal](19,4)",
          "ctrl": "Numeric",
          "addnew": "False",
          "items": "",
          "label": "Custo (€)",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Recipients",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Participantes (texto)",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Duration",
          "col_type": "[int]",
          "ctrl": "Numeric",
          "addnew": "False",
          "items": "",
          "label": "Duração (horas)",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "TrainingManager",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Gestor da formação",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "EvaluationOfTraining",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Avaliação da formação",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Estado",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Estado",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "Link",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Link",
          "auto_order": "False",
          "width": ""
        },
        {
          "name": "wkfFormacao",
          "col_type": "[int]",
          "ctrl": "Numeric",
          "addnew": "False",
          "items": "",
          "label": "wkfFormacao",
          "auto_order": "False",
          "width": ""
        }
      ]
    }
  ],
  "wiz": {
    "project": "{\"load\":[],\"submit\":[],\"statuschange\":[],\"field\":[]}",
    "functions": "{}"
  }
}