123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956 |
- #include "PROTHEUS.CH"
- #include "RWMAKE.CH"
- #include "APWEBEX.CH"
- #include "TOPCONN.CH"
- #include "TBICONN.CH"
- #DEFINE SMSDEBUG
- /*__________________________________________________________________________
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦Funçäo ¦ MntOpt ¦ Autor ¦ Lucilene Mendes ¦ Data ¦28.08.17 ¦¦¦
- ¦¦+----------+------------------------------------------------------------¦¦¦
- ¦¦¦Descriçäo ¦ Manutenção de Oportunidade de Venda. ¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
- User Function MntOpt()
- Local cHtml
- Local nOpc := 0
- Local nRecAD1 := 0
- Local F := 0
- local i
- Private aAnTemp := {}
- Private cFilVen := ""
- Private cCodLogin := ""
- Private cVendLogin := ""
- Private cVendedor := ""
- Private cSite := "u_PortalLogin.apw"
- Private cPagina := "Homologação"
- Private cTitle := "Portal SMS"
- Private cMenus := ""
- Private cAnexos := ""
- Private cDirOpt := "anexosPortal\oportunidade\"
- Private cDirPortal := ""
- Private cEndServ := "" // Endereço do servidor da pagina de Portal
- Private cItensHid := ""
- Private cBotoes := ""
- Private cBtAddAnex := ""
- Private cCodOpt := ""
- Private cDescri := ""
- Private cComplem := ""
- Private cCliente := ""
- Private cContato := ""
- Private cEmail := ""
- Private cParceiro := ""
- Private cUF := ""
- Private cCidade := ""
- Private cEndereco := ""
- Private cRegional := ""
- Private cInicio := ""
- Private cFim := ""
- Private cNotas := ""
- Private cStatus := ""
- Private cEspecif := ""
- Private cContEsp := ""
- Private cStatusHom := ""
- Private cRT := ""
- Private cSegmento := ""
- Private cNivel := ""
- Private cEncer := ""
- Private cMotivo := ""
- Private cOptMun := ""
- Private lNewOpt := .F.
- Private lEdit := .F.
- Private lCopy := .F.
- Private aStatus := {}
- Private aStHom := {}
- Private aSegmen := {}
- Private aNivel := {}
- Private aAnexos := {}
- Web Extended Init cHtml Start U_inSite()
- 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())), cVendLogin)
-
- //Atualiza as variáveis
- cEndServ := GetMv('MV_WFBRWSR')
- cCodVend := cVendLogin
- cNomeVend:= HttpSession->Nome
- cOpcao := HttpGet->opc
- if !empty(HttpGet->rec)
- nRecAD1 := val(HttpGet->rec)
- EndIf
-
- lEdit := .F.
- lDele := .F.
-
- Do Case
- Case cOpcao == "view"
- nOpc:= 2
- cPagina += " - Visualizar"
- Case cOpcao == "edit"
- nOpc:= 4
- cPagina += " - Alterar"
- lEdit := .T.
- Case cOpcao == "dele"
- nOpc:= 5
- cPagina += " - Excluir"
- lDele := .T.
- Case cOpcao == "copy"
- nOpc = 3
- cPagina += " - Copiar"
- lEdit := .T.
- lCopy := .T.
- EndCase
-
- //Posiciona no Orçamento
- If !Empty(nRecAD1)
- dbSelectArea("AD1")
- AD1->(dbGoTo(nRecAD1))
-
- //Troca de filial
- u_PTChgFil(AD1->AD1_FILIAL)
-
- dbSelectArea("AD1")
- AD1->(dbGoTo(nRecAD1))
-
- dbSelectArea("SA1")
- SA1->(DbSetOrder(1))
- SA1->(dbgotop())
- SA1->(dbSeek(xFilial("SA1")+AD1->AD1_CODCLI+AD1->AD1_LOJCLI))
- Endif
- //Filial
- cCodOpt:= '<div class="row form-group">'
- cCodOpt+= ' <div class="col-lg-2">'
- cCodOpt+= ' <label class="control-label">Filial</label>'
- cCodOpt+= ' <input id="AD1_FILIAL" name="AD1_FILIAL" class="form-control" value="'+AD1->AD1_FILIAL+'" disabled >'
- cCodOpt+= ' <input type="hidden" name="OPCAO" id="OPCAO" value="'+cValtoChar(nOpc)+'" />'
- cCodOpt+= ' </div>'
- //Num Oportunidade
- cCodOpt+= ' <div class="col-lg-2">'
- cCodOpt+= ' <label class="control-label">Número</label>'
- cCodOpt+= ' <input id="AD1_NROPOR" name="AD1_NROPOR" class="form-control" value="'+AD1->AD1_NROPOR+'" disabled >'
- //cCodOpt+= ' <input id="AD1_VEND" name="AD1_VEND" type="hidden" value="'+AD1->AD1_VEND+'">'
- cCodOpt+= ' </div>'
- cCodOpt+= '</div>'
- cDescri:= '<input id="AD1_DESCRI" name="AD1_DESCRI" class="form-control text-uppercase" maxlength="'+cvaltochar(GetSX3Cache("AD1_DESCRI","X3_TAMANHO"))+'" '
- cDescri+= 'value="'+Alltrim(AD1->AD1_DESCRI)+'" '
- cDescri+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
- //cComplem:= '<input id="AD1_DESCOP" name="AD1_DESCOP" class="form-control" maxlength="'+cvaltochar(GetSX3Cache("AD1_DESCOP","X3_TAMANHO"))+'" '
- //cComplem+= 'value="'+Alltrim(AD1->AD1_DESCOP)+'" '
- //cComplem+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
- //Cliente
- cCliente:='<select data-plugin-selectTwo class="form-control populate placeholder" data-plugin-options='+"'"
- cCliente+='{ "placeholder": "Selecione um Cliente", "allowClear": false }'+"'"+' name="AD1_CODCLI" id="AD1_CODCLI" '
- cCliente+=' disabled >' //value='+AD1->AD1_CODCLI+AD1->AD1_LOJCLI+'
- cCliente+=' <option value="'+AD1->AD1_CODCLI+AD1->AD1_LOJCLI+'">'+AD1->AD1_CODCLI+'/'+AD1->AD1_LOJCLI+' - '+Alltrim(Posicione("SA1",1,xFilial("SA1")+AD1->AD1_CODCLI+AD1->AD1_LOJCLI,"A1_NOME"))+'</option>'
- cCliente+='</select>'
- HttpSession->Cliente:= AD1->AD1_CODCLI+AD1->AD1_LOJCLI
- //Contato
- cContato:= '<input id="AD1_CONTCL" name="AD1_CONTCL" class="form-control text-uppercase" maxlength="'+cvaltochar(GetSX3Cache("AD1_CONTCL","X3_TAMANHO"))+'" '
- cContato+= ' value="'+Alltrim(AD1->AD1_CONTCL)+'" '
- cContato+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
- //Email
- //cEmail:= '<input id="AD1_EMAIL1" name="AD1_EMAIL1" class="form-control" maxlength="'+cvaltochar(GetSX3Cache("AD1_EMAIL1","X3_TAMANHO"))+'" '
- //cEmail+= ' value="'+Alltrim(AD1->AD1_EMAIL1)+'" '
- //cEmail+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
- //Parceiro
- //cParceiro:= '<input id="AD1_PARC1" name="AD1_PARC1" class="form-control text-uppercase" maxlength="'+cvaltochar(GetSX3Cache("AD1_PARC1","X3_TAMANHO"))+'" '
- //cParceiro+= ' value="'+Alltrim(AD1->AD1_PARC1)+'" '
- //cParceiro+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
- //Seleciona os estados disponíveis no combo
- cUF:='<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
- cUF+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_UF" id="AD1_UF" '
- cUF+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+' onchange="javascript:SetCidade();">'
- cUF+=' <option value="'+AD1->AD1_UF+'">'+AD1->AD1_UF+" - "+fDesc("SX5","12"+AD1->AD1_UF,"X5_DESCRI")+'</option>'
- If lEdit
-
- //Seleciona as opções do combo
- cQry:= " Select X5_CHAVE, X5_DESCRI "
- cQry+= " From "+RetSqlName("SX5")+" SX5 "
- cQry+= " Where X5_FILIAL = '"+xFilial("SX5")+"' "
- cQry+= " And X5_TABELA = '12' "
- cQry+= " And X5_CHAVE <> '"+AD1->AD1_UF+"' "
- cQry+= " And SX5.D_E_L_E_T_ = ' ' "
- If Select("QRP") > 0
- QRP->(dbCloseArea())
- Endif
- TcQuery cqry New Alias "QRP"
- While QRP->(!Eof())
- cUF+=' <option value="'+QRP->X5_CHAVE+'"'+Iif(Alltrim(QRP->X5_CHAVE) == AllTrim(AD1->AD1_UF),'selected','')+'>'+Alltrim(QRP->X5_CHAVE)+" - "+Alltrim(QRP->X5_DESCRI)+'</option>'
- QRP->(dbSkip())
- End
- QRP->(dbCloseArea())
-
- Endif
- cUF+='</select>'
-
- //Cidade
- cCidade:= '<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
- cCidade+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_CIDADE" id="AD1_CIDADE" '
- cCidade+='required="" aria-required="true" disabled>'
- cCidade+=' <option value="'+AD1->AD1_CIDADE+'">'+Alltrim(AD1->AD1_DESCCI)+'</option>'
- cCidade+='</select>'
- //Endereço
- cEndereco:= '<input id="AD1_ENDER" name="AD1_ENDER" class="form-control text-uppercase" maxlength="'+cvaltochar(GetSX3Cache("AD1_ENDER","X3_TAMANHO"))+'" '
- cEndereco+= ' value="'+Alltrim(AD1->AD1_ENDER)+'" '
- cEndereco+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
-
- //Início
- cInicio:= '<input id="AD1_DTINI" name="AD1_DTINI" class="form-control" '
- cInicio+= ' value="'+dtoc(AD1->AD1_DTINI)+'" disabled>'
- //Fim
- cDiaIni:= cvaltochar(DateDiffDay(date(),AD1->AD1_DTINI))
- cFim:= '<input data-plugin-datepicker="" data-plugin-options='+"'"+'{"startDate": "-'+cDiaIni+'d","autoclose": "true", "language": "pt-BR",'
- cFim+= '"daysOfWeekDisabled": "","daysOfWeekHighlighted":"[0]"}'+"'"+' '
- cFim+= 'id="AD1_DTFIM" name="AD1_DTFIM" class="form-control only-numbers" type="text" '
- cFim+= ' value="'+dtoc(AD1->AD1_DTFIM)+'" '
- cFim+= Iif(!lCopy .and. !lEdit,'disabled','')+' onblur="javascript:vldDtFim();">'
-
- //Regional
- cRegional:= '<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
- cRegional+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_REGION" id="AD1_REGION" '
- cRegional+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+'>'
- cRegional+=' <option value="'+AD1->AD1_REGION+'">'+AD1->AD1_REGION+' - '+AD1->AD1_DESCRE+'</option>'
- If lEdit
-
- //Seleciona as opções do combo
- cRegional+= u_ListaVend(.T.,AD1->AD1_REGION)
- Endif
- cRegional+='</select>'
-
- //Vendedor
- cVendedor:= '<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
- cVendedor+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_VEND" id="AD1_VEND" '
- cVendedor+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+'>'
- cVendedor+=' <option value="'+AD1->AD1_VEND+'">'+AD1->AD1_VEND+' - '+fDesc("SA3",AD1->AD1_VEND,"A3_NOME")+'</option>'
- If lEdit
-
- //Seleciona as opções do combo
- cVendedor+= u_ListaVend(.F.,AD1->AD1_VEND)
- Endif
- cVendedor+='</select>'
-
- //Especificadora
- cEspecif:='<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
- cEspecif+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_PERCEI" id="AD1_PERCEI" '
- cEspecif+='required="" aria-required="true" '+Iif(lCopy .or. lEdit,'','disabled')+'>'
- cEspecif+=' <option value="'+AD1->AD1_PERCEI+'">'+AD1->AD1_PERCEI+" - "+fDesc("AC4",AD1->AD1_PERCEI,"AC4_NOME")+'</option>'
- If lEdit
-
- //Seleciona as opções do combo
- cQry:= " Select AC4_PARTNE, AC4_NOME "
- cQry+= " From "+RetSqlName("AC4")+" AC4 "
- cQry+= " Where AC4_FILIAL = '"+xFilial("AC4")+"' "
- cQry+= " And AC4_MSBLQL <> '1' "
- cQry+= " And AC4.D_E_L_E_T_ = ' ' "
- If Select("QRP") > 0
- QRP->(dbCloseArea())
- Endif
- TcQuery cqry New Alias "QRP"
- While QRP->(!Eof())
- cEspecif+=' <option value="'+QRP->AC4_PARTNE+'"'+Iif(Alltrim(QRP->AC4_PARTNE) == AllTrim(AD1->AD1_PERCEI),'selected','')+'>'+Alltrim(QRP->AC4_PARTNE)+" - "+Alltrim(QRP->AC4_NOME)+'</option>'
- QRP->(dbSkip())
- End
- QRP->(dbCloseArea())
-
- Endif
- cEspecif+='</select>'
-
-
- //Contato Especificadora
- 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)
- cContEsp+=' <option value="'+AD1->AD1_CONTAT+'">'+AD1->AD1_CONTAT+" - "+fDesc("SU5",AD1->AD1_CONTAT,"U5_CONTAT")+'</option>'
- If lEdit
-
- //Seleciona as opções do combo
- cQry:= " Select U5_CODCONT, U5_CONTAT "
- cQry+= " From "+RetSqlName("SU5")+" SU5 "
- cQry+= " Where U5_FILIAL = '"+xFilial("SU5")+"' "
- cQry+= " And U5_MSBLQL <> '1' "
- cQry+= " And SU5.D_E_L_E_T_ = ' ' "
- If Select("QRP") > 0
- QRP->(dbCloseArea())
- Endif
- TcQuery cqry New Alias "QRP"
- While QRP->(!Eof())
- cContEsp+=' <option value="'+QRP->U5_CODCONT+'"'+Iif(Alltrim(QRP->U5_CODCONT) == AllTrim(AD1->AD1_CONTAT),'selected','')+'>'+Alltrim(QRP->U5_CODCONT)+" - "+Alltrim(QRP->U5_CONTAT)+'</option>'
- QRP->(dbSkip())
- End
- QRP->(dbCloseArea())
-
- Endif
- cContEsp+='</select>'
- //Status Homologação
- aStHom:= RetSx3Box(Posicione('SX3',2,'AD1_HOMOLO','X3CBox()'),,,1)
- cStatusHom:='<select data-plugin-selectTwo class="form-control poulatemb-md" data-plugin-options='+"'"+'{"placeholder": "Selecione...","minimumResultsForSearch": "-1"}'+"'"'
- cStatusHom+=' name="AD1_HOMOLO" id="AD1_HOMOLO" '
- cStatusHom+= Iif(!lEdit,'disabled','')+'>'
- If lEdit
- For f:= 1 to Len(aStHom)
- cStatusHom+=' <option value="'+aStHom[f,2]+'" '+Iif(AllTrim(aStHom[f,2]) == AllTrim(AD1->AD1_HOMOLO),'selected','')+'>'+aStHom[f,3]+'</option>'
- Next
- Else
- nPos:= aScan(aStHom,{|x|x[1]==AD1->AD1_HOMOLO})
- If nPos = 0
- nPos:= 1
- Endif
- cStatusHom+=' <option value="'+AD1->AD1_HOMOLO+'">'+aStHom[nPos,3]+'</option>'
- Endif
- cStatusHom+='</select>'
-
- //% RT
- cRT:= '<input id="AD1_COMIRT" name="AD1_COMIRT" class="form-control text-right percentual" maxlength="'+cvaltochar(GetSX3Cache("AD1_COMIRT","X3_TAMANHO"))+'" '
- cRT+= ' value="'+cvaltochar(AD1->AD1_COMIRT)+'" placeholder="0,00" '
- cRT+= Iif(!lCopy .and. !lEdit,'disabled','')+'>'
- //Segmento
- aSegmen:= RetSx3Box(Posicione('SX3',2,'AD1_SEGMEN','X3CBox()'),,,1)
- cSegmento:='<select data-plugin-selectTwo class="form-control poulatemb-md" data-plugin-options='+"'"+'{"placeholder": "Selecione...","minimumResultsForSearch": "-1"}'+"'"'
- cSegmento+=' name="AD1_SEGMEN" id="AD1_SEGMEN" '
- cSegmento+= Iif(!lEdit,'disabled','')+'>'
- If lEdit
- For f:= 1 to Len(aSegmen)
- cSegmento+=' <option value="'+aSegmen[f,1]+'" '+Iif(AllTrim(aSegmen[f,1]) == AllTrim(AD1->AD1_SEGMEN),'selected','')+'>'+aSegmen[f,1]+'</option>'
- Next
- Else
- nPos:= aScan(aSegmen,{|x|x[1]==AD1->AD1_SEGMEN})
- If nPos = 0
- nPos:= 1
- Endif
- cSegmento+=' <option value="'+AD1->AD1_SEGMEN+'">'+aSegmen[nPos,1]+'</option>'
- Endif
- cSegmento+='</select>'
-
- //Nivel
- aNivel:= RetSx3Box(Posicione('SX3',2,'AD1_NIVOPO','X3CBox()'),,,1)
- cNivel:='<select data-plugin-selectTwo class="form-control poulatemb-md" data-plugin-options='+"'"+'{"placeholder": "Selecione...","minimumResultsForSearch": "-1"}'+"'"'
- cNivel+=' name="AD1_NIVOPO" id="AD1_NIVOPO" '
- cNivel+= Iif(!lEdit,'disabled','')+'>'
- If lEdit
- For f:= 1 to Len(aNivel)
- cNivel+=' <option value="'+aNivel[f,1]+'" '+Iif(AllTrim(aNivel[f,1]) == AllTrim(AD1->AD1_NIVOPO),'selected','')+'>'+aNivel[f,1]+'</option>'
- Next
- Else
- nPos:= aScan(aNivel,{|x|x[1]==Alltrim(AD1->AD1_NIVOPO)})
- If nPos = 0
- nPos:= 1
- Endif
- cNivel+=' <option value="'+AD1->AD1_NIVOPO+'">'+aNivel[nPos,1]+'</option>'
- Endif
- cNivel+='</select>'
- //Observação Notas
- //cNotas:= MSMM(AD1->AD1_CODMEM)
- //Status
- aStatus:= RetSx3Box(Posicione('SX3',2,'AD1_STATUS','X3CBox()'),,,1)
- cStatus:='<select data-plugin-selectTwo class="form-control poulatemb-md" data-plugin-options='+"'"+'{"placeholder": "Selecione...","minimumResultsForSearch": "-1"}'+"'"'
- cStatus+=' name="AD1_STATUS" id="AD1_STATUS" onchange="javascript:vldStatus();" '
- cStatus+= Iif(!lEdit,'disabled','')+'>'
- If lEdit
- For f:= 1 to Len(aStatus)
- cStatus+=' <option value="'+aStatus[f,2]+'" '+Iif(AllTrim(aStatus[f,2]) == AllTrim(AD1->AD1_STATUS),'selected','')+'>'+aStatus[f,3]+'</option>'
- Next
- Else
- nPos:= aScan(aStatus,{|x|x[1]==AD1->AD1_STATUS})
- If nPos = 0
- nPos:= 1
- Endif
- cStatus+=' <option value="'+AD1->AD1_STATUS+'">'+aStatus[nPos,3]+'</option>'
- Endif
- cStatus+='</select>'
- //cEncerramento
- cEncer:= '<select data-plugin-selectTwo class="form-control populate placeholder mb-md" data-plugin-options='+"'" '
- cEncer+='{ "placeholder": "Selecione...", "allowClear": false }'+"'"+' name="AD1_ENCERR" id="AD1_ENCERR" '
- cEncer+='required="" aria-required="true" '+Iif((lCopy .or. lEdit) .and. AD1->AD1_STATUS $ "2|3",'','disabled')+'>'
- If !Empty(AD1->AD1_ENCERR)
- cEncer+=' <option value="'+AD1->AD1_ENCERR+'">'+AD1->AD1_ENCERR+" - "+fDesc("SUN",AD1->AD1_ENCERR,"UN_DESC")+'</option>'
- Endif
- If lEdit
-
- //Seleciona as opções do combo
- cQry:= " Select UN_ENCERR, UN_DESC "
- cQry+= " From "+RetSqlName("SUN")+" SUN "
- cQry+= " Where UN_FILIAL = '"+xFilial("SUN")+"' "
- cQry+= " And UN_MSBLQL <> '1' "
- cQry+= " And SUN.D_E_L_E_T_ = ' ' "
- If Select("QRP") > 0
- QRP->(dbCloseArea())
- Endif
- TcQuery cqry New Alias "QRP"
- cEncer+=' <option value=""></option>'
- While QRP->(!Eof())
- cEncer+=' <option value="'+QRP->UN_ENCERR+'"'+Iif(Alltrim(QRP->UN_ENCERR) == AllTrim(AD1->AD1_ENCERR),'selected','')+'>'+Alltrim(QRP->UN_ENCERR)+" - "+Alltrim(QRP->UN_DESC)+'</option>'
- QRP->(dbSkip())
- End
- QRP->(dbCloseArea())
-
- Endif
- cEncer+='</select>'
- //Motivo Encerramento //AD1_MEMENC AD1_MTVENC
- cMotivo:= '<textarea class="form-control" rows="3" data-plugin-maxlength="" maxlength="240" id="AD1_MTVENC" name="AD1_MTVENC" '+Iif(lEdit .and. AD1->AD1_STATUS $ "2|3",'','disabled')+'>'+AD1->AD1_MTVENC+'</textarea>'
- //Adiciona os botões da página
- If lEdit
- cBotoes+='<input class="btn btn-primary" type="button" id="btSalvar" name="btSalvar" value="Salvar"/>'+chr(13)+chr(10)
- Elseif lDele
- cBotoes+='<input class="btn btn-primary " type="button" id="btExcluir" name="btExcluir" value="Excluir"/>'+chr(13)+chr(10)
- 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
- Return (cHTML)
- /*__________________________________________________________________________
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦Funçäo ¦ ExcOpt ¦ Autor ¦ Lucilene Mendes ¦ Data ¦10.12.17 ¦¦¦
- ¦¦+----------+------------------------------------------------------------¦¦¦
- ¦¦¦Descriçäo ¦ Exclui a Oportunidade ¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
- User Function ExcOpt()
- Local cHtml
- Local nOpc := 5 // 3- Incluir / 4- Alterar / 5- Excluir
- Local cCliente := ""
- Local cLoja := ""
- Local cNumOpt := ""
- Local cDirErro := "\erro\"
- Private aCabAD1 :={}
- Private lMsErroAuto:= .F.
- Private cCodLogin := ""
- Private cVendLogin:= ""
- Private INCLUI:= .F.
- Private ALTERA:= .F.
- Web Extended Init cHtml Start U_inSite()
- //Verifica se não perdeu a sessão
- If type("HttpSession->CodVend") = "U" .or. Empty(HttpSession->CodVend)
- conout(Procname()+"("+ltrim(str(procline()))+") *** Portal "+"Sessao encerrada")
- cHtml:= '<META HTTP-EQUIV="Refresh" CONTENT="0 ; URL=U_SMSPortal.apw">'
- return cHtml
- Endif
- cVendLogin := u_GetUsrPR()
- cCodLogin := U_SetParPR(cVendLogin)
- //Variáveis do cabeçalho
- cCliente:= HttpPost->AD1_CODCLI
- cLoja:= HttpPost->AD1_LOJCLI
- cNumOpt:= HttpPost->AD1_NROPOR
-
- //Posiciona nas tabelas
- If !Empty(cCliente)
- Posicione("SA1",1,xFilial("SA1")+Alltrim(cCliente+cLoja),"A1_COD")
- Endif
-
- //Posiciona no orçamento
- Posicione("AD1",1,xFilial("AD1")+cNumOpt,"AD1_NROPOR")
- cFilAnt:= AD1->AD1_FILIAL
-
- //Monta o cabeçalho
- aadd(aCabAD1,{"AD1_NROPOR",cNumOpt,Nil})
- aadd(aCabAD1,{"AD1_CLIENTE",SA1->A1_COD,Nil})
- aadd(aCabAD1,{"AD1_LOJA", SA1->A1_LOJA ,Nil})
- lMsErroAuto:= .F.
- //Chama execauto para inclusão da oportunidade
- If Len(aCabAD1) > 0
- MSExecAuto({|x,y|FATA300(x,y)},nOpc,aCabAD1)
- Else
- conout(Procname()+"("+ltrim(str(procline()))+") *** Portal "+"FALHA AO EXCLUIR A OPORTUNIDADE!")
- lMsErroAuto:= .T.
- Endif
- If lMsErroAuto
- If !ExistDir(cDirErro)
- MakeDir(cDirErro)
- Endif
-
- cDirErro+=dtos(date())
- If !ExistDir(cDirErro)
- MakeDir(cDirErro)
- Endif
-
- //Grava o erro
- MostraErro(cDirErro,"erro_oportunidade_"+strtran(time(),":","")+".txt")
- cHtml:= "erro"
- Else
-
- AD1->(dbGoBottom())
- cHtml:= AD1->AD1_NROPOR
- EndIf
-
- Web Extended End
- Return (cHTML)
- /*__________________________________________________________________________
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦Funçäo ¦ SlvOpt ¦ Autor ¦ Lucilene Mendes ¦ Data ¦17.08.17 ¦¦¦
- ¦¦+----------+------------------------------------------------------------¦¦¦
- ¦¦¦Descriçäo ¦ Gera a oportunidade. ¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- */
- User Function SlvOpt()
- Local cHtml
- local i
- Local nOpc := 3 // 3- Incluir / 4- Alterar / 5- Excluir
- Local cFilAD1 := ""
- Local cNumAD1 := ""
- Local cDescri := ""
- Local cComplem := ""
- Local cCliente := ""
- Local cLoja := ""
- Local cContCli := ""
- Local cEmail := ""
- Local cParceiro := ""
- Local cUF := ""
- Local cCidade := ""
- Local cEndereco := ""
- Local dDtInicio := ""
- Local dDtTermino:= ""
- Local cRegional := ""
- Local cVend := ""
- Local cEspecif := ""
- Local cContato := ""
- Local nRT := ""
- Local cStatusHom:= ""
- Local cSegmento := ""
- Local cNivel := ""
- Local cNota := ""
- Local cStatus := ""
- Local cMotivo := ""
- Local cEncerr := ""
- Local cDirOpt := "\anexosPortal\oportunidade\"
- Local cDirErro := "\erro\"
- Local lEnvEmail := .f.
- Local aArquivos := {}
- Private aCabAnexo :={}
- Private aCabAD1 :={}
- Private lMsErroAuto:= .F.
- Private cCodLogin := ""
- Private cVendLogin:= ""
- Private INCLUI:= .F.
- Private ALTERA:= .F.
- Web Extended Init cHtml Start U_inSite()
- cVendLogin := u_GetUsrPR()
- cCodLogin := U_SetParPR(cVendLogin)
- //Verifica se não perdeu a sessão
- If type("HttpSession->CodVend") = "U" .or. Empty(HttpSession->CodVend)
- conout(Procname()+"("+ltrim(str(procline()))+") *** Portal "+"Sessao encerrada")
- cHtml:= '<META HTTP-EQUIV="Refresh" CONTENT="0 ; URL=U_SMSPortal.apw">'
- return cHtml
- Endif
- nOpc:= Val(HttpPost->OPCAO)
- conout("### SlvOpt ###")
- conout(nOpc)
-
- //Variáveis do cabeçalho
- If nOpc = 3
- cFilAD1:= "01" //HttpPost->AD1_FILIAL
- cNumAD1:= GetSXENum("AD1","AD1_NROPOR") //HttpPost->AD1_NROPOR
- INCLUI:= .T.
- Else
- cFilAD1:= HttpPost->AD1_FILIAL
- cNumAD1:= HttpPost->AD1_NROPOR
- ALTERA:= .T.
- Endif
- cDescri:= Iif(Type("HttpPost->AD1_DESCRI") <> "U",Upper(HttpPost->AD1_DESCRI),"")
- cComplem:= Iif(Type("HttpPost->AD1_DESCOP") <> "U",HttpPost->AD1_DESCOP,"")
- cCliente:= Left(HttpPost->AD1_CODCLI,6)
- cLoja:= Right(HttpPost->AD1_CODCLI,2)
- cContCli:= Iif(Type("HttpPost->AD1_CONTCL") <> "U",HttpPost->AD1_CONTCL,"")
- cEmail:= Iif(Type("HttpPost->AD1_EMAIL1") <> "U",HttpPost->AD1_EMAIL1,"")
- cParceiro:= Iif(Type("HttpPost->AD1_PARC1") <> "U",HttpPost->AD1_PARC1,"")
- cUF:= Alltrim(Iif(Type("HttpPost->AD1_UF") <> "U",HttpPost->AD1_UF,""))
- cCidade:= Iif(Type("HttpPost->AD1_CIDADE") <> "U",HttpPost->AD1_CIDADE,"")
- cEndereco:= Iif(Type("HttpPost->AD1_ENDER") <> "U",Upper(HttpPost->AD1_ENDER),"")
- dDtInicio := CTOD(HttpPost->AD1_DTINI)
- dDtTermino := CTOD(HttpPost->AD1_DTFIM)
- cRegional := Iif(Type("HttpPost->AD1_REGION") <> "U",HttpPost->AD1_REGION,"")
- cVend := Iif(Type("HttpPost->AD1_VEND") <> "U",HttpPost->AD1_VEND,"")
- cEspecif := Iif(Type("HttpPost->AD1_PERCEI") <> "U",HttpPost->AD1_PERCEI,"")
- cContato := Iif(Type("HttpPost->AD1_CONTAT")<>"U",HttpPost->AD1_CONTAT,"")
- nRT:= Val(StrTran(StrTran(HttpPost->AD1_COMIRT,'.',''),',','.'))
- cStatusHom := Iif(Type("HttpPost->AD1_HOMOLO")<>"U",HttpPost->AD1_HOMOLO,"")
- cSegmento:= Iif(Type("HttpPost->AD1_SEGMEN")<>"U",HttpPost->AD1_SEGMEN,"")
- cNivel:= Iif(Type("HttpPost->AD1_NIVOPO")<>"U",HttpPost->AD1_NIVOPO,"")
- cNota:= Iif(Type("HttpPost->AD1_MEMO")<>"U",HttpPost->AD1_MEMO,"")
- cStatus:= Iif(Type("HttpPost->AD1_STATUS")<>"U",HttpPost->AD1_STATUS,"")
- cEncerr:= Iif(Type("HttpPost->AD1_ENCERR")<>"U",HttpPost->AD1_ENCERR,"")
- cMotivo:= Iif(Type("HttpPost->AD1_MTVENC") <> "U",HttpPost->AD1_MTVENC,"")
- //Posiciona nas tabelas
- If !Empty(cCliente)
- Posicione("SA1",1,xFilial("SA1")+Alltrim(cCliente+cLoja),"A1_COD")
- Endif
-
- //Monta o cabeçalho
- If !Empty(cNumAD1) .and. nOpc = 4// ALTERAÇÃO
- AD1->(dbSetOrder(1))
- if AD1->(dbSeek(cFilAD1+cNumAD1))
- cFilAnt := cFilAD1
- Endif
- // aadd(aCabAD1,{"CJ_FILIAL",xFilial("AD1"),Nil})
- aadd(aCabAD1,{"AD1_NROPOR",cNumAD1,Nil})
- EndIf
- aadd(aCabAD1,{"AD1_NROPOR", cNumAD1, Nil})
- aadd(aCabAD1,{"AD1_DESCRI", decodeutf8(cDescri), Nil})
- If !Empty(cComplem)
- aadd(aCabAD1,{"AD1_DESCOP", decodeutf8(cComplem), Nil})
- Endif
- //aadd(aCabAD1,{"AD1_DTINI" ,dDtInicio,Nil})
- If nOpc == 4
- aadd(aCabAD1,{"AD1_DTFIM" ,dDtTermino,Nil})
- Endif
- aadd(aCabAD1,{"AD1_VEND",cVend ,Nil})
- aadd(aCabAD1,{"AD1_REGION",cRegional ,Nil})
- aadd(aCabAD1,{"AD1_CODCLI", SA1->A1_COD ,Nil})
- aadd(aCabAD1,{"AD1_LOJCLI", SA1->A1_LOJA ,Nil})
- If !Empty(cEndereco)
- aadd(aCabAD1,{"AD1_ENDER" ,cEndereco,Nil})
- Endif
- aadd(aCabAD1,{"AD1_UF" ,cUF,Nil})
- aadd(aCabAD1,{"AD1_CIDADE" ,cCidade,Nil})
-
- If !Empty(cContCli)
- aadd(aCabAD1,{"AD1_CONTCL",cContCli ,Nil})
- Endif
- If !Empty(cEmail)
- aadd(aCabAD1,{"AD1_EMAIL1",cEmail ,Nil})
- Endif
- If !Empty(cParceiro)
- aadd(aCabAD1,{"AD1_PARC1",cParceiro ,Nil})
- Endif
- If !Empty(cNota)
- aadd(aCabAD1,{"AD1_MEMO",AllTrim(decodeutf8(cNota)),Nil})
- Endif
- If !Empty(cEspecif)
- aadd(aCabAD1,{"AD1_PERCEI",cEspecif ,Nil})
- Endif
- If !Empty(cContato)
- aadd(aCabAD1,{"AD1_CONTAT",cContato ,Nil})
- Endif
- aadd(aCabAD1,{"AD1_COMIRT",nRT ,Nil})
- aadd(aCabAD1,{"AD1_HOMOLO",cStatusHom ,Nil})
- aadd(aCabAD1,{"AD1_SEGMEN",cSegmento ,Nil})
- aadd(aCabAD1,{"AD1_NIVOPO",cNivel ,Nil})
- aadd(aCabAD1,{"AD1_STATUS",cStatus ,Nil})
- If !Empty(cEncerr)
- aadd(aCabAD1,{"AD1_ENCERR",cEncerr ,Nil})
- Endif
- If !Empty(cMotivo)
- aadd(aCabAD1,{"AD1_MTVENC",AllTrim(decodeutf8(cMotivo)),Nil})
- Endif
- lMsErroAuto:= .F.
- MSExecAuto({|x,y|FATA300(x,y)},nOpc,aCabAD1)
-
- If lMsErroAuto
- RollbackSx8()
- If !ExistDir(cDirErro)
- MakeDir(cDirErro)
- Endif
- cDirErro+=dtos(date())
- If !ExistDir(cDirErro)
- MakeDir(cDirErro)
- Endif
- //Grava o erro
- cMsg:= MostraErro(cDirErro,"erro_oportunidade_"+strtran(time(),":","")+"_"+cFilAnt+".txt")
- cDestMail:= GetNewPar("PR_DESTOPE ","lucilene@smsti.com.br")
- u_MailCM("ERRO HOMOLOGACAO",{cDestMail},{},"ERRO HOMOLOGACAO NO PORTAL",cMsg,"","")
- cHtml:= "erro"
- Else
- ConfirmSX8()
- cHtml:= AD1->AD1_NROPOR
-
- fRunProcOportunidade(CNUMAD1 ,httpPost->anexos, cVendLogin)
- cDestOpt := GetNewPar("PR_DESTORC","")
-
- //Envia e-mail informando a inclusão da oportunidade
- If !Empty(cDestOpt) .and. (nOpc = 3 .or. lEnvEmail)
- cMsg:= "Uma nova homologação foi gerada pelo Portal do Representante.<br><br>"
- cMsg+= "Filial: "+AD1->AD1_FILIAL+"<br>"
- cMsg+= "Número: "+AD1->AD1_NROPOR+"<br> "
- cMsg+= "Descrição: "+AD1->AD1_DESCRI+"<br> "
- cMsg+= "Vendedor: "+AD1->AD1_VEND+" - "+Alltrim(Posicione("SA3",1,xFilial("SA3")+AD1->AD1_VEND,"A3_NOME"))+"<br>"
- u_MailCM("HOMOLOGACAO",{cDestOpt},{},"NOVA HOMOLOGACAO PORTAL: "+AD1->AD1_FILIAL+"/"+AD1->AD1_NROPOR,cMsg,"","")
- Endif
- Endif
- 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)
|