{
  "wkf": {
    "name": "Necessidades de Formação",
    "category": "Formação",
    "type": "Necessidades de Formação",
    "type_ref": "N-FOR",
    "reference": "N-FORM",
    "encoding_year": "True",
    "encoding_sub": "",
    "email": "True",
    "equip_type": "",
    "equip": "False",
    "WFplan": "False",
    "title_suggestion": "Agir_Workflow criada by Agir_Issuer no dia Agir_Date",
    "title_tags": "False",
    "att_preview": "False",
    "trs": [
      {
        "name": "Identificação de necessidades de formação",
        "status_start_name": "Registo",
        "status_start_rgb": "107, 208, 208",
        "status_end_name": "Análise",
        "status_end_rgb": "255, 153, 20",
        "deadline": "30",
        "TRdelay": "0",
        "approvals": "1",
        "TRorder": "1",
        "tab": "Necessidades de formação",
        "method": "Manual",
        "code": "",
        "equip_start": "False",
        "equip_end": "False",
        "alts": []
      },
      {
        "name": "Análise de necessidades de formação",
        "status_start_name": "Análise",
        "status_start_rgb": "255, 153, 20",
        "status_end_name": "Fechado",
        "status_end_rgb": "162, 227, 14",
        "deadline": "4",
        "TRdelay": "0",
        "approvals": "1",
        "TRorder": "2",
        "tab": "Análise",
        "method": "Manual",
        "code": "",
        "equip_start": "False",
        "equip_end": "False",
        "alts": []
      }
    ]
  },
  "form": {
    "name": "Necessidades 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\" aria-expanded=\"false\">Necessidades de formação</a></li><li class=\"botao-separador LPA-CTRL-TAB active\" id=\"li_Tab2\" data-lpatabid=\"Tab2\" data-lpatabrealid=\"Tab2\" data-lpaoldtabname=\"Análise\" data-lpabind-block=\"true\" data-lpatabtext=\"Análise\" data-lpatabalias=\"Análise\"><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\">Análise</a></li><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_Tab3\" data-lpatabid=\"Tab3\" data-lpatabrealid=\"Tab3\"><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\">Tab3</a></li><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_Tab4\" data-lpatabid=\"Tab4\" data-lpatabrealid=\"Tab4\"><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\">Tab4</a></li><li class=\"botao-separador LPA-CTRL-TAB\" id=\"li_Tab5\" data-lpatabid=\"Tab5\" data-lpatabrealid=\"Tab5\"><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\" aria-expanded=\"false\">Tab5</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\"><select id=\"LPACTRL_TypeOfPlan\" class=\"LPA-CTRL\" data-lpaid=\"TypeOfPlan\" data-lpatype=\"Combo\" style=\" width: 200px;top: 72px;left: 88px;\" data-lpalabel=\"Tipo de plano\" data-lparequired=\"false\" data-originaltop=\"72\" data-lpadisabled=\"true\" data-lpabind-autoorder=\"true\"><option value=\"\"></option><option value=\"Anual\">Anual</option><option value=\"Semestral\">Semestral</option></select><select id=\"LPACTRL_Scope\" class=\"LPA-CTRL\" data-lpaid=\"Scope\" data-lpatype=\"Combo\" style=\"width: 200px; top: 98px; left: 88px;\" data-lpalabel=\"Âmbito\" data-lparequired=\"false\" data-originaltop=\"98\" data-lpadisabled=\"true\"><option value=\"\"></option><option value=\"Setorial\">Setorial</option><option value=\"Toda a empresa\">Toda a empresa</option></select><input type=\"text\" id=\"LPACTRL_Supervisor\" class=\"LPA-CTRL\" data-lpaid=\"Supervisor\" data-lpatype=\"Text\" style=\"width: 200px; top: 124px; left: 88px;\" data-lpalabel=\"Supervisor\" data-originaltop=\"124\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\"><span id=\"LPACTRL_YearL2\" class=\"LPA-CTRL\" data-lpaid=\"YearL\" data-lpatype=\"Label\" style=\"top: 98px; left: 306px;\" data-originaltop=\"98\" data-lpalabel=\"Ano\">Ano</span><span id=\"LPACTRL_StartDateL\" class=\"LPA-CTRL\" data-lpaid=\"StartDateL\" data-lpatype=\"Label\" style=\"top: 124px; left: 306px;\" data-lpalabel=\"De\" data-originaltop=\"124\">De</span><select id=\"LPACTRL_Year\" class=\"LPA-CTRL\" data-lpaid=\"Year\" data-lpatype=\"Combo\" style=\"width: 190px; top: 98px; left: 340px;\" data-lpalabel=\"Ano\" data-lparequired=\"false\" data-originaltop=\"98\" data-lpadisabled=\"true\" data-lpabind-autoorder=\"true\"><option value=\"\"></option><option value=\"2019\">2019</option><option value=\"2020\">2020</option><option value=\"2021\">2021</option><option value=\"2022\">2022</option><option value=\"2023\">2023</option><option value=\"2024\">2024</option><option value=\"2025\">2025</option></select><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\"height: auto; display: flex; width: 85px; padding: 0px; top: 124px; left: 444px; z-index: 2 !important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-originaltop=\"124\" data-agirtranslate=\"workflow_tasks_startdate\" data-dateval=\"\"><span class=\"input-group-btn\" style=\"z-index: 20; right: 15px; position: absolute; top: 3px; color: rgb(150, 150, 150);\"><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=\"EndDate\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"0\" data-lpadisabled=\"true\" data-date_blocked=\"true\" data-date_blocked_to=\"hoje\"></div><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\"height: auto; display: flex; width: 85px; padding: 0px; top: 124px; left: 339px; z-index: 2 !important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-originaltop=\"124\" data-agirtranslate=\"workflow_tasks_startdate\"><span class=\"input-group-btn\" style=\"z-index: 20; right: 15px; position: absolute; top: 3px; color: rgb(150, 150, 150);\"><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=\"StartDate\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"0\" data-lpadisabled=\"true\" data-date_blocked=\"true\" data-date_blocked_to=\"hoje\"></div><input type=\"text\" id=\"LPACTRL_WKF_Code\" class=\"LPA-CTRL\" data-lpaid=\"WKF_Code\" data-lpatype=\"Text\" style=\" width: 100px;top: 72px;left: 430px;\" data-lpalabel=\"Código do plano\" data-originaltop=\"72\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\"><span id=\"LPACTRL_ReportL\" class=\"LPA-CTRL\" data-lpaid=\"ReportL\" data-lpatype=\"Label\" style=\"top: 72px; left: 544px; color: red; cursor: pointer; font-size: 25px;\" data-lpalabel=\"Clique para imprimir relatório\" data-lpalblbtnicon=\"file-pdf\" data-originaltop=\"72\" data-original-title=\"Report\">Clique para imprimir relatório</span><span id=\"LPACTRL_EndDateL\" class=\"LPA-CTRL\" data-lpaid=\"EndDateL\" data-lpatype=\"Label\" style=\"top: 124px; left: 431px;\" data-lpalabel=\"a\" data-originaltop=\"124\">a</span><span id=\"LPACTRL_WKF_CodeL\" class=\"LPA-CTRL\" data-lpaid=\"WKF_CodeL\" data-lpatype=\"Label\" style=\"top: 72px; left: 306px;\" data-originaltop=\"72\" data-lpalabel=\"Plano de Formação\">Plano de Formação</span><input type=\"text\" id=\"LPACTRL_RegistadoPor\" class=\"LPA-CTRL\" data-lpaid=\"RegistadoPor\" data-lpatype=\"Text\" style=\"width: 200px; top: 10px; left: 89px;\" data-lpalabel=\"Registo por\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Identificação de necessidades de formação\" data-originaltop=\"10\"><span id=\"LPACTRL_TypeOfPlanL2\" class=\"LPA-CTRL\" data-lpaid=\"TypeOfPlanL\" data-lpatype=\"Label\" style=\"top: 72px; left: 1px;\" data-lpalabel=\"Tipo de plano\" data-originaltop=\"72\">Tipo de plano</span><span id=\"LPACTRL_RegistadoPorL\" class=\"LPA-CTRL\" data-lpaid=\"RegistadoPorL\" data-lpatype=\"Label\" style=\"top: 10px; left: 1px;\" data-lpalabel=\"Registo por\" data-originaltop=\"10\">Registo por</span><span id=\"LPACTRL_ScopeL2\" class=\"LPA-CTRL\" data-lpaid=\"ScopeL\" data-lpatype=\"Label\" style=\"top: 98px; left: 1px;\" data-originaltop=\"98\" data-lpalabel=\"Âmbito\">Âmbito</span><span id=\"LPACTRL_SupervisorL\" class=\"LPA-CTRL\" data-lpaid=\"SupervisorL\" data-lpatype=\"Label\" style=\"top: 124px; left: 1px; font-weight: bold;\" data-originaltop=\"124\" data-lpalabel=\"Supervisor\">Supervisor</span><textarea id=\"LPACTRL_TrainingNeeds\" class=\"LPA-CTRL\" data-lpaid=\"TrainingNeeds\" data-lpatype=\"Memo\" style=\" width: 420px;height: 110px;resize: none;top: 231px;left: 441px;\" data-lpalabel=\"Resumo das necessidades de formação\" data-lparequired=\"false\" placeholder=\"Descreva as ações de formação e treino que considera necessárias para o plano de formação. Defina temas, cursos, participantes, duração esperada e custos, se tiver essa informação. Nos anexos pode adicionar quaisquer documentos que ajudem à análise das suas necessidades.\" data-originaltop=\"231\" spellcheck=\"false\"></textarea><span id=\"LPACTRL_TrainingNeedsL\" class=\"LPA-CTRL\" data-lpaid=\"TrainingNeedsL\" data-lpatype=\"Label\" style=\"top: 208px; left: 441px;\" data-lpalabel=\"Resumo das necessidades de formação\" data-originaltop=\"208\">Resumo das necessidades de formação</span><textarea id=\"LPACTRL_AreasAmbito\" class=\"LPA-CTRL\" data-lpaid=\"AreasAmbito\" data-lpatype=\"Memo\" style=\" width: 425px;height: 110px;resize: none;top: 231px;left: 1px;\" data-lpalabel=\"Áreas, departamentos ou cargos\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"231\" spellcheck=\"false\"></textarea><span id=\"LPACTRL_AreasAmbitoL\" class=\"LPA-CTRL\" data-lpaid=\"AreasAmbitoL\" data-lpatype=\"Label\" style=\"top: 208px; left: 1px;\" data-lpalabel=\"Áreas, departamentos ou cargos avaliados neste levantamento de necessidades \" data-originaltop=\"208\">Áreas, departamentos ou cargos avaliados neste levantamento de necessidades </span><span id=\"LPACTRL_Info1L\" class=\"LPA-CTRL\" data-lpaid=\"Info1L\" data-lpatype=\"Label\" style=\"top: 364px; left: 3px; color: gray;\" data-lpalabel=\"Se desejar por detalhar as suas necessidades de formação. Uma linha para cada formação.\" data-originaltop=\"364\">Se desejar por detalhar as suas necessidades de formação. Uma linha para cada formação.</span><div id=\"LPACTRLDIV_ComDetalhe\" class=\"LPA-CTRL\" data-lpaid=\"ComDetalhe\" data-lpatype=\"Check\" style=\"height: 20px; top: 364px; left: 500px;\" data-originaltop=\"364\"><input type=\"checkbox\" id=\"LPACTRL_ComDetalhe\" class=\"LPA-CTRL\" data-lpaid=\"ComDetalhe\" data-lpatype=\"Check\" data-lpalabel=\"Quero detalhar o plano de formação\" value=\"\" data-originaltop=\"0\"><span style=\"margin-left:18px;line-height:20px;\">Quero detalhar o plano de formação</span></div><span id=\"LPACTRL_TituloL3\" class=\"LPA-CTRL\" data-lpaid=\"TituloL3\" data-lpatype=\"Label\" style=\"color: dodgerblue; top: 181px; left: 1px; font-size: 14px;\" data-originaltop=\"181\" data-lpalabel=\"Descrição das necessidades\">Descrição das necessidades</span><span id=\"LPACTRL_TituloL22\" class=\"LPA-CTRL\" data-lpaid=\"TituloL22\" data-lpatype=\"Label\" style=\"color: dodgerblue; top: 176px; left: 174px; font-size: 14px;\" data-originaltop=\"176\" data-lpalabel=\"__________________________________________________________________________________________\">__________________________________________________________________________________________</span><span id=\"LPACTRL_TituloL\" class=\"LPA-CTRL\" data-lpaid=\"TituloL\" data-lpatype=\"Label\" style=\" color: dodgerblue;top: 40px;left: 1px;font-size: 14px;\" data-originaltop=\"40\" data-lpalabel=\"Dados do plano de formação\">Dados do plano de formação</span><span id=\"LPACTRL_TituloL2\" class=\"LPA-CTRL\" data-lpaid=\"TituloL2\" data-lpatype=\"Label\" style=\" color: dodgerblue;top: 35px;left: 182px;font-size: 14px;\" data-originaltop=\"35\" data-lpalabel=\"______________________________________________\">______________________________________________</span><div class=\"input-group date datepicker LPA-CTRL agir-translate\" style=\" height: auto;display: flex;width:100px;padding: 0px;top: 10px;left: 431px;z-index: 2!important;\" data-date-format=\"dd/mm/yyyy\" data-date-language=\"pt-PT\" data-agirtranslate=\"workflow_tasks_startdate\" data-originaltop=\"10\" data-dateval=\"07/11/2022\"><span class=\"input-group-btn\" style=\"z-index: 20; right: 15px; position: absolute; top: 3px; color: rgb(150, 150, 150);\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_RegistadoData\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"RegistadoData\" 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=\"Identificação de necessidades de formação\" data-originaltop=\"0\" data-date_blocked=\"true\" data-date_blocked_to=\"hoje\"></div><span id=\"LPACTRL_RegistadoDataL\" class=\"LPA-CTRL\" data-lpaid=\"RegistadoDataL\" data-lpatype=\"Label\" style=\"top: 10px; left: 304px;\" data-lpalabel=\"Data de registo\" data-originaltop=\"10\">Data de registo</span></div><div id=\"tab_Tab2PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB active in\" data-lpatabcontentid=\"Tab2\" data-lpapanelid=\"Tab2Panel\" style=\"position:relative;\" data-lpatabcontenttext=\"Análise\"><input type=\"text\" id=\"LPACTRL_AnalisadoPor\" class=\"LPA-CTRL\" data-lpaid=\"AnalisadoPor\" data-lpatype=\"Text\" style=\"width: 200px; top: 10px; left: 120px;\" data-lpalabel=\"Analisado por\" data-originaltop=\"10\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Análise de necessidades de formação\"><span id=\"LPACTRL_AnalisadoDataL\" class=\"LPA-CTRL\" data-lpaid=\"AnalisadoDataL\" data-lpatype=\"Label\" style=\"top: 10px; left: 372px;\" 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: 431px; 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: rgb(150, 150, 150);\"><i class=\"glyphicon glyphicon-calendar\"></i></span><input type=\"text\" id=\"LPACTRL_AnalisadoData\" class=\"LPA-CTRL date datepicker\" data-lpaid=\"AnalisadoData\" 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=\"AnalisadoData\" data-lparequired=\"false\" placeholder=\"\" data-lpadisabled=\"true\" data-lpawkfstep=\"Análise de necessidades de formação\" data-originaltop=\"0\" data-date_blocked=\"true\" data-date_blocked_to=\"hoje\"></div><span id=\"LPACTRL_AnalisadoPorL\" class=\"LPA-CTRL\" data-lpaid=\"AnalisadoPorL\" data-lpatype=\"Label\" style=\"top: 10px; left: 1px;\" data-lpalabel=\"Analisado por\" data-originaltop=\"10\">Analisado por</span><span id=\"LPACTRL_ValidacaoL\" class=\"LPA-CTRL\" data-lpaid=\"ValidacaoL\" data-lpatype=\"Label\" style=\"top: 41px; left: 1px;\" data-originaltop=\"41\" data-lpalabel=\"Levantamento válido?\">Levantamento válido?</span><span id=\"LPACTRL_ObservacoesL\" class=\"LPA-CTRL\" data-lpaid=\"ObservacoesL\" data-lpatype=\"Label\" style=\"top: 68px; left: 1px;\" data-originaltop=\"68\" data-lpalabel=\"Observações\">Observações</span><span id=\"LPACTRL_ValidacaoReasonNoL\" class=\"LPA-CTRL\" data-lpaid=\"ValidacaoReasonNoL\" data-lpatype=\"Label\" style=\"top: 197px; left: 1px; width: 105px;\" data-originaltop=\"197\" data-lpalabel=\"Motivo da rejeição\">Motivo da rejeição</span><textarea id=\"LPACTRL_ValidacaoReasonNo\" class=\"LPA-CTRL\" data-lpaid=\"ValidacaoReasonNo\" data-lpatype=\"Memo\" style=\"width: 550px; height: 100px; resize: none; top: 218px; left: 1px;\" data-lpalabel=\"Motivo da rejeição\" data-originaltop=\"218\" data-lparequired=\"false\" placeholder=\"\" spellcheck=\"false\"></textarea><textarea id=\"LPACTRL_Observacoes\" class=\"LPA-CTRL\" data-lpaid=\"Observacoes\" data-lpatype=\"Memo\" style=\"width: 550px; height: 100px; resize: none; top: 89px; left: 1px;\" data-lpalabel=\"Observações\" data-lparequired=\"false\" placeholder=\"\" data-originaltop=\"89\" spellcheck=\"false\"></textarea><select id=\"LPACTRL_Validacao\" class=\"LPA-CTRL\" data-lpaid=\"Validacao\" data-lpatype=\"Combo\" style=\" width: 100px;top: 41px;left: 120px;font-weight: bold;\" data-lpalabel=\"Levantamento válido\" data-lparequired=\"false\" data-originaltop=\"41\" data-lpabind-autoorder=\"true\" data-lpabind-autoordertype=\"asc\"><option value=\"\"></option><option value=\"Não\">Não</option><option value=\"Sim\">Sim</option></select></div><div id=\"tab_Tab3PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab3\" data-lpapanelid=\"Tab3Panel\" style=\"position:relative;\"></div><div id=\"tab_Tab4PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab4\" data-lpapanelid=\"Tab4Panel\" style=\"position:relative;\"></div><div id=\"tab_Tab5PanelDiv\" class=\"tab-pane fade LPA-CTRL-TAB\" data-lpatabcontentid=\"Tab5\" data-lpapanelid=\"Tab5Panel\" style=\"position:relative;\"></div><table id=\"LPACTRL_NecessidadesTrainingPlan\" class=\"LPA-CTRL\" data-lpaid=\"NecessidadesTrainingPlan\" data-lpatype=\"Table\" style=\"top: 416px; left: 1px; min-width: 1100px; max-height: 400px; font-size: 12px !important;\" data-lpalabel=\"Proposta de plano de formação\" data-lpabind-wkf=\"\" data-lpabind-task=\"\" data-lpabind-optimized=\"\" data-lpatable-elementsunder=\"true\" data-lpabind-att=\"\" data-originaltop=\"416\" data-lpatable=\"NecessidadesTrainingPlan\" data-lpaglobaltab=\"Tab1\" data-lpatable-allowfilters=\"true\" title=\"\" data-original-title=\"NecessidadesTrainingPlan\"><thead style=\"background-color: #E9ECF1;\"><tr><th>Table Column</th><th>Table Column</th></tr></thead><tbody></tbody></table><span id=\"LPACTRL_NecessidadesTrainingPlanL\" class=\"LPA-CTRL\" data-lpaid=\"NecessidadesTrainingPlanL\" data-lpatype=\"Label\" style=\"color: dodgerblue; top: 387px; left: 3px; font-size: 14px;\" data-originaltop=\"387\" data-lpalabel=\"Proposta de plano de formação\" data-lpaglobaltab=\"Tab1\">Proposta de plano de formação</span><span id=\"LPACTRL_TituloL222\" class=\"LPA-CTRL\" data-lpaid=\"TituloL222\" data-lpatype=\"Label\" style=\" color: dodgerblue;top: 382px;left: 200px;font-size: 14px;\" data-originaltop=\"382\" data-lpalabel=\"______________________________________________________________________________________________________________________\" data-lpaglobaltab=\"Tab1\">______________________________________________________________________________________________________________________</span></div>",
    "css": "",
    "js": "var json = []\r\n\r\n/* Tables  */\r\nlpa_table(\"NecessidadesTrainingPlan\", function() {\r\n    json = []\r\n    TableReadonlys()\r\n    ColumnVisibility()\r\n    lpa_table_rows('NecessidadesTrainingPlan', function(row) {\r\n        lpa_json_each(row, function(col, ctrl) {\r\n            if (col !== 'id' && col !== 'columntotaltasks' && col !== 'columntotalatts' && col !== 'columnchildrenstatus' && col !== 'columnchildrenid') { //Loop a todas as colunas da tabela \r\n                if (col !== 'Cost') {\r\n                    lpa_change(row[col], function() {\r\n                        if (col == 'Decisao')\r\n                            TableColorFormats(row);\r\n                        filljson(row, col)\r\n                    })\r\n                } else {\r\n                    lpa_input(row[col], function() {\r\n                        filljson(row, col)\r\n                    })\r\n                }\r\n\r\n            }\r\n        })\r\n        filljson(row)\r\n        TableColorFormats(row);\r\n    })\r\n});\r\n\r\n/* LOAD */\r\nConditionalVisibility();\r\nTabReadonly();\r\nConditionalFormats();\r\nTabSelet();\r\n\r\n/* SUBMIT */\r\nlpa_submit(function() {\r\n    if (lpa_submit_validate())\r\n        MandatoryFields();\r\n    if (lpa_submit_validate())\r\n        ConditionalSteps();\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    ColumnVisibility();\r\n    Status();\r\n    TableSync();\r\n    TabReadonly();\r\n    TableReadonlys()\r\n});\r\n\r\n/* FIELDS */\r\nlpa_field_event('ComDetalhe', function() {\r\n    ConditionalVisibility();\r\n});\r\nlpa_field_event('Validacao', function() {\r\n    ConditionalVisibility();\r\n    ConditionalFormats();\r\n});\r\nlpa_field_event('ReportL', function() {\r\n    LinkToReport();\r\n});\r\n\r\n/* FUNCTIONS */\r\n\r\nfunction filljson(row, col) {\r\n    let jsonValues = { // valores json, para depois usar sem loops e com find,map ou some.\r\n        'Training': lpa_val(row.Training),\r\n        'StartDate': moment.utc(lpa_value(row.StartDate), \"DD/MM/YYYY\").format('DD/MM/YYYY'),\r\n        'EndDate': moment.utc(lpa_value(row.EndDate), \"DD/MM/YYYY\").format('DD/MM/YYYY'),\r\n        'Cost': lpa_val(row.Cost),\r\n        'Recipients': lpa_val(row.Recipients),\r\n        'TrainingManager': lpa_val(row.TrainingManager),\r\n        'Decisao': lpa_val(row.Decisao),\r\n        'ID': row.id\r\n    }\r\n    if (!json.some(function(j) {// Check if existe linha no array do ID de linha da tabela se não existir puxa tudo\r\n            return j.ID == row.id\r\n        })) { \r\n        json.push(jsonValues)\r\n    } else {\r\n        json.find(function(linha) { //Se existir puxa apenas a coluna alterada\r\n            return (linha.ID == row.id)\r\n        })[col] = jsonValues[col]\r\n    }\r\n}\r\n\r\n// Function: TableSync\r\nfunction TableSync() {\r\n    \r\n    if (lpa_status() == 'Fechado') {\r\n        lpa_message('Serão enviadas as necessidades para o workflow de Plano de formações!<br><b>Por favor aguarde pela mensagem de confirmação!</b>',{type:'warning',title:'Transferência de necessidades'})\r\n        let pai = lpa_sql('SELECT IDLinha FROM TrainingPlan WHERE EstruturaID = @wkfID and IDLinha in(Select NecessidadesTrainingPlanID from NecessidadesTrainingPlan where EstruturaID = @id)', {\r\n            wkfID: lpa_origin(),\r\n            id: lpa_wkf_id()\r\n        }, false)//Devolve apenas as linhas referentes a este registo\r\n            lpa_table_rows('NecessidadesTrainingPlan', function(row) {\r\n                if (lpa_value(row.Decisao) == 'Aceite e integrada') {\r\n                    if(pai){\r\n                        pai = [pai]\r\n                        let exists = pai.find(function(linha) { // Se encontrar ID iguais, sai do loop do pai\r\n                            return (linha.IDLinha == row.id)\r\n                        })\r\n                        let sql = ''\r\n                        if (exists) {\r\n                            gestaoTabela(true,row)\r\n                        } else {\r\n                            gestaoTabela(false,row)\r\n                        }\r\n                    }\r\n                    else{\r\n                        gestaoTabela(false,row)\r\n                    }\r\n                }\r\n        })\r\n        lpa_message('<b>Necessidades transferidas!</b> Poderá encerrar este registo</b>',{type:'success',title:'Necessidades transferidas'})\r\n    }\r\n    \r\n}\r\n\r\nfunction gestaoTabela(value,row){\r\n    if(value){\r\n        sql = 'UPDATE TrainingPlan SET  EstruturaID = @EstruturaID,Training = @Training,StartDate = @StartDate,EndDate = @EndDate,Cost = @Cost,Recipients = @Recipients,TrainingManager = @TrainingManager WHERE IDLinha = @IDLinha';// Update\r\n    }else{\r\n        sql = 'INSERT INTO TrainingPlan (EstruturaID,Training,StartDate,EndDate,Cost,Recipients,TrainingManager,IDLinha) VALUES(@EstruturaID,@Training,@StartDate,@EndDate,@Cost,@Recipients,@TrainingManager,@IDLinha)';// Insert\r\n    }\r\n    lpa_sql(sql, {\r\n        EstruturaID: lpa_origin(),\r\n        Training: lpa_value(row.Training),\r\n        StartDate: moment.utc(lpa_value(row.StartDate), \"DD/MM/YYYY\"),\r\n        EndDate: moment.utc(lpa_value(row.EndDate), \"DD/MM/YYYY\"),\r\n        Cost: lpa_number(row.Cost),\r\n        Recipients: lpa_value(row.Recipients),\r\n        TrainingManager: lpa_value(row.TrainingManager),\r\n        IDLinha: row.id\r\n    })\r\n}\r\n\r\nfunction TableReadonlys() {\r\n    if (lpa_status() == 'Análise') {\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"Training\", true);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"Cost\", true);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"EndDate\", true);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"StartDate\", true);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"Recipients\", true);\r\n    }\r\n    if (lpa_wkf_taskowner().includes(lpa_user().name) && lpa_status() === 'Registo') {\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"Training\", false);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"Cost\", false);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"EndDate\", false);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"StartDate\", false);\r\n        lpa_table_column_readonly(\"NecessidadesTrainingPlan\", \"Recipients\", false);\r\n    }\r\n}\r\n\r\n// Function: TableColorFormats\r\nfunction TableColorFormats(row) {\r\n    if (lpa_val(row.Decisao) === 'Não aceite') {\r\n        lpa_style(row.Decisao, 'background-color', '#EF8275');\r\n    } else if (lpa_val(row.Decisao) === 'Aceite e integrada') {\r\n        lpa_style(row.Decisao, 'background-color', '#A2E30E');\r\n    } else if (lpa_val(row.Decisao) === 'Aceite mas não integrada') {\r\n        lpa_style(row.Decisao, 'background-color', '#FFCA02');\r\n    } else if (lpa_val(row.Decisao) === '') {\r\n        lpa_style(row.Decisao, 'background-color', 'transparent');\r\n    }\r\n}\r\n\r\n// Function: ConditionalVisibility\r\nfunction ConditionalVisibility() {\r\n    if (lpa_value('ComDetalhe') == true) {\r\n        lpa_visible('NecessidadesTrainingPlan', true);\r\n        lpa_visible('NecessidadesTrainingPlanL', true);\r\n        lpa_visible('TituloL222', true);\r\n    } else {\r\n        lpa_visible('NecessidadesTrainingPlan', false);\r\n        lpa_visible('NecessidadesTrainingPlanL', false);\r\n        lpa_visible('TituloL222', false);\r\n    }\r\n    if (lpa_value('Validacao') == 'Não') {\r\n        lpa_visible('ValidacaoReasonNo', true);\r\n        lpa_visible('ValidacaoReasonNoL', true);\r\n    } else {\r\n        lpa_visible('ValidacaoReasonNo', false);\r\n        lpa_visible('ValidacaoReasonNoL', false);\r\n    }\r\n}\r\n\r\n// Function: ColumnVisibility\r\nfunction ColumnVisibility(){\r\n    if (lpa_status() == 'Registo') {\r\n        lpa_table_column_visible('NecessidadesTrainingPlan', 'Decisao', false);\r\n        lpa_table_allow_new('NecessidadesTrainingPlan', true);\r\n        lpa_table_allow_remove('NecessidadesTrainingPlan', true);\r\n    } else {\r\n        lpa_table_column_visible('NecessidadesTrainingPlan', 'Decisao', true);\r\n        lpa_table_allow_new('NecessidadesTrainingPlan', false);\r\n        lpa_table_allow_remove('NecessidadesTrainingPlan', false);\r\n    }\r\n}\r\n\r\n// Function: MandatoryFields\r\nfunction MandatoryFields() {\r\n    if (lpa_status() == 'Registo') {\r\n        lpa_required('AreasAmbito', true);\r\n        lpa_required('TrainingNeeds', true);\r\n        if (lpa_value('ComDetalhe') == true) {\r\n            lpa_table_column_required(\"NecessidadesTrainingPlan\", \"Training\", true);\r\n            lpa_table_column_required(\"NecessidadesTrainingPlan\", \"Recipients\", true);\r\n        }\r\n    }\r\n    if (lpa_status() == 'Análise') {\r\n        lpa_required(\"Validacao\", true);\r\n        lpa_required(\"ValidacaoReasonNo\", true);\r\n        let DecisaoEmpty = json.some(function(linha) { // Check se existem decisões vazias, se existir sai logo do loop\r\n            return (linha.Decisao == '')\r\n        })\r\n        if (lpa_value('Validacao') == 'Sim' && DecisaoEmpty) {\r\n            lpa_wkf_stop()\r\n            lpa_message('Existem decisões por preencher.<br>Por favor preencha o campo de Decisão.', {\r\n                type: 'error',\r\n                no_dup: true\r\n            })\r\n        }\r\n    }\r\n}\r\n\r\n// Function: ConditionalFormats\r\nfunction ConditionalFormats() {\r\n    if (lpa_value('Validacao') == 'Sim') {\r\n        lpa_style(\"Validacao\", \"background-color\", '#A2E30E');\r\n    }\r\n    if (lpa_value('Validacao') == 'Não') {\r\n        lpa_style(\"Validacao\", \"background-color\", '#EF8275');\r\n    }\r\n    if (lpa_value('Validacao') == '') {\r\n        lpa_style_remove(\"Validacao\");\r\n    }\r\n}\r\n\r\n// Function: ConditionalSteps\r\nfunction ConditionalSteps() {\r\n    if (lpa_status() == 'Análise' && lpa_value('Validacao') == 'Não') {\r\n        lpa_status_next(\"Registo\");\r\n        lpa_wkf_taskowner_next(\"\" + lpa_value('RegistadoPor') + \"\");\r\n        lpa_wkf_taskowner_next_filter(\"\" + lpa_value('RegistadoPor') + \"\");\r\n        lpa_message(\"Este registo de necessidades de formação será Rejeitado e enviado para correção pelo \" + lpa_value('RegistadoPor') + \"\", {\r\n            title: \"Registo Rejeitado\",\r\n            type: \"info\"\r\n        });\r\n    }\r\n}\r\n\r\n// Function: TabSelet\r\nfunction TabSelet() {\r\n    if (lpa_status() == 'Fechado') {\r\n        lpa_tab_select(\"Tab1\");\r\n    }\r\n}\r\n\r\n// Function: Status\r\nfunction Status() {\r\n    if (lpa_status() == 'Análise') {\r\n        lpa_sql(\"Update FormacaoTrainingNeeds set TrainingNeeds = @TrainingNeeds Where FormacaoTrainingNeedsID = (Select AssociacaoLinhaID from AssociacaoTabelaEstrutura Where AssociacaoEstruturaID = @id )\", {\r\n            id: lpa_wkf_id(),\r\n            TrainingNeeds: lpa_val('TrainingNeeds')\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 = 'Necessidades 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// Function: TabReadonly\r\nfunction TabReadonly() {\r\n    if (lpa_status() == 'Fechado') {\r\n        lpa_tab_content_enabled(\"Tab1\", false);\r\n        lpa_tab_content_enabled(\"Tab2\", false);\r\n        lpa_readonly(\"ReportL\", false);\r\n        lpa_readonly(\"NecessidadesTrainingPlan\", true);\r\n    }\r\n}",
    "version": 3
  },
  "tbls": [
    {
      "name": "NecessidadesTrainingPlan",
      "cols": [
        {
          "name": "Training",
          "col_type": "[nvarchar](max)",
          "ctrl": "Text",
          "addnew": "False",
          "items": "",
          "label": "Título da ação de formação",
          "auto_order": "True",
          "width": "200"
        },
        {
          "name": "StartDate",
          "col_type": "[datetime]",
          "ctrl": "Date",
          "addnew": "False",
          "items": "",
          "label": "Data de início",
          "auto_order": "True",
          "width": "110"
        },
        {
          "name": "EndDate",
          "col_type": "[datetime]",
          "ctrl": "Date",
          "addnew": "False",
          "items": "",
          "label": "Data de fim",
          "auto_order": "True",
          "width": "110"
        },
        {
          "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 indique genericamente os participantes)",
          "auto_order": "False",
          "width": "200"
        },
        {
          "name": "TrainingManager",
          "col_type": "[nvarchar](max)",
          "ctrl": "Combo",
          "addnew": "False",
          "items": "",
          "label": "Gestor da formação",
          "auto_order": "True",
          "width": "120"
        },
        {
          "name": "Decisao",
          "col_type": "[nvarchar](max)",
          "ctrl": "Combo",
          "addnew": "False",
          "items": "Aceite e integrada\r\nAceite mas não integrada\r\nNão aceite",
          "label": "Decisão",
          "auto_order": "True",
          "width": "120"
        }
      ]
    }
  ]
}