Olá,
Agnes as datas do Protheus são salvas por padrão como varchar no banco de dados, basicamente é tudo string.
Quando a tabela é criada, ela cria um metadado que o DBAccess faz uso para saber que o campo X apesar de ser um varchar, trata-se de uma data e faz essa conversão pra gente de forma automática.
Porém quando você abre uma query, você é responsável por fazer essa transformação.
Aí fica conforme sua lógica, você pode enviar ao Embedded SQL
a definição dos campos, pode utilizar a TCSetField
após abrir a query para fazer essa conversão e caso você pretenda já trabalhar com a data como string, basta não tentar utilizar funções de conversão como DtoC
ou DtoS
.
Dentre essas possíveis correções, segue um exemplo de como corrigir via Embedded SQL para que seu campo seja de fato uma data:
BeginSql Alias cAlias
column E1_VENCREA as Date
SELECT E1_PREFIXO,
E1_NUM,
E1_VENCREA,
E1_SALDO
FROM %TABLE:SE1%
WHERE %NOTDEL% AND
E1_CLIENTE = E1_CLIENTE AND
E1_LOJA = %EXP:cLjCli% AND
E1_SALDO > 0
EndSql
Documentações:
https://tdn.totvs.com.br/display/tec/TCSetField
https://tdn.totvs.com.br/display/public/framework/Embedded+SQL