Estou com o seguinte problema (o mesmo na versão 7.1 e 8 do SC):
Tenho um Formulário Pai que tem um Formulário Multiplo Registro com Filho (estrutura Mestre/Detalhes). No Multiplo registro, tenho campo do tipo CHECKBOX, possibilitando marcar todos para Salvar de uma única vez. Desta forma funciona certinho, salvando SIM para todos.
Porém, neste formulário tem um Filtro (QuickSearch), exibindo os campos para pesquisa e as condições.
Problemas:
- Se realizar um filtro e marcar todos, o botão Salvar Registros só atualiza o primeiro registro
- Se realizar um filtro e marcar apenas o segundo, o botão Salvar Registros só atualiza o primeiro registro
- Se, na segunda vez marcar novamente, dai salva corretamente todos os registros marcados
Acredito que é um BUG com a utilização de Filtro em Formulário de Multiplo Registro.
Localizei o BUG no Scriptcase. Segue onde deverá ser corrigido:
No arquivo _APL.php, na function controle() existe um WHILE com a seguinte condição:
while ($sc_contr_vert > $sc_seq_vert)
No entanto, quando realizo o filtro e me traz 2 registros, a variável $sc_contr_vert está com valor 2 e a variável $sc_seq_vert = 1. Com a condição somente > vai passar somente 1x no while.
Alterei diretamente no fonte para >= e resolveu o problema.
Correto seria: while ($sc_contr_vert >= $sc_seq_vert)
Outro problema encontrado foi quando realizo o filtro e salvo os registros… ao cancelar o filtro através do “X” dentro do campo QuickSearch, ele não atualiza a variável $sc_contr_vert para a quantidade correta de registros apresentados no grid.
Dai, ao selecionar todos os registros ele só salva as linhas que estavam no filtro anterior. Na segunda vez que executar o botão salvar registros, dai sim, atualiza todos, pois a variável $sc_contr_vert estará com a quantidade total do grid.
Espero a correção desse BUG.