123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636 |
- //---------------------------------------------------------------------------------------
- // Ponto de Entrada: M410STTS - Tratar endereço de entrega
- // Solicitante: Rodrigo.
- // Autor: Aytel M. Fonseca.
- // Data: 26-03-2014
- //---------------------------------------------------------------------------------------
- #include "topconn.ch"
- #include 'protheus.ch'
- #include 'rwmake.ch'
- #include "font.ch"
- User Function M410STTS()
- Local aArea := GetArea()
- Public cCEP := Space(8)
- Public cEnd := Space(93)
- Public __cNum := Space(5)
- Public cCompl := Space(40)
- Public cBairro := Space(15)
- Public cCidade := Space(20)
- Public cUF := Space(2)
- Public cPonto := Space(60)
- Public cJust := Space(150)
- Public cPedTMK := M->C5_NUM //variável utilizada para preencher o campo de número do Pedido no Atendimento do Call Center, quando o botão Pedido de Venda for acionado.
- Private oGet1
- Private oSay1
- Private oGet2
- Private oSay2
- Private oGet3
- Private oSay3
- Private oGet4
- Private oSay4
- Private oGet5
- Private oSay5
- Private oGet6
- Private oSay6
- Private oGet7
- Private oSay7
- Private oGet8
- Private oSay8
- Private oSay9
- Private oFont1 := TFont():New("Calibri",,016,,.F.,,,,,.F.,.F.)
- Private oFont2 := TFont():New("Calibri",,016,,.T.,,,,,.F.,.F.)
- Private oButton1
- Private oButton2
- Private oDlg
- Private oDlg_J
- Private oSay_J
- Private oGet_J
- SetKey(VK_F5 ,Nil)
- SetKey(VK_F6 ,Nil)
- SetKey(VK_F7 ,Nil)
- SetKey(VK_F8 ,Nil)
- SetKey(VK_F9 ,Nil)
- SetKey(VK_F11,Nil)
- // 14.12.2020 Apaga Justificativa de atraso na função copia. (Fonseca)
- If Inclui .OR. Altera
- If aRotina[3][2] = 'A410Copia'
- RecLock("SC5",.F.)
- SC5->C5_JUS := ""
- SC5->C5_JUSTX := ""
- MsUnlock()
- EndIf
- EndIf
- // Pergunta sobre faturamento em PB.
- // Solicitante: Rodrigo - em 20.05.2020.
- If !isblind() .and. cFilAnt = '01' .AND. INCLUI .AND. C5_PVPB = .F. .AND.;
- (C5_TIPOLUMI = '1' .OR. C5_TIPOLUMI = '2' .OR. C5_TIPOLUMI = '3' .OR. C5_TIPOLUMI = '4' .OR. C5_TIPOLUMI = '5')
- If MsgYesNo("Este P.Venda será indicado como apto a faturar por outra filial ?","Faturar Pato Branco.")
- RecLock("SC5",.F.)
- SC5->C5_PVPB := .T.
- MsUnlock()
- Else
- MsgInfo("É necessário justificar o NÃO FATURAMENTO por outra filial."+Chr(13)+Chr(13)+;
- "Caso não seja preenchido, será gravado automaticamente como 'Sem Justificativa'.","Atenção.")
- DEFINE MSDIALOG oDlg_J TITLE "Justificativa." FROM 000,000 TO 150,630 COLORS 0,16777215 PIXEL
- @ 017,005 SAY oSay_J PROMPT "Justificativa: " SIZE 050,012 OF oDlg_J COLORS 0,16777215 FONT oFont1 PIXEL
- @ 013,038 MSGET oGet_J VAR cJust SIZE 250,12 OF oDlg_J PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL VALID !Vazio()
- @ 060,250 BUTTON oButton1 PROMPT "Confirma" SIZE 040,012 ACTION oDlg_J:END() OF oDlg_J PIXEL
- ACTIVATE MSDIALOG oDlg_J CENTERED
- If Len(Trim(cJust)) <= 2
- cJust := "SEM JUSTIFICATIVA."
- EndIf
- RecLock("SC5",.F.)
- SC5->C5_NFATPB := Trim(cUserName)+' - '+Transform(dDataBase,"DD/MM/YYYY")+' - '+Trim(cJust)
- MsUnlock()
- EndIf
- EndIf
- // Envia e-mail informando os produtos que nao tem estrutura. Deixa Gravar o Pedido.
- // Aytel M. Fonseca em 17-03-2017 Solicitacao: Gustavo e Paulo Roberto.
- If SC5->C5_TIPOLUM $ '1/2/5/B/C/D' // CFILANT=="01" .AND. - Solicitado pelo Michel que tambem faça a validação na Abalux - em 27.07.2017
- If Inclui .or. Altera
- ValEstrut()
- EndIf
- EndIf
- If !isblind() .AND. (C5_TIPOLUMI = '1' .OR. C5_TIPOLUMI = '4' .OR. C5_TIPOLUMI = '5' .OR. C5_TIPOLUMI = 'E') .AND. PARAMIXB[1] <> 5 // Exclusao
- If MsgYesNo("*** ATENÇÃO *** " + Chr(13) + Chr(13) + "Deseja informar o ENDEREÇO DE ENTREGA ?","Pergunta")
- DEFINE MSDIALOG oDlg TITLE "Endereco de Entrega" FROM 000,000 TO 390,600 COLORS 0,16777215 PIXEL
- @ 007,003 SAY oSay9 PROMPT "Pedido: "+Trim(SC5->C5_NUM)+" Cliente: "+Trim(SA1->A1_NOME) SIZE 400,012 OF oDlg COLORS 0,16777215 FONT oFont2 PIXEL
- @ 010,001 SAY oSay9 PROMPT Replicate("_",100) SIZE 400,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 027,003 SAY oSay1 PROMPT "CEP: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 023,045 MSGET oGet1 VAR cCEP SIZE 030,012 OF oDlg PICTURE "@!" F3 "BC9" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 025,090 BUTTON oButton2 PROMPT "Buscar" SIZE 040,012 ACTION PesqCEP() OF oDlg PIXEL
- @ 047,003 SAY oSay2 PROMPT "Endereço: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 043,045 MSGET oGet2 VAR cEnd SIZE 230,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 067,003 SAY oSay3 PROMPT "Numero: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 063,045 MSGET oGet3 VAR __cNum SIZE 025,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 087,003 SAY oSay4 PROMPT "Complemento: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 083,045 MSGET oGet4 VAR cCompl SIZE 180,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 107,003 SAY oSay5 PROMPT "Bairro: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 103,045 MSGET oGet5 VAR cBairro SIZE 230,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 127,003 SAY oSay6 PROMPT "Cidade: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 123,045 MSGET oGet6 VAR cCidade SIZE 230,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 147,003 SAY oSay7 PROMPT "UF: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 143,045 MSGET oGet7 VAR cUF SIZE 015,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 167,003 SAY oSay8 PROMPT "Referência: " SIZE 050,012 OF oDlg COLORS 0,16777215 FONT oFont1 PIXEL
- @ 163,045 MSGET oGet8 VAR cPonto SIZE 230,012 OF oDlg PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
- @ 180,260 BUTTON oButton1 PROMPT "Gravar" SIZE 040,012 ACTION Gravar() OF oDlg PIXEL
- ACTIVATE MSDIALOG oDlg CENTERED
- EndIf
- EndIf
- //31.03.2014 - Raphael D. PILATTI - Alteração para gravar a hora do PV quando o botão CONFIRMAR é acionado. Estava na inicialização do campo, porém a hora não fica real.
- If INCLUI
- RecLock("SC5",.F.)
- SC5->C5_HORA := LEFT(TIME(),5)
- SC5->C5_USUARIO := CUSERNAME
- MsUnlock()
- EndIf
- ValidaCST()
- //Pilatti. O confirmaped só deve ser chamado se o Pedido veio de uma EFETIVAÇÃO de Orçamento, caso contrário não chama.
- // If FunName()=="MATA416" .AND. cFilAnt == "01"
- If FunName()=="MATA416" //.AND. cFilAnt == "01"
- ConfirmaPed(cPedTMK)
- EndIf
- //Pilatti - 26.05.2014 - Mensagem solicitada pela Rosangela, para conferência do campo Vendedor 2.
- /* If cFilAnt=="05"
- ValidaBLQ()
- // PedAten() // Ajusta o novo codigo do pedido ao atendimento.
- MsgAlert("Favor conferir o Vendedor 2 "+CRLF+"Conteúdo: "+SC5->C5_VEND2)
- EndIf*/
- cPedTMK:=M->C5_NUM
- // Validação removida dia 18/10/21 Solicitado por Gabriele.
- /*
- If Vazio(SC5->C5_NEGOCIA) .AND. PARAMIXB[1] <> 5 // Exclusao
- MsgAlert("Não foi informado a Negociadora do Pedido de Venda.","*** Atenção ***")
- EndIf */
- // No caso de copia do pedido deixar a pre-nota sempre como nao -- Solicitado Fabiana.
- RecLock("SC5",.F.)
- SC5->C5_PRENOTA := 'N'
- MsUnlock()
- If PARAMIXB[1] <> 5 // Exclusao
- GrvAud() // Gravar Tabelas de Auditoria - Fonseca 24.11.2020
- EndIf
- if PARAMIXB[1] = 5
- DelZA1(SC5->C5_NUM)
- endif
- RestArea(aArea)
- Return
- Static Function Gravar()
- /* RecLock("SC5",.F.)
- SC5->C5_ENDOPC := Trim(Upper(cEnd))+" "+Trim(Upper(cNum))+" "+Trim(Upper(cCompl))+" "+Trim(Upper(cBairro))+" "+Trim(Upper(cCidade))+" "+Trim(Upper(cUF))+" "+Trim(cCep)+" "+Trim(Upper(cPonto))
- SC5->C5_RUAOPC := Trim(Upper(cEnd))
- SC5->C5_NUMOPC := Trim(Upper(cNum))
- SC5->C5_CEPOPC := Trim(cCep)
- SC5->C5_BAIROPC:= Trim(Upper(cBairro))
- SC5->C5_MUNOPC := Trim(Upper(cCidade))
- SC5->C5_UFOPC := Trim(Upper(cUF))
- SC5->C5_REFOPC := Trim(Upper(cPonto))
- MsUnlock()*/
- // Em 18-09-2018 alterei para Update para resolver problema de intermitencia - Tabata.IIf(!Vazio(cNum),Trim(cNum),' ')
- cUPD_ := "UPDATE SC5010 SET C5_ENDOPC = '" + Upper(Trim(cEnd)+" "+__cNum+" "+Trim(cCompl)+" "+Trim(cBairro)+" "+Trim(cCidade)+" "+Trim(cUF))+" "+;
- Trim(cCep)+" "+Upper(IIf(!Vazio(cPonto),Trim(cPonto),' ')) + "', "
- cUPD_ += "C5_RUAOPC = '" + Upper(Trim(cEnd)) + "', "
- cUPD_ += "C5_NUMOPC = '" + __cNum + "', " //IIf(!Vazio(cNum),Trim(cNum),' ')
- cUPD_ += "C5_CEPOPC = '" + Trim(cCep) + "', "
- cUPD_ += "C5_BAIROPC = '" + Upper(Trim(cBairro)) + "', "
- cUPD_ += "C5_MUNOPC = '" + Upper(Trim(cCidade)) + "', "
- cUPD_ += "C5_UFOPC = '" + Upper(Trim(cUF)) + "', "
- cUPD_ += "C5_REFOPC = '" + Upper(IIf(!Vazio(cPonto),Trim(cPonto),' ')) + "' WHERE C5_NUM = '" + SC5->C5_NUM + "' " //AND C5_FILIAL = '01'"
- If (TCSQLExec(cUPD_) < 0)
- MsgStop("Erro ao atualizar a tabela SC5 (Endereco de Entrega). Rotina: M410STTS" + Chr(13) +;
- "Favor informar ao administrador do sistema." + Chr(13) + Chr(13) +;
- "**-**-**-**-**-**-**-**-**-**-**-**-**" + Chr(13) + Chr(13) +;
- TCSQLError(),"*** Atenção *** Erro !!!")
- EndIf
- oDlg:END()
- Return
- Static Function PesqCEP()
- If Vazio(cCEP)
- ShowHelpDlg("Aviso", {"CEP não Informado.",""},5,{"Informe o CEP ou tecle < F3 >.",""},5)
- Return()
- Else
- If Select("QRY1") > 0
- dbSelectArea("QRY1")
- dbCloseArea("QRY1")
- Endif
- cQuery1 := "SELECT SubStr(BC9_END,1,93) BC9_END,Substr(BC9_BAIRRO,1,15) BC9_BAIRRO, Substr(BC9_MUN,1,20) BC9_MUN, BC9_EST FROM " + RetSQLName("BC9")
- cQuery1 += " WHERE BC9_CEP = '" + Trim(cCEP) + "' "
- cQuery1 += " AND D_E_L_E_T_ = ' ' "
- TcQuery cQuery1 New Alias "QRY1"
- If QRY1->(!EOF())
- cEnd := Trim(QRY1->BC9_END)+Space((93-Length(Trim(QRY1->BC9_END)))) //QRY1->BC9_END
- cBairro := Trim(QRY1->BC9_BAIRRO)+Space((15-Length(Trim(QRY1->BC9_BAIRRO)))) //QRY1->BC9_BAIRRO
- cCidade := Trim(QRY1->BC9_MUN)+Space((20-Length(Trim(QRY1->BC9_MUN)))) //QRY1->BC9_MUN
- cUF := QRY1->BC9_EST
- Else
- ShowHelpDlg("Aviso", {"CEP não cadastrado.",""},5,{"Preencha os campos com as informações do endereço de entrega.",""},5)
- EndIf
- EndIf
- Return
- //23.06.2014
- //Raphael D. PILATTI
- //Validação da situação tributária do ICM no Pedido de Vendas
- //Devido aos gatilhos em alguns casos não estava gravando corretamente
- Static Function ValidaCST()
- Local cNum := SC5->C5_NUM
- If Select("QRYCST") > 0
- dbSelectArea("QRYCST")
- dbCloseArea("QRYCST")
- Endif
- cQuery1 := "UPDATE "
- cQuery1 += RetSQLName("SC6")
- cQuery1 += " SET (C6_CLASFIS) = (SELECT B1_ORIGEM||F4_SITTRIB FROM "
- cQuery1 += RetSQLName("SB1") + ","
- cQuery1 += RetSQLName("SF4")
- cQuery1 += " WHERE "
- cQuery1 += + RetSQLName("SC6") +".D_E_L_E_T_ = ' ' AND " + RetSQLName("SB1") +".D_E_L_E_T_ = ' ' AND "+ RetSQLName("SF4") +".D_E_L_E_T_ = ' ' AND
- cQuery1 += " C6_FILIAL = B1_FILIAL AND C6_PRODUTO = B1_COD AND B1_ORIGEM <> ' ' AND F4_SITTRIB <> ' ' AND F4_FILIAL = C6_FILIAL AND F4_CODIGO = C6_TES AND F4_FILIAL = B1_FILIAL AND C6_FILIAL = '"+xFilial("SC6")+"')WHERE EXISTS"
- cQuery1 += " (SELECT 1 FROM "
- cQuery1 += RetSQLName("SC6")+ ","
- cQuery1 += RetSQLName("SF4")+ ","
- cQuery1 += RetSQLName("SB1")
- cQuery1 += " WHERE "
- cQuery1 += RetSQLName("SC6")+".D_E_L_E_T_ = ' ' AND "
- cQuery1 += RetSQLName("SB1")+".D_E_L_E_T_ = ' ' AND "
- cQuery1 += RetSQLName("SF4")+".D_E_L_E_T_ = ' ' AND "
- cQuery1 += " C6_FILIAL = B1_FILIAL AND C6_PRODUTO = B1_COD AND B1_ORIGEM <> ' ' AND F4_SITTRIB <> ' ' AND F4_FILIAL = C6_FILIAL AND F4_CODIGO = C6_TES AND F4_FILIAL = B1_FILIAL AND C6_FILIAL = '"+xFilial("SC6")+"' AND C6_NUM = '"+cNum+"') AND C6_NUM = '"+cNum+"' "
- TcSQLExec(cQuery1)
- Return
- //-------------------------------------------------------------------------------------------
- //Solicitante : Márcia
- //Descrição : Utilizado para enviar a confirmação do Pedido para o cliente, quando o pedido
- // : vier de uma EFETIVACAO do ORÇAMENTO.
- // :
- //Autor : Raphael D. PILATTI
- //Data criação : 06/05/2014
- //Data alteração: 27/05/2014 - Tratativa em relação ao TPFRETE, se FOB não carrega no e-mail
- // : informações sobre a ENTREGA
- //Data alteração: 30/05/2014 - Adicionado posicione para pegar o e-mail do Vendedor 2
- //-------------------------------------------------------------------------------------------
- Static Function ConfirmaPed(cPedTMK)
- #include "protheus.ch"
- #include "rwmake.ch"
- #include "topconn.ch"
- #include "TOTVS.CH"
- Local cNum := SC5->C5_NUM
- Local _nI := 0
- Local aArea := GetArea()
- Local cEntSC5 := SC5->C5_DATENTR+1
- Local cItens := 1
- Local cHora :=val(SC5->C5_HORA)
- Local cCabecalho:=""
- Local cMensagem :=""
- Local cEmail :="tabata-sjp@lumicenter.com"
- Local cCopia := Rtrim(Posicione("SA3",1,xFilial('SA3')+SC5->C5_VEND2,"A3_EMAIL"))
- // Local cMenNot1 := .F.
- Local cDestino :=""
- Local cEndOPC :=.F.
- Local cRodape0 :=""
- Local cRodape1 :=""
- Local cRodape2 :=""
- Local cRodape3 :=""
- Local cRodape4 :=""
- Local cRodape5 :=""
- Local cRodape6 :=""
- Local cRodape7 :=""
- Local cRodape8 :=""
- Local cRodape9 :=""
- Local cRodape10 :=""
- Local cRodape11 :=""
- Local cRodape12 :=""
- Local cRodape13 :=""
- Local cRodape14 :=""
- Local cRodape15 :=""
- Local cRodape16 :=""
- Local cRodape17 :=""
- Local cRodape18 :=""
- Local cRodape19 :=""
- Local cRodape20 :=""
- Local cEntSC5new:= DOW(SC5->C5_DATENTR+1) //Verifica qual é o dia da semana, conforme regra comercial devo sempre somar 1 dia útil à data que está no pedido.
- //Validação para saber se a Data de Entrada do cabeçalho do PV é feriado.
- //Se for feriado, soma mais 1 dia à data de entrega
- If Select("QRYX5") > 0
- dbSelectArea("QRYX5")
- dbCloseArea("QRYX5")
- Endif
- cQryX5 := "SELECT SubStr(X5_DESCRI,1,5) FERIADO FROM " + RetSQLName("SX5")
- cQryX5 += " WHERE X5_FILIAL = '" + xFilial("SX5") + "' "
- cQryX5 += " AND D_E_L_E_T_ = ' ' AND X5_TABELA = '63'"
- TcQuery cQryX5 New Alias "QRYX5"
- While QRYX5->(!EOF())
- If Alltrim(QRYX5->FERIADO)==Substring(DTOC(cEntSC5),1,5)
- cEntSC5:=cEntSC5+1
- EndIf
- QRYX5->(dbSkip())
- EndDo
- If SC5->C5_TIPO $ "N/C/I/P"
- cCli:=+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_NOME"))
- //cDestino:=+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_EMAIL")) solicitado por marcia
- cDestino:=+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_ECE1"))
- Else
- cCli:=+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_NOME"))
- cDestino:=+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_EMAIL"))
- EndIF
- //Contagem para saber se existem itens com data de entrega diferente, feito aqui para imprimir a mensagem antes de LISTAR os itens.
- For _nI := 1 to Len(aCols)
- cEntSC6 := aCols[_nI][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_ENTREG"})] +1
- If cEntSC5 <> cEntSC6
- cItens:=cItens+1
- EndIf
- Next
- If cHora >= 1 .AND. cHora < 12
- cCabecalho :="<html><body><font size='5' face='Calibri Light'><b>Bom Dia</b></font></body></html>" + CRLF
- ElseIf cHora >= 12 .AND. cHora < 18
- cCabecalho :="<html><body><font size='5' face='Calibri Light'><b>Boa Tarde</b></font></body></html>" + CRLF
- ElseIf cHora >= 18 .AND. cHora < 24
- cCabecalho :="<html><body><font size='5' face='Calibri Light'><b>Boa Noite</b></font></body></html>" + CRLF
- End If
- cCabecalho +="<html><body><font size='3' face='Calibri Light'>Caro Cliente, muito obrigado pela preferência !</font></body></html>"
- cCabecalho +="<html><body><font size='3' face='Calibri Light'>Seu pedido foi emitido em " + Transform(dDatabase,"DD/MM/YYYY") +", sob o número: "+ cNum + " - " + Alltrim(cCli) + ".</font></body></html>"
- //13.10.204 - Pilatti
- //Tratativa para a data de entrega, conforme decisão do Comercial e da Fábrica, será mostrados para os clientes sempre 1 dia útil a mais na entrega, tanto no cabeçalho quanto nos itens.
- If cEntSC5new = 1 //Domingo
- cEntSC5:=cEntSC5+1
- ElseIf cEntSC5new = 7 //Sábado
- cEntSC5:=cEntSC5+2
- EndIf
- cCabecalho +="<html><body><font size='3' face='Calibri Light'>A data prevista de faturamento é para " + Transform(cEntSC5,"DD/MM/YYYY")+ " conforme acordado, porém, a data de recebimento de sua mercadoria deverá levar em conta o prazo de entrega da transportadora selecionada. </font></body></html>"
- If cItens > 1
- cCabecalho+="<html><body><font size='3' face='Calibri Light'><b>EXCETO para os itens abaixo : </b></font></body></html>" + CRLF
- cMensagem :="<html><body><table style='border:1px solid black;'><font size='3' face='Calibri Light'><tr><th>Código</th><th>Descrição</th><th>Previsão de Embarque</th></tr></font>"
- EndIf
- For _nI := 1 to Len(aCols)
- cEntSC6 := aCols[_nI][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_ENTREG"})] +1
- If cEntSC5 <> cEntSC6
- //Validação para saber se a Data de Entrada do cabeçalho do PV é feriado.
- //Se for feriado, soma mais 1 dia à data de entrega
- If Select("QRYX5_2") > 0
- dbSelectArea("QRYX5_2")
- dbCloseArea("QRYX5_2")
- Endif
- cQryX5_2 := "SELECT SubStr(X5_DESCRI,1,5) FERIADO FROM " + RetSQLName("SX5")
- cQryX5_2 += " WHERE X5_FILIAL = '" + xFilial("SX5") + "' "
- cQryX5_2 += " AND D_E_L_E_T_ = ' ' AND X5_TABELA = '63'"
- TcQuery cQryX5_2 New Alias "QRYX5_2"
- While QRYX5_2->(!EOF())
- If Alltrim(QRYX5_2->FERIADO)==Substring(DTOC(cEntSC6),1,5)
- cEntSC6:=cEntSC6+1
- EndIf
- QRYX5_2->(dbSkip())
- EndDo
- cEntSC6new:= DOW(cEntSC6) //Verifica qual é o dia da semana, conforme regra comercial devo sempre somar 1 dia útil à data que está no pedido.
- //13.10.204 - Pilatti
- //Tratativa para a data de entrega, conforme decisão do Comercial e da Fábrica, será mostrados para os clientes sempre 1 dia útil a mais na entrega, tanto no cabeçalho quanto nos itens.
- If cEntSC6new = 1 //Domingo
- cEntSC6:=cEntSC6+1
- ElseIf cEntSC6new = 7 //Sábado
- cEntSC6:=cEntSC6+2
- EndIf
- cCod := aCols[_nI][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})]
- cDesc := aCols[_nI][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_DESCRI"})]
- cMensagem += "<font size='2' face='Calibri Light'><tr><td style='border:1px solid black;'>" + cCod + "</td>"
- cMensagem += "<td style='border:1px solid black;'>" + cDesc + "</td>"
- cMensagem += "<td style='border:1px solid black;'>" + Transform(cEntSC6,"DD/MM/YYYY") + "</td></tr></font>"
- EndIf
- Next
- cMensagem +="</font></table></body></html>"+ CRLF
- cMens2 :="<html><body><font size='3' face='Calibri Light'><b>Favor confirmar se o seu pedido está com a tensão correspondente a obra, (127V/220V).</b></font></body></html>"
- cMens2 +="<html><body><font size='3' face='Calibri Light'><b>Para clientes com Inscrição estadual : Favor confirmar se este CNPJ possui algum regime especial onde o isenta de IPI ou DA/ST.</b></font></body></html>" + CRLF
- If SC5->C5_TPFRETE <> "F"
- cRodape0 :="<html><body><font size='3' face='Calibri Light'>Afim de finalizarmos a entrega deste pedido da forma mais rápida e correta, solicitamos sua colaboração na confirmação dos dados informados abaixo:</font></body></html>" + CRLF
- cRodape1 :="<html><body><font size='4' face='Calibri Light'><b>ENDEREÇO DE ENTREGA:</b></font></body></html>"+ CRLF
- Posicione("SC5",1,xFilial('SC5')+SC5->C5_NUM,"SC5->C5_ENDOPC")
- If !Empty(SC5->C5_ENDOPC)
- cRodape2 :="<html><body><font size='3' face='Calibri Light'><b>Rua / Nº. : "+ alltrim(SC5->C5_RUAOPC) + "," + SC5->C5_NUMOPC + " </b></font></body></html>"
- cRodape3 :="<html><body><font size='3' face='Calibri Light'><b>Bairro.... : "+ alltrim(SC5->C5_BAIROPC) + " </b></font></body></html>"
- cRodape4 :="<html><body><font size='3' face='Calibri Light'><b>Cidade... : "+ alltrim(SC5->C5_MUNOPC) + " </b></font></body></html>"
- cRodape5 :="<html><body><font size='3' face='Calibri Light'><b>UF.......... : "+ alltrim(SC5->C5_UFOPC) + " </b></font></body></html>"
- cRodape6 :="<html><body><font size='3' face='Calibri Light'><b>CEP........ : "+ alltrim(SC5->C5_CEPOPC) + " </b></font></body></html>" + CRLF
- cEndOPC:=.T.
- EndIf
- If !(cEndOPC)
- If SC5->C5_TIPO $ "N/C/I/P"
- cRodape2 :="<html><body><font size='3' face='Calibri Light'><b>Rua / Nº. : "+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_END"))+" </b></font></body></html>"
- cRodape3 :="<html><body><font size='3' face='Calibri Light'><b>Bairro.... : "+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_BAIRRO"))+" </b></font></body></html>"
- cRodape4 :="<html><body><font size='3' face='Calibri Light'><b>Cidade... : "+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_MUN"))+" </b></font></body></html>"
- cRodape5 :="<html><body><font size='3' face='Calibri Light'><b>UF.......... : "+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_EST"))+" </b></font></body></html>"
- cRodape6 :="<html><body><font size='3' face='Calibri Light'><b>CEP........ : "+ Rtrim(Posicione("SA1",1,xFilial('SA1')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A1_CEP"))+ " </b></font></body></html>" + CRLF
- Else
- cRodape2 :="<html><body><font size='3' face='Calibri Light'><b>Rua / Nº. : "+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_END"))+" </b></font></body></html>"
- cRodape3 :="<html><body><font size='3' face='Calibri Light'><b>Bairro.... : "+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_BAIRRO"))+" </b></font></body></html>"
- cRodape4 :="<html><body><font size='3' face='Calibri Light'><b>Cidade... : "+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_MUN"))+" </b></font></body></html>"
- cRodape5 :="<html><body><font size='3' face='Calibri Light'><b>UF.......... : "+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_EST"))+" </b></font></body></html>"
- cRodape6 :="<html><body><font size='3' face='Calibri Light'><b>CEP........ : "+ Rtrim(Posicione("SA2",1,xFilial('SA2')+SC5->C5_CLIENTE+SC5->C5_LOJACLI,"A2_CEP"))+ " </b></font></body></html>" + CRLF
- EndIf
- EndIf
- cRodape7 :="<html><body><font size='3' face='Calibri Light'>Pedimos também, a indicação dos dados da pessoa que ficará responsável em receber a mercadoria para agilizar a entrega.</font></body></html>" + CRLF
- cRodape8 :="<html><body><font size='4' face='Calibri Light'><b>RECEBIMENTO DA MERCADORIA: (CASO JÁ INFORMADO NA O.C. FAVOR DESCONSIDERAR)</b></font></body></html>"+ CRLF
- cRodape9 :="<html><body><font size='3' face='Calibri Light'><b>Nome completo do responsável. :</b></font></body></html>"
- cRodape10 :="<html><body><font size='3' face='Calibri Light'><b>Setor.................................. :</b></font></body></html>"
- cRodape11 :="<html><body><font size='3' face='Calibri Light'><b>Telefone fixo ou móvel.......... :</b></font></body></html>" + CRLF
- cRodape12 :="<html><body><font size='3' face='Calibri Light'>Sua colaboração e retorno das informações solicitadas é de suma importância, assim, evitaremos transtornos no atraso de entrega da sua mercadoria e cobrança de taxas extras de frete que incidem para o cliente.</font></body></html>"
- cRodape13 :="<html><body><font size='3' face='Calibri Light'>Salientamos que a falta de informação, dados incorretos ou a alteração de dados do pedido após embarque da mercadoria, incorrerão ao destinatário:</font></body></html>"
- cRodape14 :="<html><body><font size='3' face='Calibri Light'><b>- Atraso de entrega </b></font></body></html>"
- cRodape15 :="<html><body><font size='3' face='Calibri Light'><b>- Pagamento de custas adicionais referente nova entrega </b></font></body></html>"
- cRodape16 :="<html><body><font size='3' face='Calibri Light'><b>- Pagamento de custas adicionais referente à restrições na área de descarga</b></font></body></html>"
- cRodape17 :="<html><body><font size='3' face='Calibri Light'><b>- Pagamento do frete de devolução</b></font></body></html>"+ CRLF
- Else
- cRodape17 :="<html><body><font size='3' face='Calibri Light'><b>Como o frete é FOB (por conta do cliente) , entraremos em contato para que possa agendar a retirada de sua mercadoria.</b></font></body></html>"+ CRLF
- EndIf
- cRodape18 :="<html><body><font size='3' face='Calibri Light'>Caso tenha alguma dúvida estaremos à disposição no telefonte (41) 2103-2750 (r. 2763) </font></body></html>" + CRLF
- cRodape19 :="<html><body><font size='3' face='Calibri Light'><b>Tabata</b></font></body></html>"
- cRodape20 :="<html><body><font size='3' face='Calibri Light'><b>E-mail:tabata-sjp@lumicenter.com</b></font></body></html>"
- //*-*-*-*-*-*-*
- // Retirado ate correção do fonte - Fonseca 29-11-2017
- // U_MATR730(cPedTMK) //Pre Nota PDF, enviada em anexo.
- // _aAnexo := Alltrim(GetTempPath())+"totvsprinter/"+_anexoMail+".pdf"
- // CpyT2S(_aAnexo, "\data")
- // _aAnexo := "\data\" + cFilePrint+ ".pdf"
- //*-*-*-*-*-*-*
- _aAnexo:= ""
- U_EnvMail(cDestino,cEmail+';'+cCopia,"","Lumicenter - Pedido de Luminárias "+ cNum +" - "+ cCli ,cCabecalho+cMensagem+cRodape0+cRodape1+cRodape2+cRodape3+cRodape4+cRodape5+cRodape6+cRodape7+cRodape8+cRodape9+cRodape10+cRodape11+cRodape12+cRodape13+cRodape14+cRodape15+cRodape16+cRodape17+cRodape18+cRodape19+cRodape20,_aAnexo) //(Destino, Com Copia, Com Copia Oculta, Titulo , Mensagem Corpo, Anexos)
- RestArea(aArea)
- Return
- /*
- +---------------------------------------------------------------------------------------------------+
- |Data | 24/04/2015 |
- |---------------------------------------------------------------------------------------------------|
- |Autor | Raphael D. PILATTI |
- |---------------------------------------------------------------------------------------------------|
- |Desc | Validação para que os orçamentos não apareçam no fluxo de caixa. Para que não interfira |
- | | no Fluxo o campo C6_BLQ deve estar com "S" (bloqueado), caso contrário compõem o Fluxo. |
- +---------------------------------------------------------------------------------------------------+
- */
- /*Static Function ValidaBLQ()
- For i:= 1 to len(acols)
- If GdDeleted(i) // Testa se a linha está deletada.
- Loop
- EndIf
- If SC5->C5_ORCAMEN = 'S' .AND. SC5->C5_LIBEROK = ' '
- cQry1 := "UPDATE " + RetSQLName("SC6") "
- cQry1 += " SET C6_BLQ = 'S' WHERE D_E_L_E_T_ = ' ' AND C6_NUM = '" + SC5->C5_NUM +"' AND C6_FILIAL = '" + xFilial("SC6") + "' "
- TcSQLExec(cQry1)
- ElseIf SC5->C5_ORCAMEN = 'S' .AND. SC5->C5_LIBEROK <> ' '
- cQry1 := "UPDATE " + RetSQLName("SC6") "
- cQry1 += " SET C6_BLQ = ' ' WHERE D_E_L_E_T_ = ' ' AND C6_NUM = '" + SC5->C5_NUM +"' AND C6_FILIAL = '" + xFilial("SC6") + "' "
- TcSQLExec(cQry1)
- EndIf
- Next
- Return*/
- Static Function ValEstrut()
- Local _nReg := Len(aCols)
- Local cMensIt := ''
- Local cMens := ''
- Local cEmail := .F.
- Local i := 1
- For i := 1 to _nReg
- If GdDeleted(i) // Testa se a linha está deletada.
- Loop
- EndIf
- If Select("QRY") > 0
- dbSelectArea("QRY")
- dbCloseArea("QRY")
- Endif
- cQuery := "SELECT * FROM SG1010 WHERE D_E_L_E_T_ = ' ' AND G1_FILIAL = '01' AND G1_COD = '" + aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})] + "'"
- TcQuery cQuery New Alias "QRY"
- If QRY->(EOF()) .AND. POSICIONE("SB1",1,xFilial("SC5")+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})]),"B1_TIPO") == 'PA'
- If (POSICIONE("SB1",1,xFilial("SC5")+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})]),"B1_GRUPO") <> 'IMP' .AND.;
- POSICIONE("SB1",1,xFilial("SC5")+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})]),"B1_GRUPO") <> 'REIO' .AND.;
- POSICIONE("SB1",1,xFilial("SC5")+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})]),"B1_GRUPO") <> 'REAB' .AND.;
- POSICIONE("SB1",1,xFilial("SC5")+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})]),"B1_GRUPO") <> 'REIL')
- cMensIT += "<tr><td>"+aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_ITEM"})]+"</td>"+;
- "<td>"+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})])+"</td>"+;
- "<td>"+Trim(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_DESCRI"})])+"</td>"+;
- "<td>"+Transform(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_QTDVEN"})],'@E 9999.99')+"</td>"+;
- "<td>"+Transform(aCols[i][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_ENTREG"})],'YYYYMMDD')+"</td></tr>"
- cEmail := .T.
- EndIf
- EndIf
- Next
- If cEmail
- cMens += "Filial: "+IIf(CFILANT=='01','01 - Engenharia','05 - Abalux')+Chr(13)+Chr(14)
- cMens += "Pedido: "+Trim(SC5->C5_NUM)+Chr(13)+Chr(14)
- cMens += "Emissão: "+Transform(SC5->C5_EMISSAO,'YYYYMMDD')+Chr(13)+Chr(14)
- cMens += Chr(13)+Chr(14)
- If CFILANT=='01'
- cMens += "Cliente: "+Trim(SC5->C5_CLIENTE)+" - "+Trim(Posicione("SA1",1,xFilial('SC5')+Trim(SC5->C5_CLIENTE)+Trim(SC5->C5_LOJACLI),"A1_NOME"))+Chr(13)+Chr(14)
- cMens += Chr(13)+Chr(14)
- cMens += "Regional: "+Trim(SC5->C5_VEND1)+" - "+Trim(Posicione("SA3",1,xFilial('SC5')+Trim(SC5->C5_VEND1)+'00',"A3_NOME"))+Chr(13)+Chr(14)
- cMens += "Vendedor: "+Trim(SC5->C5_VEND2)+" - "+Trim(Posicione("SA3",1,xFilial('SC5')+Trim(SC5->C5_VEND2)+'00',"A3_NOME"))+Chr(13)+Chr(14)
- cMens += "Vendedor: "+Trim(SC5->C5_VEND3)+" - "+Trim(Posicione("SA3",1,xFilial('SC5')+Trim(SC5->C5_VEND3)+'00',"A3_NOME"))+Chr(13)+Chr(14)
- cMens += "Negociadora: "+Trim(SC5->C5_NEGOCIA)+" - " + Trim(Posicione("SX5",1,xFilial('SX5') + "91" + Trim(SC5->C5_NEGOCIA),"X5_DESCRI")) +Chr(13)+Chr(14)
- //Posicione("SX5",1,xFilial('SX5')+"91"+SC5->C5_NEGOCIA,"X5_DESCRI"))
- EndIf
- cMens += "<html><font face='New Courrier'><head></head><br><br>"
- cMens += "<table border='1' cellpadding='5' width='100%'><strong><tr><td>Item</td><td>Produto</td><td>Descrição</td><td>Qtde.</td><td>Entrega</td></tr></strong>"
- cMens += cMensIT
- cMens += "</table></font></html>"
- If CFILANT=='01'
- U_EnvMail("pauloroberto-sjp@lumicenter.com;gustavo-sjp@lumicenter.com;michel-sjp@lumicenter.com;thiago-sjp@lumicenter.com;kleiton-sjp@lumicenter.com;willian-sjp@lumicenter.com","victorpires-sjp@lumicenter.com;jucelene-sjp@lumicenter.com;tvieira-sjp@lumicenter.com;raphaelferreira-sjp@lumicenter.com;katiane-sjp@lumicenter.com;gabrielle-sjp@lumicenter.com;fabiana-sjp@lumicenter.com;fabiana-sjp@lumicenter.com;jessicaramos-sjp@lumicenter.com;tabata-sjp@lumicenter.com","","e-Mail Automático. Pedido de Venda com Itens sem Estrutura.",cMens,"") //(Destino, Com Copia, Com Copia Oculta, Titulo , Mensagem Corpo, Anexos)
- ElseIf CFILANT=='05'
- U_EnvMail("pauloroberto-sjp@lumicenter.com;gustavo-sjp@lumicenter.com;michel-sjp@lumicenter.com;thiago-sjp@lumicenter.com;kleiton-sjp@lumicenter.com;fabiana-sjp@lumicenter.com;willian-sjp@lumicenter.com","victorpires-sjp@lumicenter.com;jucelene-sjp@lumicenter.com;tvieira-sjp@lumicenter.com;rosangela-sjp@lumicenter.com;raphaelferreira-sjp@lumicenter.com","","e-Mail Automático. Pedido de Venda com Itens sem Estrutura.",cMens,"") //(Destino, Com Copia, Com Copia Oculta, Titulo , Mensagem Corpo, Anexos)
- EndIf
- EndIf
- Return()
- Static Function GrvAud()
- Local cSQLExec := ''
- // Gravar tabelas de Auditoria. Fonseca em 24.11.2020 --> Solicitante Rodrigo.
- If aRotina[3][2] = 'A410Copia'
- cSQLExec := "INSERT INTO AUDIT_SC5 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '3-COPIA', SC5010.* FROM SC5010 WHERE D_E_L_E_T_ = ' ' AND C5_NUM = '" + SC5->C5_NUM + "' AND C5_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Copia AUDIT_SC5. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- cSQLExec := "INSERT INTO AUDIT_SC6 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '3-COPIA', SC6010.* FROM SC6010 WHERE D_E_L_E_T_ = ' ' AND C6_NUM = '" + SC5->C5_NUM + "' AND C6_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Copia AUDIT_SC6. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- ElseIf FunName() == 'MATA416'
- cSQLExec := "INSERT INTO AUDIT_SC5 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '4-APROVACAO VENDA', SC5010.* FROM SC5010 WHERE D_E_L_E_T_ = ' ' AND C5_NUM = '" + SC5->C5_NUM + "' AND C5_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Aprov.Venda AUDIT_SC5. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- cSQLExec := "INSERT INTO AUDIT_SC6 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '4-APROVACAO VENDA', SC6010.* FROM SC6010 WHERE D_E_L_E_T_ = ' ' AND C6_NUM = '" + SC5->C5_NUM + "' AND C6_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Aprov.Venda AUDIT_SC6. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- ElseIf Inclui
- cSQLExec := "INSERT INTO AUDIT_SC5 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '1-INCLUSAO', SC5010.* FROM SC5010 WHERE D_E_L_E_T_ = ' ' AND C5_NUM = '" + SC5->C5_NUM + "' AND C5_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Inclusão AUDIT_SC5. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- cSQLExec := "INSERT INTO AUDIT_SC6 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '1-INCLUSAO', SC6010.* FROM SC6010 WHERE D_E_L_E_T_ = ' ' AND C6_NUM = '" + SC5->C5_NUM + "' AND C6_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Inclusão AUDIT_SC6. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- ElseIf Altera
- cSQLExec := "INSERT INTO AUDIT_SC5 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '2-ALTERACAO', SC5010.* FROM SC5010 WHERE D_E_L_E_T_ = ' ' AND C5_NUM = '" + SC5->C5_NUM + "' AND C5_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Alteração AUDIT_SC5. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- cSQLExec := "INSERT INTO AUDIT_SC6 SELECT SYSDATE, '" + Upper(Trim(cUserName)) + "', '2-ALTERACAO', SC6010.* FROM SC6010 WHERE D_E_L_E_T_ = ' ' AND C6_NUM = '" + SC5->C5_NUM + "' AND C6_FILIAL = '" + xFilial("SC5") + "'"
- If TCSqlExec(cSQLExec) < 0
- Msgstop('Erro Alteração AUDIT_SC6. M410STTS' + Chr(13) + TCSQLError(),'Erro !!!')
- Endif
- EndIf
- Return()
- Static Function DelZA1(cNum)
- Alert("Deletando...")
- cSql := " UPDATE "+RetSqlName("ZA1")+" set D_E_L_E_T_ = '*',R_E_C_D_E_L_ = R_E_C_N_O_ "
- cSql += " WHERE D_E_L_E_T_ = ' ' AND ZA1_PEDIDO = '"+cNum+"' "
- TCSQLExec(cSql)
- Return
|