Histórico da Página
LJ7114 - Permite alterar a tela padrão de digitação do NSU e do Código de Autorização na rotina Venda Assistida
Nota | ||
---|---|---|
| ||
A versão anterior deste ponto de entrada retornava um conteúdo do tipo caractere (código do NSU). Porém, devido a necessidade de evolução e adequação do produto o mesmo agora passa a esperar o retorno do tipo array conforme especificado abaixo na documentação. Essa mudança passa a valer quando a data do fonte LOJXREC.PRW for maior ou igual à 15/12/2021. |
Descrição: | Disponibilizar P.E Ponto de Entrada para permitir a substituição da tela padrão para digitação do NSU e do Código de Autorização da transação manual de Cartão (POS) na rotina Venda Assistida. | ||||||||||||||||
Eventos: | O ponto de entrada é executado na finalização da venda, substituindo a tela padrão de digitação do NSU e do Código de Autorização. Disponível a partir do release 12.1.25 | ||||||||||||||||
Programa Fonte: | LOJXREC | ||||||||||||||||
Parâmetros: |
| ||||||||||||||||
Retorno: | Deve ser retornado um array com 2 posições, conforme abaixo:
| ||||||||||||||||
Exemplo: |
User Function LJ7114()
Usado no Venda Assistida LOJA701 @type Ponto de Entrada @param PARAMIXB[1] - Caracter - Recebe o tipo da forma de pagamento ( CC, CD, Etc..) @param PARAMIXB[2] - Caracter - Recebe o Id da parcela do cartão @param PARAMIXB[3] - Numerico - Valor da parcela @version P12 @since 17/07/2019 @autor Marcos Iurato Junior @return Retorna o numero do NSU /*/
Local oDlg Local oSayNumAut Local oSayAdmin Local oSayInfCrt Local oSayInfVlr Local oNSU Local oAdmin Local oBtnOK Local oBtVld Local oBtnCancel Local oCombo := NIL //Objeto para seleção do POS que irá realizar a venda Local aPOS := {} //Array com todos os POS cadastrados no sistema Local cNSU :=
Local cDesc := "PONTO DE ENTRADA LJ7114 - Informações da Transação" Local cLinha1 := "" //Informações da primeira linha da tela Local cLinha2 := "" //Informações da segunda linha da tela Local cCombo := "" //conteudo selecioado no combo Local cTexto := "" //Para alteração do conteudo de exibição quando acionado o botão do MFe Local nInObj := 0 Local lTemInfo := .F. // Aqui validamos a informação recebida no PARAMIXB[1] o tipo da Forma de Pagto. If !Empty(PARAMIXB[1]) // Se não estiver vazia, escrevemos a primeira linha da tela conforme informação recebida pelo PARAMIXB[1] // Se for CC, escrevemos: Teste Cartao Crédito / Se for CD, escrevemos: Teste Cartao Débito If AllTrim(PARAMIXB[1]) == "CC" cLinha1 := "TESTE Cartao Crédito" ElseIf AllTrim(PARAMIXB[1]) == "CD" cLinha1 := "TESTE Cartao Débito" EndIf // Aqui validamos a informação recebida no PARAMIXB[2] // Se não estiver vazia, complementamos a escrita na primeira linha da tela com o Id da parcela If !Empty(AllTrim(PARAMIXB[2])) cLinha1 += "- ID " + PARAMIXB[2] EndIf // Aqui validamos a informação recebida no PARAMIXB[3] // Se o PARAMIXB[3] for maior que 0, escrevemos na segunda linha da tela o valor da parcela If PARAMIXB[3] > 0 cLinha2 += " Valor : " + AllTrim( Str( PARAMIXB[3], 14, 2 ) ) EndIf lTemInfo := .T. EndIf // Inicializo o objeto responsável pela criação da tela // PONTO DE ENTRADA LJ7114 - Informações da Transação oDlg := MSDIALOG():Create() oDlg:cName := "oDlg" oDlg:cCaption := cDesc oDlg:nLeft := 0 oDlg:nTop := 0 oDlg:nWidth := 370 oDlg:nHeight := 190 oDlg:lShowHint := .F. oDlg:lCentered := .T. // Caso houve informações para preenchimento nas linhas 1 e 2, mostramos na tela If lTemInfo //Informações do Cartão - LINHA 1 oSayInfCrt:= TSAY():Create(oDlg) oSayInfCrt:cName := "oSayInfCrt" oSayInfCrt:cCaption := cLinha1 oSayInfCrt:nLeft := 10 oSayInfCrt:nTop := 17 oSayInfCrt:nWidth := 230 oSayInfCrt:nHeight := 16 oSayInfCrt:lShowHint := .F. oSayInfCrt:lReadOnly := .F. oSayInfCrt:Align := 0 oSayInfCrt:lVisibleControl := .T. oSayInfCrt:lWordWrap := .F. oSayInfCrt:lTransparent := .F. //Valor - LINHA 2 oSayInfVlr:= TSAY():Create(oDlg) oSayInfVlr:cName := "oSayInfVlr" oSayInfVlr:cCaption := cLinha2 oSayInfVlr:nLeft := 10 oSayInfVlr:nTop := 37 oSayInfVlr:nWidth := 230 oSayInfVlr:nHeight := 16 oSayInfVlr:lShowHint := .F. oSayInfVlr:lReadOnly := .F. oSayInfVlr:Align := 0 oSayInfVlr:lVisibleControl := .T. oSayInfVlr:lWordWrap := .F. oSayInfVlr:lTransparent := .F. nInObj := 40 EndIf // Código de Autorização da Transação(NSU): oSayNumAut:= TSAY():Create(oDlg) oSayNumAut:cName := "oSayNumAut" oSayNumAut:cCaption := "Código de Autorização da Transação(NSU):" oSayNumAut:nLeft := 10 oSayNumAut:nTop := 20 + nInObj oSayNumAut:nWidth := 230 oSayNumAut:nHeight := 16 oSayNumAut:lShowHint := .F. oSayNumAut:lReadOnly := .F. oSayNumAut:Align := 0 oSayNumAut:lVisibleControl := .T. oSayNumAut:lWordWrap := .F. oSayNumAut:lTransparent := .F. // Get para digitação do NSU oNSU:= TGET():Create(oDlg) oNSU:cName := "oNSU" oNSU:nLeft := 240 oNSU:nTop := 17 + nInObj oNSU:nWidth := 100 oNSU:nHeight := 20 oNSU:lShowHint := .F. oNSU:Align := 0 oNSU:cVariable := "cNSU" oNSU:bSetGet := {|u| If(PCount()>0,cNSU:=u,cNSU) } oNSU:lVisibleControl := .T. oNSU:lPassword := .F. oNSU:Picture := "@!" oNSU:lHasButton := .F. //BOTÃO OK para confirmar a tela oBtnOK:= TButton():Create(oDlg) oBtnOK:cName := "oBtnOK" oBtnOK:cCaption := "OK" //"OK" oBtnOK:nLeft := 240 oBtnOK:nTop := 110 oBtnOK:nWidth := 90 oBtnOK:nHeight := 25 oBtnOK:lShowHint := .F. oBtnOK:lReadOnly := .F. oBtnOK:Align := 0 oBtnOK:bAction := {|| oDlg:End() } oDlg:lEscClose := .F. oDlg:Activate() Return(cNSU)
| ||||||||||||||||