#include "PROTHEUS.CH" #include "RWMAKE.CH" #include "APWEBEX.CH" #include "TOPCONN.CH" #include "TBICONN.CH" #DEFINE SMSDEBUG /*__________________________________________________________________________ ����������������������������������������������������������������������������� ��+-----------------------------------------------------------------------+�� ���Fun��o � ViewPed � Autor � Lucilene Mendes � Data �02.05.24 ��� ��+----------+------------------------------------------------------------��� ���Descri��o � Visualiza��o dos pedidos. ��� ��+-----------------------------------------------------------------------+�� ����������������������������������������������������������������������������� ���������������������������������������������������������������������������*/ User Function ViewPed() Local cHtml Local cItem := "" Local nLin := 0 Local nPosFrete:= 0 Local lMoeda := .F. Local lNumber := .F. Local aTpFrete := {} Private cDirPortal := "" Private cEndServ := "" // Endere�o do servidor da pagina de Portal Private cPVCabec := "" Private cPVItens := "" Private cNFSerie := "" Private cBotoes := "" Private cTpFrete := "" Private cValFre := "" Private cTransp := "" Private cCliente := "" Private cEntrega := "" Private cBtnItens := "" Private cObsNota := "" Private cChaveNF := "" Private cEmissao := "" Private nTVlrUnit := 0 Private nTTotal := 0 Private nTImpostos := 0 Private nTFrete := 0 Private nItens := 0 Private cSite := "u_PortalLogin.apw" Private cPagina := "Pedido" Private cMenus := "" Private cFooter := "" Private cTitle := "" Private cAnexos := "" Private aItens := {} Private cCodLogin := "" Private cLoginGet := "" Web Extended Init cHtml Start U_inSite(empty(cLoginGet)) cVendLogin := u_GetUsrPR() cCodLogin := U_SetParPR(cVendLogin) If Empty(HttpSession->CodVend) cHtml:= '<META HTTP-EQUIV="Refresh" CONTENT="0 ; URL='+cSite+'">' Return cHtml Else If !Empty(HttpSession->Superv) .and. HttpSession->Superv <> HttpSession->CodVend HttpSession->CodVend:= HttpSession->Superv Endif Endif // Pega do par�metro com o Titulo do Portal cTitle := SuperGetMV("PS_TITLE", .T., "Portal SMS") // Define a funcao a ser chama no link cSite := "u_SMSPortal.apw?PR="+cCodLogin // Monta o cabe�alho para a pagina cHeader := U_PSHeader(cTitle, cSite) //Fun��o que atualiza os menus cMenus := U_GetMenus(AllTrim(Upper(Procname())), cLoginGet) //Fun��o que retorna o rodap� da p�gina // cFooter:= U_GetFooter() //Atualiza as vari�veis cEndServ := GetMv('MV_WFBRWSR') cItem := StrZero(1,TamSX3("C6_ITEM")[1]) nRecSC5 := val(HttpGet->rec) //Posiciona no Pedido If !Empty(nRecSC5) dbSelectArea("SC5") SC5->(dbGoTo(nRecSC5)) //Troca de filial u_PTChgFil(SC5->C5_FILIAL) dbSelectArea("SC5") SC5->(dbGoTo(nRecSC5)) dbSelectArea("SC6") SC6->(dbSeek(xFilial("SC6")+SC5->C5_NUM)) Endif cPVSerie:= SC5->C5_NUM //cChaveNF:= SC5->C5_CHVNFE cEmissao:= dtoc(SC5->C5_EMISSAO) //Observa��es do or�amento cObsNota:= SC5->C5_MENNOTA /* aItens - array que define o cabe�alho da tabela de produtos [1] - Nome da coluna [2] - Nome do campo [3] - Tamanho [4] - Alinhamento [5] - Tipo [6] - Edit�vel [7] - Obrigat�rio [8] - Moeda [9] - Placeholder */ aItens := { {"Produto","C6_PRODUTO","500px","left","C",.F.,.T.,.F.,"Selecione..."},; {"UM","C6_UM","*","right","C",.F.,.F.,.F.,""},; {"Quantidade","C6_QTDVEN","*","right","N",.F.,.T.,.F.,"0"},; {"Previs�o Entrega","C6_ENTREG","*","left","C",.F.,.F.,.F.,""},; {"V.Unit�rio","C6_PRCVEN","*","","N",.F.,.F.,.T.,"0,00000"},; // {"IPI","C6_VALIPI","*","right","N",.F.,.F.,.T.,"0,00"},; // {"ICMS","C6_VALICM","*","right","N",.F.,.F.,.T.,"0,00"},; // {"ICMS ST","C6_ICMSRET","*","right","N",.F.,.F.,.T.,"0,00"},; {"Total","C6_VALOR","*","right","N",.F.,.F.,.T.,"0,00"}} // Cria o cabe�alho dos Itens For nLin := 1 to Len(aItens) cPVCabec += '<th'+Iif(aItens[nLin,2] == "C6_PRODUTO",' width="'+aItens[nLin,3]+'"','')+'>'+aItens[nLin][1]+'</th>' Next //Tipo de frete aTpFrete:= {{"S","Sem Frete"},{"C","CIF"},{"F","FOB"}} cTpFrete:='<select class="form-control mb-md" name="C5_TPFRETE" id="C5_TPFRETE" value="'+SC5->C5_TPFRETE+'" disabled>' nPosFrete:= aScan(aTpFrete,{|x|x[1]==SC5->C5_TPFRETE}) If nPosFrete = 0 nPosFrete:= 1 Endif cTpFrete+=' <option value="'+SC5->C5_TPFRETE+'">'+aTpFrete[nPosFrete,2]+'</option>' cTpFrete+='</select>' cValFre:= Transform(SC5->C5_FRETE,"@E 999,999,999.99") //Transportadora cTransp:= SC5->C5_TRANSP+' - '+Alltrim(Posicione("SA4",1,xFilial("SA4")+SC5->C5_TRANSP,"A4_NREDUZ")) //Condi��o de Pagamento cCondPag:='<select class="form-control mb-md" name="C5_COND" id="C5_COND" required="" aria-required="true" disabled>' cCondPag+=' <option value="'+SC5->C5_CONDPAG+'">'+SC5->C5_CONDPAG+" - "+Posicione("SE4",1,xFilial("SE4")+SC5->C5_CONDPAG,"E4_DESCRI")+'</option>' cCondPag+='</select>' //Cliente cCliente:='<select data-plugin-selectTwo class="form-control populate placeholder" data-plugin-options='+"'" cCliente+='{ "placeholder": "Selecione um Cliente", "allowClear": false }'+"'"+' name="C5_CLIENTE" id="C5_CLIENTE" ' cCliente+=' disabled >' cCliente+=' <option value='+SC5->C5_CLIENTE+SC5->C5_LOJACLI+'>'+SC5->C5_CLIENTE+'/'+SC5->C5_LOJACLI+' - '+Alltrim(Posicione("SA1",1,xFilial("SA1")+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_NOME"))+'</option>' cCliente+='</select>' //Data Prevista de Entrega /* nDiasEnt:= GetNewPar("AE_DTENT",10) cEntrega:='<input type="text" id="CK_ENTREG" name="CK_ENTREG" data-plugin-datepicker data-plugin-options='+"'"+'{ "startDate": "+'+nDiasEnt+'d", "language": "pt-BR",' cEntrega+='"daysOfWeekDisabled": "[0]","daysOfWeekHighlighted":"[0]"}'+"'"+' class="form-control only-numbers" placeholder="__/__/____"' cEntrega+='value='+DTOC(SCK->CK_ENTREG) cEntrega+=Iif(!lEdit,' disabled','')+'>' */ //Preenchimento dos itens nTFrete:= SC5->C5_FRETE nTTotal:= SC5->C5_FRETE dbSelectArea("SC6") SC6->(dbSetOrder(1)) SC6->(dbSeek(xFilial("SC6")+SC5->C5_NUM)) While SC6->(!Eof()) .and. SC6->C6_NUM = SC5->C5_NUM .AND. SC6->C6_SERIE = SC5->C5_SERIE nItens++ Posicione("SB1",1,xFilial("SB1")+SC6->C6_PRODUTO,"B1_DESC") cPVItens += '<tr class="odd" id="linha'+StrZero(nItens,2)+'">' //nTImpostos += SC6->(C6_ICMSRET+C6_VALIPI) //C6_VALICM+ nTVlrUnit += SC6->C6_QTDVEN * SC6->C6_PRCVEN nTTotal+= SC6->C6_VALOR For nLin := 1 to Len(aItens) cPVItens += '<td'+Iif(!Empty(aItens[nLin][4]),' align="'+aItens[nLin][4]+'"',"")+'>' lMoeda:= aItens[nLin,8] //Indica se � Moeda lNumber:= aItens[nLin,5] = "N" //Indica que � num�rico xValue:= "" Do Case Case aItens[nLin][5] == 'C' If aItens[nLin,2] == "C6_PRODUTO" xValue := AllTrim(SC6->&(aItens[nLin][2]))+" - "+Alltrim(SB1->B1_DESC) Elseif aItens[nLin,2] == "C6_ENTREG" xValue := dtoc(SC6->&(aItens[nLin][2])) Else xValue := AllTrim(SC6->&(aItens[nLin][2])) Endif Case aItens[nLin][5] == 'N' If aItens[nLin,2] == "C6_QTDVEN" xValue := Alltrim(PadR(TransForm(SC6->&(aItens[nLin][2]),"@E 999,999,999"),14)) Else xValue := Alltrim(PadR(TransForm(SC6->&(aItens[nLin][2]),"@E 999,999,999.99"),14)) Endif EndCase cPVItens += '<input id="'+aItens[nLin][2]+cItem+'" data-prop="'+aItens[nLin][2]+'" name="'+aItens[nLin][2]+cItem+'" class="form-control input-block" type="text" disabled width="" ' cPVItens += 'value="'+Alltrim(xValue)+'" title="'+Alltrim(xValue)+'">' cPVItens += '</td>' Next cPVItens += '</tr>' SC6->(dbSkip()) End //Adiciona os bot�es da p�gina cBotoes+='<input class="btn btn-primary" type="button" id="btVoltar" name="btVoltar" value="Voltar" onclick="javascript: location.href='+"'"+'u_pedidos.apw?PR='+cCodLogin+"';"+'"/>'+chr(13)+chr(10) //Retorna o HTML para constru��o da p�gina cHtml := H_ViewPed() Web Extended End Return (cHTML)