Bom dia pessoal.
Estamos fazendo a migração do MATA030 para CRMA980
Em um certo fonte faziamos a chamada do MATA030(aCliente,3) que trazia a tela do cadastro de cliente com os dados do array aclientes para validação e o usuário conseguia manipular e salvar.
Alterei essa chamada para CRMA980(aCliente,3) porém estou recebendo error log nos setvalue:
THREAD ERROR ([22408], gustavo.manzali, F01NOTPTIC03) 03/07/2023 08:52:46 Tipos permitidos: STRING, DATE, NUMERIC, LOGICAL on FWFORMMODEL:SETVALUE(FWFORMMODEL.PRX) 01/03/2023 10:31:37 line : 2016
Após análise de todas as informações do array montado, nao consegui identificar o motivo, a operação ainda funciona via MATA030 porém via CRMA980 não.
Abaixo está a chamada:
```dbSelectArea("ZA9")
If ZA9->ZA9_TP = 'I' aCliente := {; {"A1_PESSOA" ,IF(LEN(ALLTRIM(ZA9_CGC))=14,"J","F"),nil},; {"A1_TIPO" ,IIF( ALLTRIM(ZA9_EST)="MG","R","R") ,Nil},; {"A1_MSBLQL" ,IF(alltrim(ZA9_VEND)="000155","2","1") ,Nil},; {"A1_PAIS" ,"105" ,Nil},; {"A1_NATUREZ" ,"11001" ,Nil},; {"A1_CODPAIS" ,"01058" ,Nil},; {"A1_EST" ,UPPER(ALLTRIM(ZA9_EST)),Nil},; {"A1_COD_MUN" ,U__BuscaCid(ALLTRIM(ZA9_MUN), ZA9_EST ),Nil},; {"A1_TEL" , Area(),nil},; {"A1_VEND" ,ALLTRIM(ZA9_VEND) ,Nil},; {"A1_Z_CDFRM" ,"",nil},; {"A1_Z_CDCNP" ,"",nil},; {"A1_Z_IMPOR" ,"",nil},; {"A1_Z_TIONO" ,IF(alltrim(ZA9_VEND)="000155","V",""),nil},; {"A1_TEL" , Area(),nil},; {"A1_NOME" ,U_AFAT045( UPPER(ALLTRIM(ZA9_NOME))),Nil},; {"A1_NREDUZ" ,U_AFAT045( UPPER(ALLTRIM(ZA9_NREDUZ))),Nil},; {"A1_CGC" ,U_AFAT045( ALLTRIM(ZA9_CGC) ),Nil},; {"A1_TPCLIEN" ,"C" ,Nil},; {"A1_CONTATO" ,ZA9_CONTAT ,Nil},; {"A1_END" ,U_AFAT045( UPPER(ALLTRIM(ZA9_END))),Nil},; {"A1_BAIRRO" ,U_AFAT045( UPPER(ALLTRIM(ZA9_BAIRRO))),Nil},; {"A1_CEP" ,U_AFAT045( ALLTRIM(ZA9_CEP)),Nil},; {"A1_TEL" ,U_AFAT045(ALLTRIM(ZA9_TEL)),Nil},; {"A1_INSCR" ,U_AFAT045( ALLTRIM(ZA9_IE) ),Nil},; {"A1_INSCRUR" ,ALLTRIM(ZA9_RURAL),Nil},; {"A1_EMAIL" ,UPPER(ALLTRIM(ZA9_NFE)),Nil},; {"A1_Z_APELI" ,U_AFAT045( ALLTRIM(ZA9_APELID)),Nil},; {"A1_Z_CARGO" ,U_AFAT045( ALLTRIM(ZA9_CARGO)),Nil},; {"A1_Z_FONE" ,U_AFAT045( ALLTRIM(ZA9_CARFON)),Nil},; {"A1_Z_RAMAL" ,U_AFAT045( ALLTRIM(ZA9_RAMAL)),Nil},; {"A1_Z_RAMO" ,U_AFAT045( ALLTRIM(ZA9_RAMO)),Nil},; {"A1_Z_FAX" ,U_AFAT045( ALLTRIM(ZA9_FAX)),Nil},; {"A1_PRF_OBS" ,U_AFAT045( ALLTRIM(ZA9_OBS) ),Nil},; {"A1_Z_MAIL2" ,U_AFAT045(UPPER(ALLTRIM(ZA9_EMFINA))),Nil},; {"A1_Z_MAIL3" ,U_AFAT045(UPPER(ALLTRIM(ZA9_EMAIL))),Nil},; {"A1_Z_CEL" ,U_AFAT045(UPPER(ALLTRIM(ZA9_CEL))),Nil},; {"A1_Z_RFINA" ,U_AFAT045(UPPER(ALLTRIM(ZA9_REFINA))),Nil},; {"A1_DDD" ,ALLTRIM(ZA9_DDD),Nil}} dbSelectArea("ZA9")
lMsErroAuto := .F. CRMA980(aCliente,3) aCliente := {}
dbSelectArea("ZA9") ```
Algum dado chegou incorreto, como você faz uso de diversas funções para obter os valores dos campos, fica difícil dizer o que é, a função que me chamou a atenção foi a função Area, o que ela retorna? Se ela retornar um array ou nulo, ela é a responsável.
Caso não seja ela, anexe o error.log completo para uma análise.
— Daniel Mendes 03 de Jul de 2023Poizé, também achei estranho, porém como é legado acabei deixando. Tratei todos os dados do array novamente, e encontrei o problema, era um campo customizado. Obrigado.
— Gustavo Manzali Fernandes 03 de Jul de 2023