#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:= '' 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 += ''+aItens[nLin][1]+'' Next //Tipo de frete aTpFrete:= {{"S","Sem Frete"},{"C","CIF"},{"F","FOB"}} cTpFrete:='' 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:='' //Cliente cCliente:='' //Data Prevista de Entrega /* nDiasEnt:= GetNewPar("AE_DTENT",10) cEntrega:='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 += '' //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 += '' 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 += '' cPVItens += '' Next cPVItens += '' SC6->(dbSkip()) End //Adiciona os botões da página cBotoes+=''+chr(13)+chr(10) //Retorna o HTML para construção da página cHtml := H_ViewPed() Web Extended End Return (cHTML)