Parcourir la source

Ajustes após merge de fontes com Matheus

lucilene.smsti il y a 1 semaine
Parent
commit
cd42534375
5 fichiers modifiés avec 64 ajouts et 331 suppressions
  1. 15 14
      apl/AddOrc.apl
  2. 4 208
      apl/MntOpt.apl
  3. 25 10
      apl/Pedidos.apl
  4. 19 98
      apl/RevOrc.apl
  5. 1 1
      apl/SMSPortal.apl

+ 15 - 14
apl/AddOrc.apl

@@ -288,7 +288,7 @@ Private aAnexos   	:= {}
 	//Seleciona as condições de pagamento disponíveis no combo
 	cCondPag:='<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
 	cCondPag+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="CJ_CONDPAG" id="CJ_CONDPAG" '
-	cCondPag+='required="" aria-required="true" onchange="javascript:vldCond()" disabled>'
+	cCondPag+='required="" aria-required="true"  disabled>' //onchange="javascript:vldCond()"
 
 	cCondPag+='	<option value=""></option>'
 
@@ -449,7 +449,7 @@ Private aAnexos   	:= {}
 	cTpFrete+='</select>'
 
 	cPFrete:= '<input id="CJ_PERCFRT" name="CJ_PERCFRT" class="form-control text-right percentual" placeholder="0,00" maxlength="'+cvaltochar(GetSX3Cache("CJ_PERCFRT","X3_TAMANHO")+1)+'" '
-	cPFrete+= 'value="" disabled>'
+	cPFrete+= 'value="0" disabled>'
 
 	cValFre:= '<input id="CJ_FRETE" name="CJ_FRETE" class="form-control money text-right" placeholder="0,00" '
 	cValFre+= 'value="" onchange="javascript:TotalGeral()" disabled>'
@@ -786,6 +786,7 @@ Else
 Endif
 cQry+= " And A3_MSBLQL <> '1' "
 cQry+= " And SA3.D_E_L_E_T_ = ' ' "
+cQry+= " Order by A3_COD "
 If Select("QRR") > 0
 	QRR->(dbCloseArea())
 Endif
@@ -891,9 +892,9 @@ Endif
 
 cQuery += " OR A1_VEND = ' ' )"
 If cOptIE = 'S'
-	cQuery += " And A1_IENCONT = '1' " //destaca IE = sim
+	cQuery += " And A1_IENCONT <> '2' " //destaca IE = sim
 Else
-	cQuery += " And A1_IENCONT <> '1' " 
+	cQuery += " And A1_IENCONT = '2' " 
 Endif
 cQuery += " And A1_MSBLQL <> '1' "
 cQuery += " And SA1.D_E_L_E_T_ = ' ' "
@@ -1270,7 +1271,7 @@ User Function SlvOrc()
 
 					aadd(aLinhaScj,{"CK_PRCVEN" ,A410Arred(nPrcVen1, "CK_PRCVEN"),Nil})
 					//aadd(aLinhaScj,{"CK_PRCVEN" ,A410Arred(nPrcVen1, "CK_PRCVEN"),Nil})
-					aadd(aLinhaScj,{"CK_PRTAB" ,A410Arred(nPrcVen, "CK_PRCVEN"),Nil})
+					//aadd(aLinhaScj,{"CK_PRTAB" ,A410Arred(nPrcVen, "CK_PRCVEN"),Nil})
 					aadd(aLinhaScj,{"CK_VALOR" ,A410Arred(nQuantSck*A410Arred(nPrcVen1, "CK_PRCVEN"),"CK_VALOR"),Nil})
 
 					aadd(aLinhaScj,{"CK_OBS" 	,cObsSck,Nil})
@@ -1322,7 +1323,7 @@ User Function SlvOrc()
 			Endif
 			//Grava o erro
 			cMsg:= MostraErro(cDirErro,"erro_orcto_"+strtran(time(),":","")+"_"+cFilAnt+".txt")
-			cDestMail:= GetNewPar("PR_DESTORE ","matheus.lopes@smsti.com.br")
+			cDestMail:= GetNewPar("PR_DESTORE ","lucilene@smsti.com.br")
 			u_MailCM("ERRO ORCAMENTO",{cDestMail},{},"ERRO ORCAMENTO NO PORTAL",cMsg,"","")
 			cHtml:= "erro"
 		Else
@@ -1446,8 +1447,8 @@ User Function GetLikePro()
 	Local cProds := ""
 	Local cGrupo := ""
 	Local cDescDig	:= HttpPost->DIGIT
-	Local lValidaMP 
-	Local cGrpTribNP
+	Local lValidaMP := GetMV("LC_FA1059A",, .F.)
+	Local cGrpTribNP:= GetMV("LC_FA1059B",, "990/996") //grupos tributarios não permitidos
 	
 	Web Extended Init cHtml Start U_inSite()
 
@@ -1469,7 +1470,6 @@ User Function GetLikePro()
 
 
 	lValidaMP := GetMV("LC_FA1059A",, .F.)
-
 	cGrpTribNP:= GetMV("LC_FA1059B",, "990/996") //grupos tributarios não permitidos
 
 	cQry:="Select DA1_CODTAB, B1_GRUPO, BM_DESC, DA1_CODPRO, B1_DESC "
@@ -1546,14 +1546,14 @@ User Function GetLikeCli()
 	cQuery += " From "+RetSqlName("SA1")+" SA1 "
 	cQuery += " Where A1_FILIAL = '"+xFilial("SA1")+"' "
 	If HttpSession->Tipo = 'S' //Supervisor acessa todos os clientes da sua equipe
-		cQuery += " AND A1_REGIAO = '"+HttpSession->Regional+"' " 
-	Else
-		If SA3->A3_TIPO <> "I" //vendedor interno deve exibir todos os clientes
-			cQuery+= " AND A1_VEND = '"+cCodVend+"'" // OR A1_VEND2 = '"+cCodVend+"'  OR A1_VEND3= '"+cCodVend+"' OR A1_VEND4= '"+cCodVend+"' OR A1_VEND5 = '"+cCodVend+"' ) "
+		If HttpSession->Interno <> "S" //vendedor interno deve exibir todos os clientes
+			cQuery += " AND A1_REGIAO = '"+HttpSession->Regional+"' " 
 		Endif
+	Else
+		cQuery+= " AND A1_VEND = '"+cCodVend+"'" // OR A1_VEND2 = '"+cCodVend+"'  OR A1_VEND3= '"+cCodVend+"' OR A1_VEND4= '"+cCodVend+"' OR A1_VEND5 = '"+cCodVend+"' ) "
 	Endif
 	cQuery += " And A1_MSBLQL <> '1' "
-	cQuery += " And A1_IENCONT = '1' " //destaca IE = sim
+	cQuery += " And A1_IENCONT <> '2' " //destaca IE = sim
 	cQuery += " AND (A1_COD LIKE '%"+cCliente+"%' OR A1_CGC LIKE '%"+cCliente+"%' OR A1_NOME LIKE '%"+cCliente+"%') "
 	cQuery += " And SA1.D_E_L_E_T_ = ' ' "
 	cQuery += " Order by A1_NOME "
@@ -2970,6 +2970,7 @@ User Function MargemPt()
 
 			cHtml := "OK:"
 			cHtml += cMgItem+cSepField
+			//cHtml += Alltrim(Transform(nPMC,"@E 999,999,999.99"))+cSepField
 			cHtml += Alltrim(Transform(nMC_T,"@E 999,999,999.99"))+cSepField
 			cHtml += Alltrim(Transform(nMCTotIt,"@E 999,999,999.99"))+cSepField
 			cHtml += Alltrim(Transform(nMC_L,"@E 999,999,999.99"))+cSepField

+ 4 - 208
apl/MntOpt.apl

@@ -19,8 +19,6 @@ Local cHtml
 Local nOpc		:= 0
 Local nRecAD1   := 0
 Local F			:= 0
-local i
-Private	aAnTemp		:= {}
 Private cFilVen		:= ""
 Private cCodLogin 	:= ""
 Private cVendLogin	:= ""
@@ -310,8 +308,8 @@ cCodLogin  := U_SetParPR(cVendLogin)
 	cContEsp:='<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
 	cContEsp+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_CONTAT" id="AD1_CONTAT" ' 
 	cContEsp+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+'>'                              
-	CONOUT(AD1->AD1_CONTAT)
-	CONOUT(AD1->AD1_NROPOR)
+CONOUT(AD1->AD1_CONTAT)
+CONOUT(AD1->AD1_NROPOR)
 	cContEsp+='	<option value="'+AD1->AD1_CONTAT+'">'+AD1->AD1_CONTAT+" - "+fDesc("SU5",AD1->AD1_CONTAT,"U5_CONTAT")+'</option>'		
 
 	If lEdit
@@ -458,55 +456,7 @@ cCodLogin  := U_SetParPR(cVendLogin)
 	Endif
 	cBotoes+='<input class="btn btn-primary" type="button" id="btVoltar" name="btVoltar" value="Voltar" onclick="javascript: location.href='+"'"+'U_Oportunidade.apw?PR='+cCodLogin+"';"+'"/>'+chr(13)+chr(10)
 	
-
-	//Botão para adicionar anexos
-	cBtAddAnex+= '<div class="form-row">'
-	cBtAddAnex+= '	<div class="col-sm-1">'
-	cBtAddAnex+= '		<span class="btn btn-primary" id="btAddAnex" name="btAddAnex" onclick="javascript: Anexar('+"'"+cCodLogin+"'"+');">'
-	cBtAddAnex+= '			<i class="fa fa-paperclip"></i> Anexar</button>'
-	cBtAddAnex+= '		</span>'
-	cBtAddAnex+= '	</div>'
-	cBtAddAnex+= '</div>'
 	//Retorna o HTML para construção da página 
-
-
-	//Seleciona as opções do combo
-	cNewDir := "\dirdoc_fileserver\co"+cEmpAnt+"\shared\"
-
-	cQry:= " SELECT ACB_OBJETO "
-	cQry+= " From "+RetSqlName("AC9")+" AC9 "
-	cQry+= " INNER JOIN "+RetSqlName("ACB")+" ACB ON ACB_CODOBJ = AC9_CODOBJ AND ACB_FILIAL = AC9_FILIAL "
-	cQry+= " Where AC9_ENTIDA = 'AD1' "
-	cQry+= " AND ACB.R_E_C_D_E_L_ = '0' "
-	cQry+= " AND AC9_CODENT = '"+AD1->AD1_NROPOR+"' "
-	cQry+= " AND AC9.D_E_L_E_T_ = '' "
-
-	If Select("QRM") > 0
-		QRM->(dbCloseArea())
-	Endif	
-
-	APWExOpenQuery(ChangeQuery(cQry),'QRM',.T.)
-
-	While QRM->(!Eof())
-		aAnTemp := DIRECTORY(cNewDir+ALLTRIM(QRM->ACB_OBJETO))
-		For i:= 1 to Len(aAnTemp)
-			aadd(aAnexos,aAnTemp[i])
-		Next
-		
-		QRM->(dbSkip())
-	End
-	QRM->(dbCloseArea())
-
-	//Localiza os arquivos para download
-
-	//Arquivos
-    
-    If Len(aAnexos) > 0
-        cAnexos:= U_GetAnexos(aAnexos,cNewDir)
-    Else
-        cAnexos := "Sem arquivos para download."
-    EndIf
-
 	cHtml := H_AddOpt()
 	
 Web Extended End
@@ -611,7 +561,6 @@ Return (cHTML)
 */
 User Function SlvOpt()
 	Local cHtml
-	local i
 	Local nOpc		:= 3 // 3- Incluir / 4- Alterar / 5- Excluir
 	Local cFilAD1	:= ""
 	Local cNumAD1	:= ""
@@ -642,8 +591,6 @@ User Function SlvOpt()
 	Local cDirOpt 	:= "\anexosPortal\oportunidade\"
 	Local cDirErro  := "\erro\"
 	Local lEnvEmail := .f.
-	Local aArquivos  := {}
-	Private aCabAnexo :={}
 	Private aCabAD1 :={}
 	Private lMsErroAuto:= .F.
 	Private cCodLogin := ""
@@ -665,8 +612,7 @@ User Function SlvOpt()
 	nOpc:= Val(HttpPost->OPCAO)
 	conout("### SlvOpt ###")
 	conout(nOpc)
-	
-	//Variáveis do cabeçalho
+//Variáveis do cabeçalho
 	If nOpc = 3
 		cFilAD1:= "01" //HttpPost->AD1_FILIAL
 		cNumAD1:= GetSXENum("AD1","AD1_NROPOR") //HttpPost->AD1_NROPOR
@@ -786,10 +732,8 @@ User Function SlvOpt()
 	Else
 		ConfirmSX8()	
 		cHtml:= AD1->AD1_NROPOR
-		
-		fRunProcOportunidade(CNUMAD1 ,httpPost->anexos, cVendLogin)
 
-		cDestOpt := GetNewPar("PR_DESTORC","")
+		cDestOpt := GetNewPar("PR_DESTOPT","")
 			
 		//Envia e-mail informando a inclusão da oportunidade
 		If !Empty(cDestOpt) .and. (nOpc = 3 .or. lEnvEmail) 
@@ -805,152 +749,4 @@ User Function SlvOpt()
 	Web Extended End
 
 Return (cHTML)
- 
-/*__________________________________________________________________________
-¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
-¦¦+-----------------------------------------------------------------------+¦¦
-¦¦¦Funçäo    ¦ SlvOpt      ¦ Autor ¦ Lucilene Mendes     ¦ Data ¦17.08.17 ¦¦¦
-¦¦+----------+------------------------------------------------------------¦¦¦
-¦¦¦Descriçäo ¦ Gera a oportunidade.										  ¦¦¦
-¦¦+-----------------------------------------------------------------------+¦¦
-¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
-¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
-Static Function fRunProcOportunidade(cNumOportunidade, cAnexos, cVendLogin)
-	Local cProxObj
-	Local cAliasAtu := "AD1"
-	local cNewDir
-	local cDirAnexos
-	local i
-
-	cNewDir := "\dirdoc_fileserver\co"+cEmpAnt+"\shared\"
-	cDirAnexos:="\web\PortalSMS\upload\"+dtos(date())+"\"+cVendLogin+"\"
-
-	//Verifica se possui anexos
-	aAnexos := DIRECTORY(cDirAnexos+"*.*")
-	
-	For i:= 1 to Len(aAnexos)
-		If !Empty(aAnexos[i,1])
-			//renomeia com o código do documento no início
-			if FRename(cDirAnexos+aAnexos[i,1], cNewDir+ Upper(STRTRAN(U_NoAcMI(aAnexos[i,1])," ","_"))) == 0
-				DbSelectArea("AD1") 
-				AD1->(DbSetOrder(1))
-				If AD1->(DbSeek(xFilial('AD1')+cNumOportunidade))
-					cProxObj := GetSxeNum("ACB","ACB_CODOBJ")
-					If ! ACB->(DbSeek(xFilial('ACB')+cProxObj))
-						Reclock("ACB", .T.)
-						ACB->ACB_FILIAL := xFilial('ACB')
-						ACB->ACB_CODOBJ := cProxObj
-						ACB->ACB_OBJETO := aAnexos[i,1]
-						ACB->ACB_DESCRI := aAnexos[i,1]
-						ACB->(MsUnlock())
-						ConfirmSX8()
-					Else
-					//TRATAR
-					EndIf
-
-					DbSelectArea("AC9")
-					AC9->(DbSetOrder(1))
-					If ! AC9->(DbSeek(xFilial('AC9') + cProxObj + cNumOportunidade))
-						Reclock("AC9", .T.)
-						AC9->AC9_FILIAL := xFilial('AC9')
-						AC9->AC9_FILENT := xFilial('AD1')
-						AC9->AC9_ENTIDA := cAliasAtu 
-						AC9->AC9_CODENT := cNumOportunidade
-						AC9->AC9_CODOBJ := cProxObj
-						AC9->(MsUnlock())
-					EndIf
-				Else
-					conout("Número de Oportunidade inválido: " + cNumOportunidade, "Atenção")
-				EndIf
-			else
-			// tratar erro
-			endif
-		Endif
-	Next
-
-Return
-
-
-
-// Função para anexar os arquivos no Portal - Joab Rodrigues - 05/03/2012
-User Function uploadfile()
-Local cDrive, cDir:='', cNome, cExt
-Local cDirAnx:= '\web\PortalSMS\upload\'
-Local cHtml:= ""
-Local nI:= 0
-Private cSite	  := "u_PortalLogin.apw"
-Private cLoginGet:= ""
-
-Web Extended Init cHtml
-	cVendLogin := u_GetUsrPR()
-	cCodLogin  := U_SetParPR(cVendLogin)
-
-	aInfo := HttpPost->aPost
-	if valtype(aInfo) == "A"
-		If !ExistDir(cDirAnx)
-			MakeDir(cDirAnx)
-		Endif	
-		
-		cDirAnx+=dtos(dDataBase)
-		If !ExistDir(cDirAnx)
-			MakeDir(cDirAnx)
-		Endif
-
-		cDirAnx+='\'+cVendLogin
-		If !ExistDir(cDirAnx)
-			MakeDir(cDirAnx)
-		Endif
-		cDirAnx+='\'
-
-		For nI := 1 to len(aInfo)
-			conout('POST '+str(nI,3)+' = '+aInfo[nI]+' -> '+&("HTTPPOST->"+aInfo[nI]))
-			SplitPath( &("HTTPPOST->"+aInfo[nI]), @cDrive, @cDir, @cNome, @cExt )
-			cNomeArq := STRTRAN(FWnoAccent(decodeUTF8(cNome))," ","_")
-			
-			If(FRenameEx(&("HTTPPOST->"+aInfo[nI]),cDirAnx+cNomeArq+cExt)==-1)
-				conout(FError())
-			EndIf
-			cHtml:=cNomeArq+cExt+"|"
-		Next
-	EndIf
-Web Extended End
-
-Return cHtml
-
-
-/*__________________________________________________________________________
-¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
-¦¦+-----------------------------------------------------------------------+¦¦
-¦¦¦Funçäo    ¦ DelDoctos   ¦ Autor ¦ Lucilene Mendes  	¦ Data ¦ 14.09.22 ¦¦¦
-¦¦+----------+------------------------------------------------------------¦¦¦
-¦¦¦Descriçäo ¦ deleta os arquivos da pasta upload					      ¦¦¦
-¦¦+-----------------------------------------------------------------------+¦¦
-¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
-¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
-User Function DelDoctos()
-Local cHtml:= ""
-Local cDirAnexos:= '\web\PortalSMS\upload\'+cvaltochar(Year(dDataBase))
-Local aArqDel:= {}
-Local aAnexos:= {}
-Local i:= 0
-Private cSite	  := "u_PortalLogin.apw"
-Private cLoginGet:= ""
-
-Web Extended Init cHtml Start U_inSite()
-	cVendLogin := u_GetUsrPR()
-
-	cDirAnexos+= +'\'+cVendLogin+"\"
-
-	aArqDel:= Separa(HttpPost->anexos,"|")
-
-	//Exclui os arquivos da pasta
-	aAnexos := DIRECTORY(cDirAnexos+"*.*")
-	For i:= 1 to Len(aAnexos)
-		If aScan(aArqDel,{|x|Upper(STRTRAN(U_NoAcMI(x)," ","_"))==aAnexos[i][1]}) > 0
-			FErase(cDirAnexos+aAnexos[i][1])
-		Endif
-	Next
-
-Web Extended End
 
-Return (cHTML) 

+ 25 - 10
apl/Pedidos.apl

@@ -96,11 +96,13 @@ Web Extended Init cHtml Start U_inSite()
 	//Filtros
     cTopo:= '<div class="row form-group">'
     cTopo+= '	<div class="col-sm-12" align="">'
-	cTopo+= '		<div class="col-sm-2" style="padding: 20px;">'
-	cTopo+= '			<button class="btn btn-primary" id="btAddOrc" name="btAddPed" onclick="javascript: getFilVend();">'
-    // cTopo+= '			<button class="btn btn-primary" id="btAddOrc" name="btAddOrc" onclick="window.document.location='+"'"+cLink+"'"+'";>'
-    cTopo+= '			  <i class="fa fa-plus"></i> Novo Pedido</button>'
-    cTopo+= '  		</div>'
+	If u_getAcesso('4','1')
+		cTopo+= '		<div class="col-sm-2" style="padding: 20px;">'
+		cTopo+= '			<button class="btn btn-primary" id="btAddOrc" name="btAddPed" onclick="javascript: getFilVend();">'
+		// cTopo+= '			<button class="btn btn-primary" id="btAddOrc" name="btAddOrc" onclick="window.document.location='+"'"+cLink+"'"+'";>'
+		cTopo+= '			  <i class="fa fa-plus"></i> Novo Pedido</button>'
+		cTopo+= '  		</div>'
+	Endif
 	cTopo+= '  	<br>'
     cTopo+= '	<form name="formGrid" id="formGrid" method="POST" action="U_Pedidos.apw?PR='+cCodLogin+'">'
     cTopo+= '			<label class="col-md-1 control-label">Empresa:</label>'
@@ -178,6 +180,14 @@ Web Extended Init cHtml Start U_inSite()
 	If !Empty(cEmpresa)
 		cQry += " 	AND SUBSTRING(C5_FILIAL,1,2) = '"+cEmpresa+"' "
 	Endif
+	If HttpSession->Interno <> 'S'
+		If HttpSession->Tipo = 'S' //Supervisor acessa todos os orçamentos da sua equipe
+			cQry+= " AND C5_VEND in "+FormatIn(HttpSession->Equipe,"|")+" "
+		Else
+			cQry+= " AND C5_VEND = '"+cVendLogin+"' "
+		Endif
+    Endif
+
 	cQry += " AND C5_TIPO = 'N' "
 	cQry += " AND C5_EMISSAO between '"+cDataDe+"' and '"+cDataAte+"' "
 	cQry += " AND SC5.D_E_L_E_T_ = ' ' "
@@ -232,13 +242,18 @@ Web Extended Init cHtml Start U_inSite()
 		// 	cStatus:= ""
 		// Endif
 		// cItens+='	<td role="button" '+cLinkTot+'>'+cStatus+'</td>'	   
-	
+		
 		cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_STATUS+'</td>'	   
 		cItens+='	<td role="button" '+cLinkTot+'>'
-		// If cStatus = "00" .or. cStatus = ""
-		cItens+=' 	 <a href="'+cLink+'&opc=edit" class="on-default" data-toggle="tooltip" data-original-title="Alterar Pedido"><i class="fa fa-pencil"></i></a>'
-		cItens+=' 	 <a href="'+cLink+'&opc=dele" class="on-default" data-toggle="tooltip" data-original-title="Excluir Pedido"><i class="fa fa-trash-o"></i></a>'
-		// Endif
+		
+		If Empty(QRY->C5_NOTA)
+			If u_getAcesso('4','2')
+				cItens+=' 	 <a href="'+cLink+'&opc=edit" class="on-default" data-toggle="tooltip" data-original-title="Alterar Pedido"><i class="fa fa-pencil"></i></a>'
+			Endif
+			If u_getAcesso('4','3')
+				cItens+=' 	 <a href="'+cLink+'&opc=dele" class="on-default" data-toggle="tooltip" data-original-title="Excluir Pedido"><i class="fa fa-trash-o"></i></a>'
+			Endif
+		Endif
 		cItens+='	</td>'
 	    // If QRY->C5_STATUS = "A"
 	    // 	cItens+=' <a href="'+cLink+'&opc=edit" class="on-default" data-toggle="tooltip" data-original-title="Alterar Pedido"><i class="fa fa-pencil"></i></a>'

+ 19 - 98
apl/RevOrc.apl

@@ -20,9 +20,6 @@ Local cItem 	:= ""
 Local nPosFrete	:= 0
 Local nPerCom	:= 0
 Local nValCom	:= 0
-Local nValDesc	:= 0
-Local nVlrProd	:= 0
-Local nTotValor	:= 0
 Local nOpc		:= 0
 Local nLin		:= 0
 Local f			:= 0
@@ -82,11 +79,9 @@ Private cPrevFecha	:= ""
 Private cMargemCont	:= ""
 Private cTransp		:= ""
 Private cOptCli		:= ""
-Private cOptInter	:= ""
 Private cTotalReg	:= ""
 Private cLisPar		:= ""
 Private cParUs		:= ""
-Private cMgItens	:= ""
 //Private cEntrega	:= ""
 //Private cValidade	:= ""
 
@@ -99,10 +94,6 @@ Private nTImpostos	:= 0
 Private nTAcresc	:= 0
 Private nTFrete		:= 0
 Private nItens		:= 0
-Private nMargem		:= 0
-Private nMLuminaria	:= 0
-Private nMEquipa	:= 0
-Private nMPainel	:= 0
 Private lNewOrc		:= .F.
 Private lEdit		:= .F.              				
 Private lCopy		:= .F.
@@ -110,7 +101,6 @@ Private cShowDesc	:= "false"
 Private aItens	  	:= {}
 Private aAnexos   	:= {}
 
-
 Web Extended Init cHtml Start U_inSite()
 cVendLogin := u_GetUsrPR()
 cCodLogin  := U_SetParPR(cVendLogin)
@@ -138,12 +128,11 @@ cCodLogin  := U_SetParPR(cVendLogin)
 	
 	//Atualiza as variáveis
 	cEndServ := GetMv('MV_WFBRWSR')
+	cParUs	:= GetMv('LC_FA074G1')
 	cCodVend := cVendLogin
 	cNomeVend:= HttpSession->Nome
 	cItem := StrZero(1,TamSX3("CK_ITEM")[1])
 	cOpcao := HttpGet->opc
-	cParUs	:= GetMv('LC_FA074G1')
-	
 	if !empty(HttpGet->rec)
 		nRecSCJ := val(HttpGet->rec)
 	EndIf
@@ -462,7 +451,7 @@ cCodLogin  := U_SetParPR(cVendLogin)
 	//Vendedor do cliente
 	cVend2:= '<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
 	cVend2+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="CJ_VEND" id="CJ_VEND" ' 
-	cVend2+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+'>'                              
+	cVend2+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+'>'
 	If lCopy .or. lEdit
 		cVend2+= u_ListaVend(.F.,SCJ->CJ_VEND)
 	Else
@@ -548,8 +537,6 @@ cCodLogin  := U_SetParPR(cVendLogin)
 
 	//Observação Comercial
 	cObsCom:= SCJ->CJ_OBS
-
-
 	
 	//Margem de Contribuição
 	If HttpSession->Tipo <> "R" //Representante
@@ -558,72 +545,7 @@ cCodLogin  := U_SetParPR(cVendLogin)
 		cMargemCont+= '		<input id="MARGEM" name="MARGEM" class="form-control" value="'+u_getMCOrc() + "%"+'" disabled >'
 		cMargemCont+= '	</div>'
 	Endif
-	/*
-	//Transportadora	
-	cTransp:='<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
-	cTransp+='{ "placeholder": "Selecione uma Transportadora", "allowClear": false }'+"'"+' name="CJ_XTRANSP" id="CJ_XTRANSP" '
-	cTransp+='required="" aria-required="true" '
-	cTransp+= Iif(!lEdit .or. SCJ->CJ_TPFRETE = 'S','disabled','')+'>' 
-	cTransp+='	<option value="'+SCJ->CJ_XTRANSP+'">'+Alltrim(Posicione("SA4",1,xFilial("SA4")+SCJ->CJ_XTRANSP,"A4_NOME"))+'</option>'		
 	
-	If lEdit
-		//Transportadora do cadastro do cliente
-		If !Empty(SA1->A1_TRANSP)
-			cNome:= Alltrim(Posicione("SA4",1,xFilial("SA4")+SA1->A1_TRANSP,"A4_NOME"))
-			cTransp+='	<option value="'+Alltrim(cTransp)+'">'+cNome+'</option>'
-		Endif
-
-		//Seleciona as transportadoras disponíveis no combo
-		cQry:= " Select A4_COD COD, A4_NOME NOME"
-		cQry+= " From "+RetSqlName("SA4")+" SA4 "
-		cQry+= " Where A4_FILIAL = '"+xFilial("SA4")+"' "
-		cQry+= " And A4_COD NOT IN ('"+SA1->A1_TRANSP+"','"+SCJ->CJ_XTRANSP+"') " 
-		cQry+= " And SA4.D_E_L_E_T_ = ' ' " 
-
-		If Select("QRT")> 0
-			QRT->(dbCloseArea())
-		Endif	 	
-		APWExOpenQuery(ChangeQuery(cQry),'QRT',.T.)
-		
-		While QRT->(!Eof())
-			cTransp+='	<option value="'+Alltrim(QRT->COD)+'">'+Alltrim(QRT->NOME)+'</option>'
-			QRT->(dbSkip())
-		End	
-	Endif
-	
-	cTransp+='</select>'
-	*/
-
-	
-	/*
-	//Validade do Orçamento
-	nDiasVal:= GetNewPar("PR_DTVALID",3)
-	cValidade:='<input type="text" id="CJ_VALIDA" name="CJ_VALIDA" data-plugin-datepicker data-plugin-options='+"'"+'{ "startDate": "+'+cvaltochar(nDiasVal)+'d", "language": "pt-BR",'
-	cValidade+='"daysOfWeekDisabled": "[0]","daysOfWeekHighlighted":"[0]","autoclose": "true","disabled":"true"}'+"'"+' class="form-control only-numbers" placeholder="__/__/____" '
-	cValidade+='value="'+Iif(lCopy,dtoc(date()+nDiasVal),dtoc(SCJ->CJ_VALIDA))+'" disabled>'
-	
-
-	//Peso
-	cPeso:= '<input type="text" id="CJ_XPESO" name="CJ_XPESO" class="form-control text-right only-numbers" placeholder="0" '
-	cPeso+= 'value="'+cvaltochar(SCJ->CJ_XPESO)+'" '+Iif(lCopy .or. lEdit,'',' disabled')+'>'
-
-	//Volume
-	cVolume:= '<input type="text" id="CJ_XVOLUME" name="CJ_XVOLUME" class="form-control text-right only-numbers" placeholder="0" '
-	cVolume+= 'value="'+cvaltochar(SCJ->CJ_XVOLUME)+'"'+Iif(lCopy .or. lEdit,'',' disabled')+'>'
-
-	//Espécie
-	cEspecie:= '<input type="text" id="CJ_XESPECI" name="CJ_XESPECI" class="form-control" placeholder="" '
-	cEspecie+= 'value="'+cvaltochar(SCJ->CJ_XESPECI)+'"'+Iif(lCopy .or. lEdit,'',' disabled')+' maxlength="10">'
-
-	//Combo da tabela de preço
-	cTabela:='<select data-plugin-selectTwo class="form-control populate placeholder" data-plugin-options='+"'"
-	cTabela+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="CJ_TABELA" id="CJ_TABELA" '
-	cTabela+='onchange="javascript:selProd()" disabled >'
-	cTabela+='	<option value='+SCJ->CJ_TABELA+'>'+Alltrim(Posicione("DA0",1,xFilial("DA0")+SCJ->CJ_TABELA,"DA0_DESCRI"))+'</option>'
-	cTabela+='</select>'
-	HttpSession->Tabela:= SCJ->CJ_TABELA
-    */
-
 
 	//Preenchimento dos itens	
 	/*             
@@ -644,9 +566,9 @@ cCodLogin  := U_SetParPR(cVendLogin)
 
 	aAdd(aItens, {"Item","CK_ITEM","*","text-left","C",.F.,.F.,.F.,"",.F.,""})
 	aAdd(aItens, {"Produto","CK_PRODUTO","300px"," text-left","C",lEdit,.T.,.F.,"Selecione...",.F.,""})  
-	aAdd(aItens, {"Quant.","CK_QTDVEN","*"," text-right","N",lEdit,.T.,.F.,"0",.F.,""})
+	aAdd(aItens, {"Quant.","CK_QTDVEN","*"," text-right only-numbers","N",lEdit,.T.,.F.,"0",.F.,""})
 	aAdd(aItens, {"Observação","CK_OBS","*"," text-left","C",lEdit,.F.,.F.,"",.F.,"80"}) 
-	aAdd(aItens, {"Prazo de Embarque","CK_PRZEMB","70px","text-right","N",lEdit,.F.,.F.,"",.F.,"3"})
+	aAdd(aItens, {"Prazo de Embarque","CK_PRZEMB","70px","text-right only-numbers","N",.F.,.F.,.F.,"",.F.,"3"})
 	aAdd(aItens, {"Vlr Unitário","CK_PRCVEN","*"," text-right","N",lEdit,.F.,.T.,"0,00",.F.,""})
 	aAdd(aItens, {"Vlr c/ Impostos","CK_XPRCIMP","*","text-right","N",.F.,.F.,.T.,"0,00",.T.,""})
 	aAdd(aItens, {"Vlr de Venda","iCK_PRCVEN","*"," text-right myformato","N",.F.,.T.,.T.,"0,00",.T.,""})
@@ -688,14 +610,14 @@ cCodLogin  := U_SetParPR(cVendLogin)
 		If SB1->B1_MSBLQL = '1'
 			lProdBloq:= .T.
 		Endif
-
+        		
         DA1->(dbSetOrder(1))
 		DA1->(dbSeek(xFilial("DA1")+SCJ->CJ_TABELA+SCK->CK_PRODUTO))
-		// gera os produtos de acordo com o Cliente e Tabela
+        // gera os produtos de acordo com o Cliente e Tabela
         //cOptProd := u_GetProdOrc(SCJ->CJ_CLIENTE, SCJ->CJ_TABELA, "")
         
 		For nLin := 1 to Len(aItens)
-
+			
 			If aItens[nLin,2] == "ACAO"
 				cOrcItens += '<td class="actions">' 
 				If lEdit .or. lCopy //!lDele 
@@ -719,7 +641,7 @@ cCodLogin  := U_SetParPR(cVendLogin)
 				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] == "CK_PRODUTO"
@@ -730,8 +652,8 @@ cCodLogin  := U_SetParPR(cVendLogin)
 								xValue := 'xx'
 								//lProdBloq:= .T.
 							Else
-								xValue := AllTrim(SCK->&(aItens[nLin][2]))
-							Endif
+							xValue := AllTrim(SCK->&(aItens[nLin][2]))
+						Endif
 						Endif
 					Case aItens[nLin][5] == 'N'
 						If aItens[nLin,2] == "CK_QTDVEN"
@@ -749,15 +671,15 @@ cCodLogin  := U_SetParPR(cVendLogin)
 								nVlrProd:= u_getValProd(SCJ->CJ_COMISTR,SCJ->CJ_PERCFRT)
 								xValue := Alltrim(TransForm(nVlrProd,PesqPict("DA1","DA1_PRCVEN")))
 							Else
-						    	xValue := Iif(lNewOrc,"",Alltrim(TransForm(SCK->CK_PRCVEN,PesqPict("SCK","CK_PRCVEN"))))
+						    xValue := Iif(lNewOrc,"",Alltrim(TransForm(SCK->CK_PRCVEN,PesqPict("SCK","CK_PRCVEN"))))
 							Endif
-						Elseif aItens[nLin,2] == "CK_PRCVEN"
+						Elseif aItens[nLin,2] == "CK_PRCVEN"	
 							If lEdit	
 								nVlrProd:= u_getValProd(SCJ->CJ_COMISTR,SCJ->CJ_PERCFRT)
 								xValue := Alltrim(TransForm(nVlrProd,PesqPict("DA1","DA1_PRCVEN")))
 								nVlrCDesc:= nVlrProd
 							Else
-								xValue := Alltrim(TransForm(SCK->CK_PRUNIT,PesqPict("SCK","CK_PRUNIT")))
+							xValue := Alltrim(TransForm(SCK->CK_PRUNIT,PesqPict("SCK","CK_PRUNIT")))
 								nVlrCDesc:= SCK->CK_PRUNIT
 							Endif
 						Elseif aItens[nLin,2] == "CK_DESCONT"
@@ -768,7 +690,7 @@ cCodLogin  := U_SetParPR(cVendLogin)
 								xValue := Alltrim(TransForm(nVlrProd*SCK->CK_QTDVEN,PesqPict("SCK",aItens[nLin,2])))
 								nTotValor:= nVlrProd*SCK->CK_QTDVEN
 							Else
-								xValue := Alltrim(TransForm(SCK->(CK_VALOR/*+CK_XVALIPI+CK_XICMST*/),PesqPict("SCK",aItens[nLin,2])))
+							xValue := Alltrim(TransForm(SCK->(CK_VALOR/*+CK_XVALIPI+CK_XICMST*/),PesqPict("SCK",aItens[nLin,2])))
 								nTotValor:=SCK->CK_VALOR
 							Endif
 							 
@@ -792,7 +714,7 @@ cCodLogin  := U_SetParPR(cVendLogin)
 							cOrcItens +='			name="CK_PRODUTO'+cItem+'" id="CK_PRODUTO'+cItem+'"'
 							cOrcItens += 			Iif(aItens[nLin][7],'required="" aria-required="true" ','')+' data-live-search="true" autocomplete="off" '
 							cOrcItens +='			value="'+Alltrim(SCK->CK_PRODUTO)+' -- '+Alltrim(SB1->B1_DESC)+'" >'
-							cOrcItens +='			<button class="btSearch" id="btSearch"'+cItem+' >'
+							cOrcItens +='			<button class="btSearch" id="btSearch"'+cItem+'>'
 							cOrcItens +='				<i class="fa fa-search" alt="Pesquisar"></i>'
 							cOrcItens +='			</button>
 							cOrcItens +='		</div>
@@ -803,10 +725,10 @@ cCodLogin  := U_SetParPR(cVendLogin)
 							cOrcItens += Iif(aItens[nLin][7],'required="" aria-required="true" ','')+' data-live-search="true" '                                           
 							cOrcItens +=' data-width="569px" title="Produto bloqueado" disabled >' //style="size:4" data-width="90%" style="height:90%"
 							cOrcItens += U_GetProdOrc(SCJ->CJ_CLIENTE, SCJ->CJ_TABELA, SCK->CK_PRODUTO)
-							cOrcItens +='</select>'
+							cOrcItens+='</select>'
 						Endif
 					Else
-						cOrcItens += '<input id="'+aItens[nLin][2]+cItem+'" data-prop="'+aItens[nLin][2]+'" name="'+aItens[nLin][2]+cItem+'" class="form-control '
+						cOrcItens += '<input id="'+aItens[nLin][2]+cItem+'" data-prop="'+aItens[nLin][2]+'" name="'+aItens[nLin][2]+cItem+'" class="form-control'
 						cOrcItens += Iif(lNumber, aItens[nLin][4], "")
 						cOrcItens +=If(lMoeda," ",If(lNumber," only-numbers",""))+'" type="text" '
 					 	cOrcItens += 'placeholder="'+aItens[nLin,9]+'" '
@@ -846,14 +768,13 @@ cCodLogin  := U_SetParPR(cVendLogin)
 					cOrcItens += 'class="form-control input-block '+Iif(lNumber, aItens[nLin][4], "")+'" '
 					cOrcItens += 'type="text" disabled width="" '
 					If aItens[nLin,2] $ "CK_PRODUTO|CK_OBS"
-						cOrcItens += 'title="'+Alltrim(xValue)+'" '
+						cOrcItens += 'title="'+Alltrim(xValue)+'" ' 
 					Endif
 					cOrcItens += 'value="'+Alltrim(xValue)+'">'
-				Endif			
+				Endif
 			Endif			
 		    	    
 			cOrcItens += '</td>' 
-
 		Next	                                                                      	
 		
 			//Inputs Hidden

+ 1 - 1
apl/SMSPortal.apl

@@ -257,7 +257,7 @@ Web Extended Init cHtml Start U_inSite(empty(cVendLogin))
 		If !Empty(cVndFlt)
 			cQry+= "		AND CJ_VEND = '"+cVndFlt+"' "
 		Else	
-			cQry+= "		AND CJ_REGIAO = "+HttpSession->Regional+" "
+			cQry+= "		AND CJ_REGIAO = '"+HttpSession->Regional+"' "
 		Endif
 	Else 
 		cQry+= "		AND CJ_VEND = '"+cCodVend+"' "