Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Dica
titleInstrução L1_DOC

O tamanho e o preenchimento com zeros ( "0" ) a direita nesse campos respeita o tipo de documento, a partir da sigla do modelo

(campo self:oRegistro:_SiglaModelo:Text recebido pela integração.

Bloco de código
{
    	"L1_FILIAL": "&self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)",
    	"L1_CLIENTE": "&IIF( Empty(self:oRegistro:_IdentificacaoCliente:Text), SuperGetMv('MV_CLIPAD', .F., '000001'), self:DePara('SA1', self:oRegistro:_IdentificacaoCliente:Text, 2,0) )",
    	"L1_LOJA": "&IIF( Empty(self:oRegistro:_IdentificacaoCliente:Text), SuperGetMv('MV_LOJAPAD', .F., '01',self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)), self:DePara('SA1', self:oRegistro:_IdentificacaoCliente:Text, 3,0) )",
    	"L1_OPERADO": "&self:DePara('SA6',self:oRegistro:_Operador:Text, 2,0)",
    	"L1_EMISSAO": "&DtoS( CtoD( SubStr(self:oRegistro:_DataHora:Text, 1, 10) ) )",
    	"L1_NUMCFIS": "&self:oRegistro:_Numero:Text",
    	"L1_DOC": "&IIF(self:oRegistro:_SiglaModelo:Text == '59',StrZero(Val(self:oRegistro:_Numero:Text),6),IIF(self:oRegistro:_SiglaModelo:Text == '65',StrZero(Val(self:oRegistro:_Numero:Text),9),cValToChar(self:oRegistro:_Numero:Text)))",
    	"L1_SERIE": "&self:LayEstAuto('LG_SERIE')",
    	"L1_KEYNFCE": "&IIF(self:oRegistro:_SiglaModelo:Text <> '2D', self:oRegistro:_ChaveNFCe:Text, '')",
    	"L1_SERSAT": "&IIF(self:oRegistro:_SiglaModelo:Text == '59', self:oRegistro:_NumeroImpressora:Text, '')",
    	"L1_SERPDV": "&IIF(self:oRegistro:_SiglaModelo:Text == '2D', self:oRegistro:_NumeroImpressora:Text, '')",
    	"L1_COMIS": 0,
    	"L1_VLRTOT": "&self:oRegistro:_ValorLiquido:Text",
    "	"L1_VALBRUT": "&self:oRegistro:_ValorLiquido:Text",
    	"L1_VLRLIQ": "&self:oRegistro:_ValorLiquido:Text",
    	"L1_VALMERC": "&self:oRegistro:_ValorBruto:Text",
    	"L1_DESCONT": "&IIF( Val(self:oRegistro:_ValorDesconto:Text") > 0,
     self:oRegistro:_ValorDesconto:Text, 0 )",
	"L1_CGCCLI": "&self:oRegistro:_CPFCliente:Text",
    	"L1_MSEXP": "&DtoS(Date())",
    	"L1_CONDPG": "CN",
    	"L1_TIPO": "V",
    	"L1_TIPOCLI": "F",
    "	"L1_ESPECIE": "&IIF(self:oRegistro:_SiglaModelo:Text == '59','SATCE',IIF(self:oRegistro:_SiglaModelo:Text == '65','NFCE',self:oRegistro:_SiglaModelo:Text))",
    	"L1_PDV": "&self:LayEstAuto('LG_PDV')",
    	"L1_ORIGEM": "N",
    	"SL2": [
        {
            		{
			"L2_FILIAL": "&self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)",
            			"L2_PRODUTO": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_CodigoProduto:Text",
			"L2_ITEM": "&Right(           AllTrim(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_NumeroItem:Text), TamSx3('L2_ITEM')[1])",
			"L2_VEND": "&IIF( Empty(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_IdentificacaoVendedor:Text), SuperGetMv('MV_VENDPAD', .F., '000001'), self:DePara('SA3',self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_IdentificacaoVendedor:Text, 2,0) )",
            			"L2_QUANT": "&Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_Quantidade:Text)",
            			"L2_VRUNIT": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorUnitarioLiquido:Text",
            			"L2_VLRITEM": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorTotalLiquido:Text",
			"L2_PRCTAB": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorTotalBruto:Text",
            			"L2_DESCPRO": "&IIF( Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorDescontoItem:Text",
) >           0, self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorDescontoItem:Text, 0 )",
			"L2_VALACRS": "&IIF( Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorDescontoItem:Text) < 0, Abs(Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorDescontoItem:Text)), 0 )",
			"L2_LOCAL": "&SuperGetMv('MV_LOCPAD', .F., '01')",
            			"L2_UM": "&self:DePara('SAH', self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_UnidadeMedida:Text, 2,0)",
             2,0)",
			"L2_TES": "&SuperGetMv('MV_TESSAI', .F., '501',self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0))",
            			"L2_CF": "",
            			"L2_EMISSAO": "&DtoS( CtoD( SubStr(self:oRegistro:_DataHora:Text, 1, 10) ) )"
        		}
    	],
    	"SL4": [
        {
            		{
			"L4_FILIAL": "&self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)",
            			"L4_DATA": "&DtoS( CtoD( SubStr(self:oRegistro:_DataHora:Text, 1, 10) ) )",
            			"L4_VALOR": "&self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_ValorPagamento:Text",
            			"L4_FORMA": "&IIF(!Empty(self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_FormaPagamento:Text),self:DePara('SX5', self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_FormaPagamento:Text, 3),'')",
            			"L4_ADMINIS": "&IIF( Empty(self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_ProdutoEletronico:Text), '', self:DePara('SAE', self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_ProdutoEletronico:Text, 2,0) )",
            			"L4_AUTORIZ": "&AllTrim(self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_Autorizacao:Text)",
            			"L4_NSUTEF": "&self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_NSU:Text",
            			"L4_PARCTEF": "&self:oRegistro:_FormasPagamento:_Lc_FormaPagamento[nItem]:_Parcela:Text"
        		}
    	]
}
 
Nota
titleRegras para controle de Serie e PDV
  • Regras para venda com SAT
    • Deverá ser gerado um novo registro na tabela SLG para cada equipamento fiscal SAT que enviar venda, onde deverá conter o número de série do equipamento (LG_SERSAT)
    • O número do PDV enviado na venda, não será considerado para gravação do campo LG_PDV, pois na SLG não permite duplicidade de PDV e o Live permite que um mesmo PDV utilize dois equipamentos SAT diferentes. O campo LG_PDV deverá ser sequencial a partir do 999, ou seja, como o campo possui 3 posições, será a sequencia padrão Protheus com letras. Exemplo: "A01".."Z99". O motivo é para não conflitar com um possível PDV de um ECF. que nos registros C400 do Sped, são obrigatórios para identificar o ECF e possuem 3 posições.
    • o campo LG_SERIE deverá ser gerado de forma automática, o SAT não possui série de documento, apenas o número serial do equipamento. O LG_SERIE, deverá ser sequencial a partir do número 999, ou seja, como o campo possui 3 posições, será a sequencia padrão Protheus com letras. Exemplo: "A01".."Z99". O motivo é para não conflitar com número de série de NF-e/NFC-e (000-999)
    • A busca da estação SLG da venda, sempre será com base no número de série do equipamento.


  • Regras para venda com NFC-e
    • A numeração de série da NFC-e, deverá ser o mesmo valor recebido na venda (tag SerieNFCE)
    • Caso já exista a série na SLG para uma estação que não seja NFC-e (para um SAT ou ECF), deverá ser gerado erro com mensagem clara do motivo (não pode ser utilizado uma série que foi utilizada para uma venda com SAT ou ECF)
    • O número do PDV enviado na venda, não será considerado para gravação do campo LG_PDV, pois na SLG não permite duplicidade de PDV e o Live permite que um mesmo PDV utilize dois equipamentos SAT diferentes. O campo LG_PDV deverá ser sequencial a partir do 999, ou seja, como o campo possui 3 posições, será a sequencia padrão Protheus com letras. Exemplo: "A01".."Z99". O motivo é para não conflitar com um possível PDV de um ECF. que nos registros C400 do Sped, são obrigatórios para identificar o ECF e possuem 3 posições.


  • Regras para venda com ECF
    • Deverá ser gerado um novo registro na tabela SLG para cada equipamento fiscal ECF que enviar venda, onde deverá conter o número de série do equipamento (LG_SERPDV)
    • Não é recebido valor nas tags SiglaModelo e SerieNFCE, assim quando recebermos apenas a tag numeroImpressora o tipo de equipamento sera ECF.
    • O número do PDV enviado na venda, não será considerado para gravação do campo LG_PDV, pois na SLG não permite duplicidade de PDV e o Live permite que um mesmo PDV utilize dois equipamentos ECF diferentes. O campo LG_PDV deverá ser sequencial a partir do 001, ou seja, como o campo possui 3 posições, será a sequencia padrão Protheus.
    • o campo LG_SERIE deverá ser gerado de forma automática, o ECF não possui série de documento, apenas o número serial do equipamento. O LG_SERIE, deverá ser sequencial a partir do número 001, ou seja, como o campo possui 3 posições, será a sequencia padrão Protheus.
    • A busca da estação SLG da venda, sempre será com base no número de série do equipamento.

...