Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Include 'Protheus.ch'
- #INCLUDE "TBICONN.CH "
- #INCLUDE "TOPCONN.ch"
- //Esta mensagem contém imagens que não foram exibidas, caso queira visualizá-las, clique aqui
- /*/
- ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
- ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
- ±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
- ±±ºPrograma ³WFFATRENT º Autor ³Eddpo Brunno º Data ³ 24/07/2014 º±±
- ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
- ±±ºDescricao ³Programa que gera workflow da posição de estoque º±±
- ±±º ³Só é executado quando acaba o mês º±±
- ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
- ±±ºUso ³WORKFLOW º±±
- ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
- ±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
- */
- User Function wfposest()
- Local oProcess,oHtml
- Local cSQL
- Local aDest := {} //Armaza os email de destino
- //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
- //| Abertura do ambiente |
- //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
- ConOut(Repl("-",80))
- ConOut(PadC("WorkFlow de Posição de Estoque ",80))
- //IF cEmpAnt == '02'
- PREPARE ENVIRONMENT EMPRESA ( "99" ) FILIAL ( "01" ) MODULO "FAT"
- //Endif
- Alert("chegou aqui ")
- /*
- cSQL := " SELECT --SUM(B2_QATU*B1_PRV1) AS VENDA, "+CRLF
- cSQL += " SUM(B2_QATU*B1_UPRC) AS COMPRA, "+CRLF
- cSQL += " B1_COD,B1_LOCPAD,B2_LOCAL,B1_DESC,B2_QATU,B1_UPRC,B1_FILIAL--,B2_VATU1 AS COMPRA "+CRLF
- cSQL += " FROM "+RetSqlName("SB1")+" SB1 INNER JOIN "+RetSqlName("SB2")+" SB2 ON (B1_FILIAL = B2_FILIAL AND B1_COD = B2_COD AND B1_LOCPAD = B2_LOCAL) "+CRLF
- cSQL += " WHERE SB1.D_E_L_E_T_='' "+CRLF
- cSQL += " AND SB2.D_E_L_E_T_='' "+CRLF
- cSQL += " AND B1_TIPO = 'MR' "+CRLF
- cSQL += " AND B1_LOCPAD ='1' "+CRLF
- cSQL += " AND B2_QATU>0 "+CRLF
- //cSQL += " AND B1_FILIAL ='"+xFilial("SB1")+"'"+CRLF
- cSQL += " GROUP BY B1_COD,B1_LOCPAD,B2_LOCAL,B1_DESC,B2_QATU,B1_PRV1,B1_UPRC,B1_TIPO,B1_FILIAL--,B2_VATU1 "+CRLF
- cSQL += " ORDER BY B1_FILIAL,B1_DESC "+CRLF
- */
- cSQL := " SELECT "+CRLF
- cSQL += " B1_COD, "+CRLF
- cSQL += " B2_LOCAL, "+CRLF
- cSQL += " B1_DESC, "+CRLF
- cSQL += " B2_QATU, "+CRLF
- cSQL += " B1_UPRC, B1_CUSTG, "+CRLF
- cSQL += " B1_FILIAL, "+CRLF
- cSQL += " SUM(B1_CUSTG*B2_QATU) AS CUSTOG, "+CRLF
- cSQL += " SUM(B2_QATU*B1_UPRC) AS COMPRA "+CRLF
- cSQL += " FROM "+RetSqlName("SB1")+" SB1 INNER JOIN "+RetSqlName("SB2")+" SB2 ON (B1_FILIAL = B2_FILIAL AND B1_COD = B2_COD ) "+CRLF
- cSQL += " WHERE SB1.D_E_L_E_T_='' "+CRLF
- cSQL += " AND B1_TIPO = 'MR' "+CRLF
- cSQL += " AND SB2.D_E_L_E_T_='' AND B2_QATU>0 "+CRLF
- cSQL += " AND B2_LOCAL IN ('1','09','10') "+CRLF
- cSQL += " AND B1_MSBLQL<>'1' "+CRLF
- cSQL += " AND ('13' = SUBSTRING(CONVERT(VARCHAR(12),GETDATE(),112),07,02) or ('01' = SUBSTRING(CONVERT(VARCHAR(12),GETDATE(),112),07,02))) "+CRLF
- cSQL += " GROUP BY B1_COD,B2_LOCAL,B1_DESC,B2_QATU,B1_PRV1,B1_UPRC,B1_TIPO,B1_FILIAL,B1_CUSTG "+CRLF
- cSQL += " ORDER BY B1_FILIAL,B2_LOCAL,B1_DESC "+CRLF
- /*
- cSQL := " SELECT --SUM(B2_QATU*B1_PRV1) AS VENDA, "+CRLF
- cSQL += " SUM(B2_QATU*B1_UPRC) AS COMPRA, "+CRLF
- cSQL += " B1_COD,B2_LOCAL,B1_DESC,B2_QATU,B1_UPRC "+CRLF
- cSQL += " FROM SB1070 SB1 INNER JOIN SB2070 SB2 ON (B1_FILIAL = B2_FILIAL AND B1_COD = B2_COD AND B1_LOCPAD = B2_LOCAL) "+CRLF
- cSQL += " WHERE SB1.D_E_L_E_T_='' "+CRLF
- cSQL += " AND SB2.D_E_L_E_T_='' "+CRLF
- cSQL += " AND B1_TIPO = 'MR' "+CRLF
- cSQL += " AND B1_LOCPAD ='1' "+CRLF
- cSQL += " AND B2_QATU>0 "+CRLF
- cSQL += " AND B1_FILIAL ='01' "+CRLF
- cSQL += " GROUP BY B1_COD,B1_LOCPAD,B2_LOCAL,B1_DESC,B2_QATU,B1_PRV1,B1_UPRC,B1_TIPO "+CRLF
- cSQL += " ORDER BY B1_DESC "+CRLF
- */
- MemoWrite("qryWFPosEstMerv.sql",cSQL)
- dbUseArea(.T.,"TOPCONN", TCGenQry(,,cSQL),"TRB", .F., .T.)
- dbSelectArea("TRB")
- dbGoTop()
- If EOF() == .F.
- While TRB->(!EOF())
- //FUNCOES PARA ENVIO DE HTML
- oProcess:=TWFProcess():New("PosEst","Posi. Estoque")
- _filial := TRB->B1_FILIAL
- IF _filial == '01'
- oProcess:NewTask('Inicio',"\WORKFLOW\HTM\POSESTMERAL.htm")
- ENDIF
- oHtml := oProcess:oHtml
- oHtml:ValByName("it1.cod" , {})
- oHtml:ValByName("it1.desc" , {})
- oHtml:ValByName("it1.qtd" , {})
- oHtml:ValByName("it1.custog" , {})
- oHtml:ValByName("it1.unit" , {})
- oHtml:ValByName("it1.totalg" , {})
- oHtml:ValByName("it1.total" , {})
- oHtml:ValByName("it1.totg" , {})
- oHtml:ValByName("it1.tot" , {})
- oHtml:ValByName("it1.data" , {})
- oHtml:ValByName("it1.local" , {})
- oHtml:ValByName("it1.reg" , {})
- _cod := ''
- _desc := ''
- _qtd := 0
- _unit := 0
- _custog := 0
- _total := 0
- _totalg := 0
- _tot := 0
- _totg := 0
- _data := ''
- _local := ''
- _reg := 0
- While TRB->(!EOF()) .AND. _filial == TRB->B1_FILIAL
- _cod := TRB->B1_COD
- _desc := TRB->B1_DESC
- _qtd := TRB->B2_QATU
- _unit := TRB->B1_UPRC
- _custog := TRB->B1_CUSTG
- _total := TRB->COMPRA
- _tot += TRB->COMPRA
- _totg += TRB->CUSTOG
- _totalg := TRB->CUSTOG
- _local := TRB->B2_LOCAL
- _reg += 1
- aadd(oHtml:ValByName("it1.cod" ) , _cod)
- aadd(oHtml:ValByName("it1.desc" ) , _desc)
- aadd(oHtml:ValByName("it1.qtd" ) , TRANSFORM(_qtd ,'@R 999,999,999.99'))
- aadd(oHtml:ValByName("it1.custog" ) , TRANSFORM(_custog ,'@R 999,999,999.99'))
- aadd(oHtml:ValByName("it1.unit" ) , TRANSFORM(_unit ,'@R 999,999,999.99'))
- aadd(oHtml:ValByName("it1.totalg" ) , TRANSFORM(_totalg ,'@R 999,999,999.99'))
- aadd(oHtml:ValByName("it1.total" ) , TRANSFORM(_total ,'@R 999,999,999.99'))
- aadd(oHtml:ValByName("it1.local" ) , _local )
- TRB->(dbSkip())
- EndDo
- oHtml:ValByName("totg", TRANSFORM( _totg, '@R 999,999,999.99'))//TOTAL geral custo g
- oHtml:ValByName("tot", TRANSFORM( _tot, '@R 999,999,999.99'))//TOTAL geral
- oHtml:ValByName("reg", TRANSFORM( _reg, '@R 999,999,999.99'))//TOTAL geral
- //TRB->(dbCloseArea("TRB"))
- //Usuarios de destino, conteudo completo.
- //_Users := GetMv("MV_USRFATC")
- //envia o e-mail
- cUser := Subs(cUsuario,7,15)
- oProcess:ClientName(cUser)
- ///oProcess:cTo := _Users
- //oProcess:cTo := "everton@tiovieira.com.br ; claudiojunior@tiovieira.com.br"
- //oProcess:cTo := "cledson@vieiradistribuidor.com.br ; charlone@vieiradistribuidor.com.br"
- //oProcess:cTo := "eddpo@vieiradistribuidor.com.br ; nadja@vieiradistribuidor.com.br"
- oProcess:cTo := "cristianocgv@gmail.com"
- //IF cEmpAnt == '02'
- IF _filial == '01'
- subj := "Relatório Posição de Estoque MERVIL AL"
- ENDIF
- //subj := "Relatório Posição de Estoque"
- oProcess:cSubject := subj
- oProcess:Start()
- ENDDO
- TRB->(dbCloseArea("TRB"))
- Else
- Return(.F.)
- EndIf
- //fecha a conexão
- ConOut("Fim : "+Time())
- RESET ENVIRONMENT
- Return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement