Esta verificação serve para garantir que a venda realmente atende os critérios mínimos para ser processada e enviada pelo Sync à retaguarda.
Para que uma venda seja considerada válida para sincronização, os seguintes pontos devem ser verificados:
A venda não pode estar marcada como sincronizada com erro:
O campo SincronizadoVenda não pode ser igual a 3.
O campo SincronizadoCancelamento não pode ser igual a 3.
Situação da venda:
Se a SituacaoVenda for 0 (ou seja, venda normal), então o campo SincronizadoVenda deve ser 0 (ainda não sincronizada).
Se a SituacaoVenda não for 0 (por exemplo, cancelada), então o campo SincronizadoCancelamento deve ser 0 (ainda não sincronizado o cancelamento).
OU a venda possui ao menos um item de custódia (VendaCustodiaXml) com o campo EnviarRetaguarda = true.
A venda deve ter um XML válido:
Pelo menos um item em VendaCustodiaXml precisa ter o campo Xml preenchido (diferente de string vazia).
A venda só será enviada ao Sync se não tiver erro, estiver pendente de sincronização (venda ou cancelamento), tiver XML preenchido, e caso necessário, marcada para envio na custódia (
VendaCustodiaXml).
...