Bom dia,
Então eu fiz uma aplicação utilizando o botão run que leva valores de vários campos para dar baixa em outra página. No botão run coloquei o seguinte código, no evento onFinish, que envia os valores das variaveis globais na hora de direciona a pagina:
`$Id_Agenda = implode(", “, [Id_Agenda]);
$ids_PA_Todos = implode(”, “, [Id_PA_Todos]);
$id_Agenda_Todos = implode(”, “, [Id_PA_Todos_Agenda]);
$idStatus = implode(”, “, [Id_Status_PA_Todos]);
$idsPA = implode(”, “, [Id_PA]);
$Nome_Area = implode(”, “, [Nome_Area]);
$id_PA_LOG = implode(”, ", [Id_PA_Log]);
$variaveis_globais = array(
‘Id_Agenda’ => $Id_Agenda,
‘Id_PA_Todos’ => $ids_PA_Todos,
‘Id_PA_Todos_Agenda’ => $id_Agenda_Todos,
‘Id_Status_PA_Todos’ => $idStatus,
‘Id_PA’ => $idsPA,
‘Nome_Area’ => $Nome_Area,
‘Id_PA_Log’ => $id_PA_LOG
);
echo ‘
’;’;
print_r($variaveis_globais);
echo ‘
sc_redir(“Aplicacao_Baixa_PA_form”, $variaveis_globais);`
Na pagina que recebe esses valores está da seguinte forma:
`{Id_Agenda} = [Id_Agenda];
{Id_PA_Todos} = [Id_PA_Todos];
{Id_PA_Todos_Agenda} = [Id_PA_Todos_Agenda];
{Id_Status_PA_Todos} = [Id_Status_PA_Todos];
{Id_PA} = [Id_PA];
{Nome_Area} = [Nome_Area];
$nomeArea = [];
$statusPA = [];
if (is_array({Nome_Area})) {
$nomeArea = {Nome_Area};
} else {
$nomeArea = [{Nome_Area}];
}
if (is_array({Id_Status_PA_Todos})) {
$statusPA = {Id_Status_PA_Todos};
} else {
$statusPA = [{Id_Status_PA_Todos}];
}
echo “Variáveis globais processadas:\n”;
echo "Nome_Area: ";
print_r($nomeArea);
echo "Id_Status_PA_Todos: ";
print_r($statusPA);
foreach ($nomeArea as $index => $area) {
$currentStatus = $statusPA[$index];
if ($currentStatus == 0 && $area == 'Segurança Empresarial') {
sc_btn_display("Reabrir", "off");
sc_btn_display("Baixa", "off");
sc_field_display("Observacao_Resolvido_new", "off");
sc_field_display("Observacao_Resolvido", "off");
sc_field_display("Observacao_Resolvido_Log", "on");
sc_field_display("Observacao_Resolvido_new_Log", "off");
sc_field_display("Observacao_Baixa", "off");
} elseif ($currentStatus == 0 && $area == '') {
sc_btn_display("Reabrir", "off");
sc_btn_display("Baixa", "off");
sc_field_display("Observacao_Resolvido_new", "off");
sc_field_display("Observacao_Resolvido", "on");
sc_field_display("Observacao_Resolvido_Log", "off");
sc_field_display("Observacao_Resolvido_new_Log", "off");
sc_field_display("Observacao_Baixa", "off");
} elseif ($currentStatus == 1 && $area != '') {
sc_btn_display("Reabrir", "on");
sc_btn_display("Baixa", "on");
sc_btn_display("Resolver", "off");
sc_field_display("Observacao_Resolvido", "off");
sc_field_display("Observacao_Resolvido_new", "off");
sc_field_display("Observacao_Resolvido_Log", "off");
sc_field_display("Observacao_Resolvido_new_Log", "on");
sc_field_display("Observacao_Baixa", "on");
} elseif ($currentStatus == 1 && $area == '') {
sc_btn_display("Reabrir", "on");
sc_btn_display("Baixa", "on");
sc_btn_display("Resolver", "off");
sc_field_display("Observacao_Resolvido", "off");
sc_field_display("Observacao_Resolvido_new", "on");
sc_field_display("Observacao_Resolvido_Log", "off");
sc_field_display("Observacao_Resolvido_new_Log", "off");
sc_field_display("Observacao_Baixa", "on");
}
}`
O problema que está acontecendo é que a condição só acontece quando há apenas um elemento no array, aí exibe os campos de acordo com as condições, porém quando é um array com mais de um elemento as condições não conseguem ler os valores e não exibe nada na tela, a mesma fica em branco. alguém pode me ajudar, por favor.
os dados estão vindo da seguinte forma, de acordo com a depuração que eu coloquei:
Variáveis globais processadas: Nome_Area: Array ( [0] => Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial, Segurança Empresarial ) Id_Status_PA_Todos: Array ( [0] => 0, 0, 0, 0, 0, 2, 0, 0, 0, 0 )