Histórico da Página
...
Dica | ||
---|---|---|
| ||
As inutilizações também são integradas através do processo de venda, do assinante LIVE, para mais detalhes: Inutilização NFCE Integrada LIVE Importante: No cenário de integração de TVFR x Protheus, quem é o responsável pelas vendas e inutilizações é o TVFR, ou seja, caso seja realizado inutilização direto no Protheus, não será integrado com o TVFR e irá acusar como falha no processo de conciliação de movimentações. |
Nota | ||
---|---|---|
| ||
Realize este processo para tabela: SL1 - Orçamento |
...
Nota | ||
---|---|---|
| ||
|
Alterando tamanho do campo:
Para alterar o tamanho do campo L1_UMOV na Tabela SL1 - Orçamento veja o exemplo abaixo:
Importante: O tamanho do campo deve ser igual 36.
Cadastrando o Processo de Venda
Para integrarmos o Venda com o Totvs Live primeiramente é necessário acessar o cadastro do Processo para verificar se o Venda foi criado automaticamente no Protheus.
...
Tabela: SL1
Chave: L1_FILIAL+L1_NUM
Vinculando o Processo de Venda ao Assinante Live
1- No módulo 12 (Controle de Lojas), acesse Atualizações/ RMI/ Cadastros/ Assinantes.
...
Tipo Process: Busca
Filiais Proc: Informe o código das filiais que deseja Buscar de apenas uma filial para buscar o Processo.
Configuração: Preencha esta campo de acordo com a sua URL da API Venda, como mostra o exemplo abaixo:
Aviso | ||
---|---|---|
| ||
A tag ValeTroca deve ser preenchida com o código da forma de pagamento Vale Troca, é necessário verificar no Live qual o código correto. As notas de devolução, não devem ser transmitidas pelo TVFR, no fluxo de integração, essas notas são geradas no TVFR sem ocorrer a comunicação com a SEFAZ e são integradas no Protheus (consumo do método RecuperarNotaFiscalLC_Integracao_Xml) e transmitidas via JOB NF-e. Configurações TVFR para não transmitir a Nota de Devolução: IMPRIMEDOCUMENTO |
Bloco de código | ||
---|---|---|
| ||
{ "url": "http://XXXXXXXX/XXXXXXX/LiveConnector/FacadeIntegracao.svc?wsdl", "operacao":"RecuperarCupomFiscalLC_Integracao_Xml", "tagretorno":"<LC_TicketCupomFiscal>", "SL2":"self:oRegistro:_Itens:_Lc_ItemCupomfiscal", "SL4":"self:oRegistro:_FormasPagamento:_Lc_FormaPagamento", "ValeTroca":"9" } |
Layout Envio: Preencha este campo de acordo com o exemplo abaixo: Lembrando que é permitido utilizar macro execuções no Layout abaixo, após o &.
Bloco de código |
---|
&"<?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'> <soapenv:Header /> <soapenv:Body> , "ChaveUni": [ "SerieNFCe", <liv:RecuperarCupomFiscalLC_Integracao_Xml>"NumeroImpressora", <liv:codigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</liv:codigoSistemaSatelite> "SiglaModelo", "Numero" ] } |
Layout Envio: Preencha este campo de acordo com o exemplo abaixo: Lembrando que é permitido utilizar macro execuções no Layout abaixo, após o &.
Bloco de código | ||
---|---|---|
| ||
&" <liv:xmlIdentificacao><![CDATA[<?xml version='1.0' encoding='utfUTF-8'?><LC_Identificacao><Chave>" + self:cToken + "</Chave><CodigoSistemaSatelite>" + self:oConfAssin['sistemasatelite'] + "</CodigoSistemaSatelite><Data/><Hora/></LC_Identificacao>]]></liv:xmlIdentificacao> </liv> <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:liv='http://LiveConnector/'> <soapenv:Header/> <soapenv:Body> <liv:RecuperarCupomFiscalLC_Integracao_Xml> <liv:codigoSistemaSatelite>" + self:oLive:getSatelite(self) + "</soapenvliv:Body> </soapenv:Envelope>" |
Layout Publicação: Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG
Obs: Os campos abaixo L1_CLIENTE e L1_LOJA são configuráveis conforme a sua necessidade após o &. No exemplo abaixo está configurado
para quando o Cliente for não identificado no Live-Conector no Protheus não vai existir De/Para gravado então será utilizado o Cliente Padrão
configurado no parâmetro MV_CLIPAD e MV_LOJPAD.
Dica | ||
---|---|---|
| ||
Caso seus códigos de Produto sejam iguais entre Live x Protheus não usar a função "DePara" na tag L2_PRODUTO. Exemplificando o uso da tag: "L2_PRODUTO": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_CodigoProduto:Text" |
Dica | ||
---|---|---|
| ||
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. |
codigoSistemaSatelite>
<liv:xmlIdentificacao><![CDATA[<?xml version='1.0' encoding='utf-8'?><LC_Identificacao><Chave>" + self:oLive:getToken(self) + "</Chave><CodigoSistemaSatelite>" + self:oLive:getSatelite(self) + "</CodigoSistemaSatelite><Data/><Hora/></LC_Identificacao>]]></liv:xmlIdentificacao>
</liv:RecuperarCupomFiscalLC_Integracao_Xml>
</soapenv:Body>
</soapenv:Envelope>" |
Layout Publicação: Layout que será utilizado para gerar a Publicação (tabela MHQ), especificamente o campo MHQ_MENSAG
Obs: Os campos abaixo L1_CLIENTE e L1_LOJA são configuráveis conforme a sua necessidade após o &. No exemplo abaixo está configurado
para quando o Cliente for não identificado no Live-Conector no Protheus não vai existir De/Para gravado então será utilizado o Cliente Padrão
configurado no parâmetro MV_CLIPAD e MV_LOJAPAD.
Dica | ||
---|---|---|
| ||
Caso seus códigos de Produto sejam iguais entre Live x Protheus não usar a função "DePara" na tag L2_PRODUTO. Exemplificando o uso da tag: "L2_PRODUTO": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_CodigoProduto:Text" |
Dica | ||
---|---|---|
| ||
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('SM0', self:oRegistro:_CodigoLoja:Text,1,0)), self:DePara('SA1', self:oRegistro:_IdentificacaoCliente:Text, 2, 0,,, self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)))",
"L1_LOJA": "&IIF( Empty(self:oRegistro:_IdentificacaoCliente:Text), SuperGetMv('MV_LOJAPAD', .F., '01', | ||
Bloco de código | ||
{ "L1_FILIAL": "&self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0))", "L1_CLIENTE": "&IIF( Empty( self:DePara('SA1', self:oRegistro:_IdentificacaoCliente:Text), 3, 0,,, SuperGetMvself:DePara('MV_CLIPAD', .F., '000001'), SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)) )", "L1_OPERADO": "&self:DePara('SA1SA6', self:oRegistro:_IdentificacaoClienteOperador:Text, 2,0) )", "L1_LOJAEMISSAO": "&IIFDtoS( CtoD( EmptySubStr(self:oRegistro:_IdentificacaoClienteDataHora:Text), SuperGetMv('MV_LOJAPAD', .F., '01',self:DePara('SM0', 1, 10) ) )", "L1_NUMCFIS": "&self:oRegistro:_Numero:Text", "L1_DOC": "&IIF(self:oRegistro:_CodigoLojaSiglaModelo:Text, 1, 0)), self:DePara('SA1', == '59',StrZero(Val(self:oRegistro:_IdentificacaoClienteNumero:Text), 3,0) )", "L1_OPERADO": "&self:DePara('SA6',6),IIF(self:oRegistro:_SiglaModelo:Text == '65',StrZero(Val(self:oRegistro:_OperadorNumero:Text), 2,09)", "L1_EMISSAO": "&DtoS( CtoD( SubStr(,cValToChar(self:oRegistro:_DataHoraNumero:Text, 1, 10) ) )))", "L1_SERIE": "&self:LayEstAuto('LG_SERIE')", "L1_NUMCFISKEYNFCE": "&IIF(self:oRegistro:_NumeroSiglaModelo:Text", <> '2D', self:oRegistro:_ChaveNFCe:Text, '')", "L1_DOCSERSAT": "&IIF(self:oRegistro:_SiglaModelo:Text == '59',StrZero(Val( self:oRegistro:_Numero:Text),6),NumeroImpressora:Text, '')", "L1_SERPDV": "&IIF(self:oRegistro:_SiglaModelo:Text == '652D',StrZero(Val( self:oRegistro:_NumeroNumeroImpressora:Text),9),cValToChar(self:oRegistro:_Numero:Text))), '')", "L1_SERIECOMIS": "&self:LayEstAuto('LG_SERIE')", 0, "L1_KEYNFCEVLRTOT": "&IIF(self:oRegistro:_SiglaModeloValorLiquido:Text <> '2D', ", "L1_VALBRUT": "&self:oRegistro:_ChaveNFCeValorLiquido:Text, '')", "L1_SERSATVLRLIQ": "&IIF(self:oRegistro:_SiglaModeloValorLiquido:Text == '59', ", "L1_VALMERC": "&self:oRegistro:_NumeroImpressoraValorBruto:Text, '')", "L1_SERPDVDESCONT": "&IIF( Val(self:oRegistro:_SiglaModeloValorDesconto:Text) == '2D'> 0, self:oRegistro:_NumeroImpressoraValorDesconto:Text, ''0 )", "L1_COMIS": 0, "L1_VLRTOTCGCCLI": "&self:oRegistro:_ValorLiquidoCPFCliente:Text", "L1_VALBRUTCONDPG": "&self:oRegistro:_ValorLiquido:TextCN", "L1_TIPO": "V", "L1_VLRLIQTIPOCLI": "&self:oRegistro:_ValorLiquido:TextF", "L1_VALMERCESPECIE": "&IIF(self:oRegistro:_ValorBrutoSiglaModelo:Text", "L1_DESCONT": "&== '59','SATCE',IIF(self:oRegistro:_ValorDescontoSiglaModelo:Text", "L1_CGCCLI": "&== '65','NFCE',IIF(self:oRegistro:_CPFClienteSiglaModelo:Text", "L1_MSEXP": "&DtoS(Date(== '55','SPED',self:oRegistro:_SiglaModelo:Text)))", "L1_CONDPGPDV": "CN", "L1_TIPO": "V", "L1_TIPOCLI&self:LayEstAuto('LG_PDV')", "L1_ORIGEM": "FN", "L1_ESPECIE "SL2": [ { "L2_FILIAL": "&IIF(self:DePara('SM0', self:oRegistro:_SiglaModeloCodigoLoja:Text, == '59','SATCE',IIF(1, 0)", "L2_PRODUTO": "&self:oRegistro:_SiglaModelo:Text == '65','NFCE',self:oRegistro:_SiglaModelo:Text))", "L1_PDVItens:_Lc_ItemCupomfiscal[nItem]:_CodigoProduto:Text", "L2_ITEM": "&self:LayEstAuto('LG_PDV')", "L1_ORIGEM": "N", "SL2": [ { "L2_FILIAL": "&self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0)", "L2_PRODUTO": "&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]:_CodigoProduto:Text", "L2_VENDIdentificacaoVendedor:Text, 2,0) )", "L2_QUANT": "&IIFVal( Empty(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_IdentificacaoVendedorQuantidade:Text), SuperGetMv('MV_VENDPAD', .F., '000001'), self:DePara('SA3',", "L2_VRUNIT": "&self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_IdentificacaoVendedorValorUnitarioLiquido:Text, 2,0) )", "L2_QUANTVLRITEM": "&Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_QuantidadeValorTotalLiquido:Text)", "L2_VRUNITDESCPRO": "&IIF( Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorUnitarioLiquido:Text", "L2_VLRITEM": "&_ValorDescontoItem:Text) > 0, self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorTotalLiquidoValorDescontoItem:Text, 0 )", "L2_PRCTABVALACRS": "&IIF( Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorTotalBrutoValorDescontoItem:Text", ) < "L2_DESCPRO": "&0, Abs(Val(self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorDescontoItem:Text:Text)), 0 )", "L2_LOCAL": "&SuperGetMv('MV_LOCPAD', .F., '01')", "L2_UM": "&self:DePara('SAH', self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_UnidadeMedida:Text, 2,0)", "L2_TES": "&SuperGetMv('MV_TESSAI', .F., '501',self:DePara('SM0', self:oRegistro:_CodigoLoja:Text, 1, 0))", "L2_CF": "", "L2_CFPRCTAB": "", &self:oRegistro:_Itens:_Lc_ItemCupomfiscal[nItem]:_ValorUnitarioBruto:Text", "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 | ||
---|---|---|
| ||
|
...