How Can We Help?
II – Aviso de Recebimento de Carga
Entrar no módulo de compras na opção de Atualizações / Importa XML / Importa e clicar na opção Aviso Recbto Carga:
Ao final da importação para o banco de dados será possivel verificar o aviso de recebimento de carga e a nota pelo Browse conforme abaixo.
Esta opção é responsável por gerar o Aviso de Recebimento de Carga após o XML ser importado sem críticas no banco de dados do sistema. Para gerar o aviso do recebimento de carga há a necessidade de posicionar o cursor em cima de um determinado XML e clicar em Aviso Recbto Carga. Responsável por automatizar o procedimento de aviso de recebimento de carga e posterior homologação do aviso, o qual gera a pré-nota de entrada, no sistema evitando erros de digitação.
Ao clicar no botão Aviso Recbto Carga irá ser apresentada a tela abaixo.
Informação dos campos
Amarração Produto? -Esta opção é responsável pelo usuário selecionar qual de-para de produtos entre código do produto do fornecedor e código do produto do cliente.
Abaixo os tipos de amarração
1 – Amarração SA5/SA7 – Cadastro padrão TOTVS onde o cliente informa o código do produto do fornecedor no campo no cadastro de produto X fornecedor ou cadastro de produto X cliente
2 – Amarração ZB5 – Cadastro específico desenvolvido para o cliente efetuar o De-Para de código de produtos entre cliente e fornecedor.
3 – Sem amarração – Utilizado em situações onde o cliente fatura de uma filial para outra e o código do produto é o mesmo. Este tipo de amarração não precisa efetuar De-para.
Após selecionado os parâmetros, o sistema busca as informações do XML no banco de dados e abre a seguinte tela, que é a própria tela do aviso de recebimento de carga, com a aba Notas Fiscais selecionada:
Para selecionar um pedido a amarrar com o item clique em ações relacionadas caso seja versão 11 e clique no botão Item Ped, irá aparecer os pedidos de compras para o item posicionado.
Clicando em confirmar o sistema inseri, na linha posicionada, o número do pedido de compras.
Ao confirmar a tela de aviso de recebimento o sistema apresenta a seguinte tela:
Se todos os itens estiverem devidamente cadastrados, o sistema gerará o aviso de recebimento de carga e em seguida apresentará a tela:
Se clicar em Sim o sistema irá apresentar a tela abaixo, que é o próprio aviso de recebimento de carga:
Ao clicar em confirmar o sistema irá homologar o aviso do recebimento de carga e gerar a pré-nota de entrada.
E então o sistema verificará a configuração do parâmetro XM_CFGPRE, se estiver com o valor 2-Sempre Perguntar, apresentará a seguinte tela:
Ao clicar sim o sistema abrirá a tela padrão de classificação de pré-nota.
Caso o parâmetro estiver com o valor 1-Classificar NF, irá direto para a tela padrão de classificação de pré-nota, como abaixo:
Caso o parâmetro estiver com o valor 0-Nenhuma ação ou for clicado “não” na pergunta acima, apenas será exibida a informação abaixo:
Caso não confirme a homologação o sistema apresentará a tela:
Se você sair sem homologar o status ficará: . A próxima vez que você clicar na opção aviso recbto carga ele pedirá para homologar. Caso não encontre determinado produto para gerar o aviso
Caso não encontre determinado produto para gerar o aviso
No momento de gerar o aviso de recebimento de carga, se não encontrar um ou vários produtos, é apresentado a tela abaixo:
Perceba que na tela acima são exibidos produtos encontrados e produtos não encontrados. Clicando em detalhes o sistema apresenta a seguinte tela para caso usuário queira copiar todos os itens e colocar em um arquivo texto qualquer para análise dos produtos inexistentes.
Tela abaixo responsável por efetuar a amarração do produto que está no XML com o cadastro de produto da empresa. Para efetuar a amarração basta posicionar o cursor no item que não está amarrado e clicar duas vezes em cima onde irá abrir esta tela abaixo para amarração.
O Botão Amarra Todos só aparece quando a amarração for customizada (ZB5). Ele efetuará a amarração de todos os códigos que não tem amarração com o mesmo código do produto próprio. A tela responsável pela amarração para todos é a tela abaixo:
Observações: A tela de produtos não encontrados funciona somente para nosso cadastro específico ZB5 ou padrão SA5. Não funciona para a tabela SA7. Para amarração de produtos de clientes com o produto da empresa deve-se utilizar a nossa rotina específica de Amar. Prod. Fornecedor. Para saber como preencher este cadastro utilize o help da rotina.
Observações: É aconselhável a utilizar esta rotina empresas que compram sempre os mesmos produtos do mesmo fornecedor. Após a geração da pré-nota, todo restante do sistema é da forma padrão de como está implantado no cliente.
Caso exista o ponto de entrada U_XMLPE2UM:
No momento de gerar a pré-nota, se existir o ponto de entrada U_XMLPE2UM, para cada item ele enviará como parâmetro para o PE a matriz Paramixb[5] onde:
- [1] – Código do Produto;
- [2] – Unidade de Medida do XML;
- [3] – Quantidade da unidade de medida;
- [4] – Valor unitário do XML;
- [5] – Matriz com o Objeto de ICMS para fazer os tratamentos do FCI.
E deverá devolver uma matriz no mesmo modelo aRet[4], modificando a unidade, a quantidade e o valor unitário, ficando assim:
- [1] – Código do Produto;
- [2] – Unidade de Medida para a Pré-Nota;
- [3] – Quantidade convertida para a Unidade;
- [4] – Valor unitário convertido para a Unidade.
Ao receber os novos valores o sistema checará se o valor total do item do XML é igual ao calculado com os novos valores, caso não for ele exibirá a seguinte mensagem:
A geração da pré-nota será interrompida. Corrija os cadastros ou o ponto de entrada para poder incluir a pré-nota.
Observações: Caso usuário que esteja logado seja um administrador poderá clicar <F12> onde será apresentada a tela de configurador do sistema. Para maiores detalhes acesse o configurador -> Ambiente -> cadastro _ CONF_IMP_XML
Caso exista o ponto de entrada U_XMLPEITE:
No momento de gerar a pré-nota ou de homologar o aviso de recebimento de carga, se existir o ponto de entrada U_XMLPEITE, para cada item ele enviará como parâmetro para o PE a matriz paramixb[3] onde:
- [1] – Código do Produto;
- [2] – objeto com os itens da nota do XML;
- [3] – índice do item atual, que está sendo processado.
E deverá devolver uma matriz com os itens da SD1 que deseja atualizar, com a seguinte estrutura para cada campo:
- [x][1] – Campo do SD1;
- [x][2] – Valor a atribuir;
- [x][3] – Validação.
Exemplo de utilização:
User Function XMLPEITE()
Local _aArea := GetArea()
Local _aRet := {} //devolver esta matriz
Local _cProduto := paramixb[1] //produto
Local _oDet := paramixb[2] //Objeto do XML
Local _i := paramixb[3] //Item corrente
Local _cChassi := “”
Local _cCor := “”
if Type( “oXml:_NFEPROC:_NFE:_INFNFE:_DET:_PROD:_VEICPROD:_CHASSI:TEXT” ) <> “U” //variável oXml private, vindo do importa.
_cChassi := _oDet[_i]:_PROD:_VEICPROD:_CHASSI:TEXT
endif
if Type( “oXml:_NFEPROC:_NFE:_INFNFE:_DET:_PROD:_VEICPROD:_XCOR:TEXT” ) <> “U” //variavel oXml private, vindo do importa.
_cCor := _oDet[_i]:_PROD:_VEICPROD:_XCOR:TEXT
endif
if _cChassi <> NIL .and. .not. empty( _cChassi )
aadd(_aRet,{“D1_CHASSI” ,_cChassi ,Nil})
endif
if _cCor <> NIL .and. .not. empty( _cCor )
aadd(_aRet,{“D1_XXCOR” ,_cCor ,Nil})
endif
RestArea( _aArea )
Return( _aRet )
Ele incluirá o campo chassi e o campo cor na pré-nota.
Caso exista o ponto de entrada U_XMLPEIT2:
No momento de gerar o aviso de recebimento de carga, se existir o ponto de entrada U_XMLPEIT2, para cada item ele enviará como parâmetro para o PE a matriz paramixb[3] onde:
- [1] – Código do Produto;
- [2] – objeto com os itens da nota do XML;
- [3] – índice do item atual, que está sendo processado.
E deverá devolver uma matriz com os itens da DB3 que deseja atualizar, com a seguinte estrutura para cada campo:
- [x][1] – Campo do DB3;
- [x][2] – Valor a atribuir;
- [x][3] – Validação.
Exemplo de utilização:
User Function XMLPEIT2()
Local _aArea := GetArea()
Local _aRet := {} //devolver esta matriz
Local _cProduto := paramixb[1] //produto
Local _oDet := paramixb[2] //Objeto do XML
Local _i := paramixb[3] //Item corrente
Local _cChassi := “”
if Type( “oXml:_NFEPROC:_NFE:_INFNFE:_DET:_PROD:_VEICPROD:_CHASSI:TEXT” ) <> “U” //variável oXml private, vindo do importa.
_cChassi := _oDet[_i]:_PROD:_VEICPROD:_CHASSI:TEXT
endif
if _cChassi <> NIL .and. .not. empty( _cChassi )
aadd(_aRet,{“DB3_XXCHASSI” ,_cChassi ,Nil})
endif
RestArea( _aArea )
Return( _aRet )
Ele incluirá o campo chassi nos itens da nota, num campo customizado, do aviso de recebimento de carga.
Caso um ou mais itens do XML esteja com valor unitário zerado
No momento de gerar o aviso de recebimento de carga, se algum item estiver com valor unitário zerado, é apresentada a tela abaixo:
O sistema irá interromper a geração do aviso de recebimento de carga. Neste caso você deve contatar o fornecedor e pedir para que ele cancele o XML e emita um com os valores corretos.