Boa noite...
Só complementando, em um dos aplicativos que desenvolvi e que algumas empresas usam e tem uma grande maioria de clientes produtores rurais fiz da seguinte maneira...
Independente se ser produtor rural ou não, alimentei o campo CNPJCPF normalmente, com CNPJ ou CPF e fiz a avaliação apenas do campo IE da seguinte forma:
Criamos um campo no cadastro do cliente onde informo o indicador da I.E. (1, 2 ou 9) , desse jeito se for CPF + I.E. (produtor rural) já entra na indIEDest = 1;
Só vale a pena ressaltar que se o cliente for do tipo P.J. contribuinte, e não informar a I.E. por ter esquecido ou por qualquer outra desculpa, acontecerá rejeição na autorização da NF-e, ou seja, se tiver I.E. tem que informar.
CNPJCPF := zroClientes.FieldByName('CNPJCPF').Value;
wIndIEDest := zroClientes.FieldByName('INDIEDEST').Value;
if wIndIEDest = '1' then
begin
indIEDest := inContribuinte;
IE := zroClientes.FieldByname('INSCRG').Value;
end;
if wIndIEDest = '2' then
begin
indIEDest := inIsento;
end;
if wIndIEDest = '9' then
begin
indIEDest := inNaoContribuinte;
if Length(Trim(zroClientes.FieldByname('INSCRG').Value)) > 0 then
IE := zroClientes.FieldByname('INSCRG').Value;
end;
Espero ter contribuído.
Att.
Márcio M. Camilo