Histórico da Página
01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | Livros Fiscais - SIGAFIS |
02. DESCRIÇÃO
Este ponto de entrada tem como finalidade retornar um Array com as informações do produto para os clientes que possuem uma forma diferente do padrão de compor o código do produto.
...
Parâmetros do ponto de entrada:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array | Array com dados: [1] = cAliasSFT [2] = cRegsped [3] = cUnid |
Nome | Tipo | Descrição |
---|---|---|
cAliasSFT | Caracter | Alias da tabela SFT filtrada onde são lidas as informações do documento fiscal |
cRegsped | Caracter | Nome do registro |
cUnid | Caracter | Campo Unidade de Medida do produto |
Retorno:
Nome | Tipo | Descrição |
---|---|---|
aProd | Array | Array com as informações do produto: aProd[1] - Código do Produto (campo padrão B1_COD) aProd[2] - Descrição do produto (campo padrão B1_DESC) aProd[3] - Código de barras (campo padrão B1_CODBAR) aProd[4] - Código Anterior (campo padrão B1_CODANT) aProd[5] - Unidade de medida (campo padrão B1_UM) aProd[6] - Tipo do Item aProd[7] - Código de NCM (campo padrão B1_POSIPI) aProd[8] - Exceção da NCM (campo padrão B1_EX_NCM) aProd[9] - Código do gênero do item (2 primeiros caracteres do NCM obs.: (se for um item de serviço o código do gênero é 00)) (campo padrão B1_POSIPI) aProd[10] - Código de ISS (campo padrão B1_CODISS) aProd[11] - Alíquota de ICMS (campo padrão B1_PICM) aProd[12] - CEST - Código Especificador da Substituição Tributária (campo padrão B1_CEST) |
Observação.: CEST - Exclusivo para SPEDFISCAL - Campo 13 do registro 0200.
|
Aviso | ||
---|---|---|
| ||
Ao utilizar este ponto de entrada, todas as posições do array aProd devem ser preenchidas, mesmo com informações em branco. Para os casos em que exista relacionamento com outras tabelas, é imprescindível que o conteúdo exista também na tabela relacionada (Ex. Unidade de Medida deve existir na tabela SAH). |
Aviso | ||
---|---|---|
| ||
Caso o cliente possua o parâmetro MV_CSDXML (vínculo com o XML do fornecedor)ativado (.T.), algumas informações do ponto de entrada não serão considerados, priorizando os dados do XML de entrada. |
04. EXEMPLO DE UTILIZAÇÃO
...
Desta forma sabemos realmente se o campo FTcampo FT_PRODUTO , ou CODou COD_ITEM realmente existe no alias passado, e assim podemos tomar devida ação ou processamento dentro deste ponto, evitando erro. Abaixo exemplo completo:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#include "Rwmake.ch" User Function SPEDPROD() Local cAlias := Iif(Len(paramixb) >= 1, paramixb[1], '') Local cRegspd := Iif(Len(paramixb) >= 2, paramixb[2], '') Local cUnid := Iif(Len(paramixb) >= 3, paramixb[3], '') Local aProd := {} Local lFTProduto := .F. Local lB1Cod := .F. Local lCodItem := .F. Local lD2Cod := .F. Local lCF8Item := .F. Do Case //Verifica se o campo FT_PRODUTO existe no alias Case (cAlias)->(FieldPos('FT_PRODUTO')) > 0 lFTProduto := .T. //Verifica se o campo B1_COD existe no alias Case (cAlias)->(FieldPos('B1_COD')) > 0 lB1Cod := .T. //Verifica se o campo COD_ITEM existe no alias Case (cAlias)->(FieldPos('COD_ITEM')) > 0 lCodItem := .T. //Verifica se o campo D2_COD existe no alias Case (cAlias)->(FieldPos('D2_COD')) > 0 lD2Cod := .T. //Verifica se o campo CF8_ITEM existe no alias Case (cAlias)->(FieldPos('CF8_ITEM')) > 0 lCF8Item := .T. EndCase aAdd(aProd, "00001") // aProd[1] - Código do Produto(campo padrão B1_COD ) aAdd(aProd, "Teste") // aProd[2] - Descrição do produto(campo padrão B1_DESC) aAdd(aProd, "") // aProd[3] - Código de barras(campo padrão B1_CODBAR) aAdd(aProd, "") // aProd[4] - Código Anterior(campo padrão B1_CODANT) aAdd(aProd, "UN") // aProd[5] - Unidade de medida(campo padrão B1_UM) aAdd(aProd, "04") // aProd[6] - Tipo do Item aAdd(aProd, "33074900") // aProd[7] - Código de NCM(campo padrão B1_POSIPI) aAdd(aProd, "") // aProd[8] - Exceção da NCM(campo padrão B1_EX_NCM) aAdd(aProd, "33") // aProd[9] - Código do gênero do item (2 primeiros caracteres do NCM obs.: // (se for um item de serviço o código do genero é 00))(campo padrão B1_POSIPI) aAdd(aProd, "") // aProd[10] - Código de ISS(campo padrão B1_CODISS) aAdd(aProd, 18) // aProd[11] - Alíquota de ICMS(campo padrão B1_PICM) aAdd(aProd, "") // aProd[12] - CEST - Código Especificador da Substituição Tributária(campo padrão B1_CEST) Return (aProd) |
05. DEMAIS INFORMAÇÕES
Não há.
...