Erro ao criar novo "ORDEM DE SERVIÇO"

Prezados boa tarde! gostaria de saber se alguem consegue me ajudar!

Ao inserir uma nova “ORDEM DE SERVIÇO” eu recebo a seguinte msg de erro:

Fatal error : Uncaught TypeError: Unsupported operand types: string + null in /opt/NetMake/v9-php81/wwwroot/scriptcase/app/SISTEMA_DE_GESTAO/form_ordem_servico/form_ordem_servico_apl.php:6704 Stack trace: #0 /opt/NetMake/v9-php81/wwwroot/scriptcase/app/SISTEMA_DE_GESTAO/form_ordem_servico/form_ordem_servico_apl.php(4916): form_ordem_servico_apl->vlTotalOS() #1 /opt/NetMake/v9-php81/wwwroot/scriptcase/app/SISTEMA_DE_GESTAO/form_ordem_servico/form_ordem_servico_apl.php(6254): form_ordem_servico_apl->nm_proc_onload() #2 /opt/NetMake/v9-php81/wwwroot/scriptcase/app/SISTEMA_DE_GESTAO/form_ordem_servico/form_ordem_servico_apl.php(1614): form_ordem_servico_apl->nm_acessa_banco() #3 /opt/NetMake/v9-php81/wwwroot/scriptcase/app/SISTEMA_DE_GESTAO/form_ordem_servico/index.php(2889): form_ordem_servico_apl->controle() #4 {main} thrown in /opt/NetMake/v9-php81/wwwroot/scriptcase/app/SISTEMA_DE_GESTAO/form_ordem_servico/form_ordem_servico_apl.php on line 6704

Ao analisar o codigo fonte aparece assim:

image

Alguem consegue me ajudar? desde já agradeço!

Ao que parece, a variável $valor_item_ordem_servico não foi inicializada com 0, Aí no PHP 8.1 vai dar erro pois toda variável precisa ser declarada previamente com seu tipo de dados. Assim ela teria que estar no início da rotina assim:

$valor_item_ordem_servico = 0;

{valor_total_ordem_servico} = {valor_adicional_ordem_servico}+{valor_item_ordem_servico}-{valor_desconto_ordem_servico};

ta assim aqui

Ah ok, é um campo… no evento onLoad, inicialize ele com 0 desta forma:

{valor_item_ordem_servico} = empty({valor_item_ordem_servico}) ? 0 : {valor_item_ordem_servico};

@Scatolin47,

Uma sugestão seria usar o floatval, devido a mudança do PHP 8.1

{valor_total_ordem_servico} = floatval({valor_adicional_ordem_servico}) + floatval({valor_item_ordem_servico}) -floatval({valor_desconto_ordem_servico});