Baixar em lote - Botão Run

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 )

Não olhei o código todo, mas há erro nessa linha:

sc_redir(“Aplicacao_Baixa_PA_form”, $variaveis_globais);`

Veja no web help como utilizar essa macro.

Então, não acho que esse seja o problema pq os dados das variaveis globais estão sendo passados para a outra pagina de destino, dado que eu pedi para exibir o array e me retornou isso:`
echo ‘

’;
print_r($nomeArea);
echo ‘
’;
echo ‘
’;
print_r($statusPA);
echo ‘
’;

Array
(
[0] => Segurança Empresarial, Segurança Empresarial
)
Array
(
[0] => 0, 0
)`

Muito estranho pois não é assim que se passa parâmetros pela macro sc_redir.

eu depurei mais a fundo e me exibiu isso na tela: 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
)
Array
(
[0] => 0, 0, 0, 2, 0, 0, 0, 0, 0, 0
)
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 2
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição
Área: Segurança Empresarial, Status: 0
Condição 1: Entrou na primeira condição

oq significa que atende a condição 1, então era para exibir os campos:
if (($currentStatus == 0 || $currentStatus == 2) && strpos($singleArea, ‘Segurança Empresarial’) !== false) {
echo “Condição 1: Entrou na primeira condição
”;
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”);

eu até mesmo coloquei para que o nome da area e o status que são do tipo select para serem do tipo de multiplos registros e mesmo assim não vai, só exibe os campos quando há apenas um elemento no array.