| Produto: | TOTVS Varejo Supermercados |
|---|---|
| Linha de Produto: | Supermercados - Linha Consinco |
| Segmento: | Varejo |
| Tipo de Documento: | Manutenção |
| Módulo: | Acordos e Verbas |
| Caminho: | Administração > Verba Bonificação |
| Função: | VERBAS DE BONIFICAÇÃO - MAX0302 |
| País: | Brasil |
| Ticket: | 25423792 |
| Requisito/Story/Issue (informe o requisito relacionado) : | DSUPCONTR-9550 - Obtendo detalhes do item... STATUS |
Ao informar uma descrição de família ou produto que contenha caracteres especiais, principalmente o apóstrofo ('), o sistema passa a montar um SQL dinâmico inválido durante a construção da cláusula LIKE. Essa falha ocorre porque o valor digitado pelo usuário é concatenado diretamente no comando SQL, sem qualquer sanitização ou escape do caractere especial. Como consequência, o apóstrofo encerra prematuramente a string literal do SQL, resultando em erro de sintaxe no momento da execução.
Existência de descrições de produtos ou famílias contendo caracteres especiais — especialmente o apóstrofo (') — utilizadas como filtro na aplicação de verbas de bonificação, quando realizada por meio do acesso por lote.
A solução implementada impede que descrições de produtos ou famílias contendo apóstrofos, ou outros caracteres especiais interrompam a montagem do SQL dinâmico utilizado na cláusula LIKE. O erro ocorria porque o valor digitado pelo usuário era inserido diretamente na instrução SQL, fazendo com que o apóstrofo encerrasse a string literal e quebrasse o comando.
Para corrigir o problema, o texto informado passou a ser tratado previamente no banco de dados antes de compor o WHERE. Foi adicionada uma execução via SqlPrepareAndExecute, utilizando a função fc5LimpaTexto, responsável por normalizar a descrição, convertê-la para maiúsculas e remover caracteres que possam comprometer a integridade da consulta.
O resultado desse processamento é armazenado em uma variável intermediária, que então é utilizada na montagem do SQL dinâmico, garantindo a construção correta da cláusula LIKE e evitando falhas na execução da consulta.
Se estiver na versão 25.01, atualizar o sistema para o service pack 25.01.048 ou service pack superior.
Se estiver na versão 25.07, atualizar o sistema para o service pack 25.07.023 ou service pack superior