1. Rotina automática de documentos de entrada via MATA103 Para utilização desta rotina, necessitamos somente dos arrays de capa e item, conforme descrito anteriormente. Porém vale uma observação importante para eles sobre os valores dos impostos. A rotina possui duas formas de tratamento dos valores de impostos: Automática, a forma mais aconselhada pela Totvs para a maioria dos casos. Para utilizar os cálculos automatizados de impostos do sistema, basta NÃO utilizar NENHUMA referência de impostos nos arrays (capa e itens) criados na rotina; além também de informar, no último nível do array do item, na última posição, o respectivo TES da operação. Manual. Esta forma é muito utilizada nas integrações com outros sistemas onde os cálculos dos tributos já foram efetuados na origem, e na importação para o Protheus eles não devem ser recalculados e alterados. Para que esses valores sejam respeitados na importação, basta fazer o procedimento contrário ao item comentado anteriormente Automático, ou seja, informar as referência dos impostos e enviar, na primeira posição do array do item a referência do TES do respectivo item. Observação Quando se utilizam as referências de impostos, para que os valores sejam respeitados, é muito importante que uma ordem de estruturação do array seja seguida, tanto para o array de capa quanto para o de itens. Primeiramente, devem ser declarados todos os valores de alíquotas, depois os valores de base e por último os valores dos tributos, uma exceção é o array de capa, que não pode conter nenhuma referência de alíquota, somente os de base e valor do tributo.Podemos consultar o exemplo MA103AUT.PRW2. 2. Rotina automática de documentos de saída via MATA461 Esta rotina foi construída nos mesmo moldes do MATA103, porém ela tem outra estrutura de código fonte. Podemos verificar no exemplo que os array devem ser definidos com a mesma estrutura de dicionário do SX3, tanto para a capa (SF2) quanto para os itens (SD2), e para isso utiliza-se o retorno do dbStruct(). Após se obter esta estrutura, cria-se outro array somente com as informações de conteúdo, e é este array que é passado na rotina automática.A regra dos impostos continua com a mesma regra de automático ou manual conforme comentado no item 1, porém o que mudou foi a forma de se passar os valores deles. Podemos ver no exemplo que é utilizado o codeblock com uma função fiscal MAFISALT que força alterar os valores dos impostos, ela altera os cálculos padrões feitos pelo sistema e os grava nas tabelas dos documentos fiscais. Podemos consultar o exemplo NFS2NFS.PRW. 3. Rotina automática de documentos de saída via MATA920 Esta rotina foi construída nos mesmo moldes do MATA103, item 1 deste artigo. Portanto todas as observações também valem para este item também. Podemos consultar o exemplo MA920AUT.PRW. |