Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Function Gerar() As Boolean
- '/* Begin Error Handler
- On Error GoTo HandleError
- Call mProcStack.EnterProc("Gerar", MODULE_NAME)
- Dim Resultado As String
- Dim ResultadoLinha As String
- Dim Banco As New MantemTabelas
- Dim Func As New Geral
- Dim oRs As New ADODB.Recordset, oRs2 As New ADODB.Recordset
- Dim cor As String
- Dim SQL As String
- Dim SQLDivulgacao As String
- Dim item As MSComctlLib.ListItem
- Dim Id_venda As Double
- Dim totalDia As Double, totalPeriodo, totalVenda As Double
- Dim Data As Date, dataProxima As Date, dtInicial As Date, dtFinal As Date
- Dim filtroVendas As Double
- Dim Parametros As String
- Dim Sintetico As Boolean
- Dim Valor As Double
- Dim idOperadora As Double
- Dim Total_Devolucao As Double
- Dim Total_Devolucao_Final As Double
- Dim Total_Devolucao_Dia As Double
- Dim Total_Acrescimos As Double
- Dim Total_Acrescimos_Final As Double
- Dim Total_Acrescimos_Dia As Double
- Dim Total_Devolucao_Acrescimo As Double
- Dim Total_Devolucao_Acrescimos_Final As Double
- Dim Total_Devolucao_Acrescimos_Dia As Double
- Dim Barra As Integer
- Dim Valor_Devolucao As Double
- Dim ListaDeVendas As String
- Dim TotalBarra As Integer
- Dim Id_Tipo_Produto As Double
- Dim Id_Produto As Double
- Dim Id_Vendedor As Double
- Dim Id_Fornecedor As Double
- Dim Id_Pagamento As Double
- Dim oRs3 As New ADODB.Recordset
- Dim oRsDivulgacao As New ADODB.Recordset
- Dim AcrescimoVenda As Double
- Dim EscreveFormaPgto As Boolean
- Dim TotalPagamento As Double
- Dim Id_Anterior As String
- Dim sqlHistorico As String
- Dim orsHistorico As ADODB.Recordset
- Dim numerosAnterior As String
- idOperadora = Val(cmbOperadora.ItemData(cmbOperadora.ListIndex))
- If Len(txtCliente.Tag) > 0 Then
- If CDbl(txtCliente.Tag) <> Id_Cliente Then Id_Cliente = CDbl(txtCliente.Tag)
- End If
- Id_Vendedor = cmbVendedor.ItemData(cmbVendedor.ListIndex)
- Id_Fornecedor = cmbFornecedor.ItemData(cmbFornecedor.ListIndex)
- Id_Tipo_Produto = cmbTipo.ItemData(cmbTipo.ListIndex)
- Id_Produto = cmbProduto.ItemData(cmbProduto.ListIndex)
- Id_Pagamento = cmbPagamento.ItemData(cmbPagamento.ListIndex)
- If Len(txtNotaFiscal1.Text) = 0 Then txtNotaFiscal1.Text = 0
- If Len(txtNotaFiscal2.Text) = 0 Then txtNotaFiscal2.Text = 0
- If Not IsDate(mskDataInicial.Text) Or Len(mskDataInicial.ClipText) = 0 Then
- Func.mensagem "A Data Inicial é inválida.", vbExclamation, "Relatório de Vendas detalhadas"
- Func.Foco mskDataInicial
- Exit Function
- Else
- dtInicial = mskDataInicial.Text
- End If
- If Not IsDate(mskDataFinal.Text) Or Len(mskDataFinal.ClipText) = 0 Then
- Func.mensagem "A Data Final é inválida.", vbExclamation, "Relatório de Vendas detalhadas"
- Func.Foco mskDataFinal
- Exit Function
- Else
- dtFinal = mskDataFinal.Text
- End If
- 'Implantado em 02/01/2012
- If CDate(dtInicial) > CDate(dtFinal) Then
- Func.mensagem "Data Inicial não pode ser maior que a Data Final.", vbCritical, "Relatório de Vendas detalhadas"
- Func.Foco mskDataInicial
- Exit Function
- End If
- filtroVendas = cmbFiltro.ItemData(cmbFiltro.ListIndex) '1-Realizadas; 2-Canceladas; 3 - Devolvidas
- If Len(Lista_Empresas) = 0 Then Lista_Empresas = m_Id_Empresa
- Gerar = True
- lblProgresso.Caption = "Aguarde..."
- SQL = "SELECT DISTINCT Item_Venda.ID, Venda.FINALIZADA, VENDA.DATA_HORA_CUPOM, "
- SQL = SQL & " MARCA.DESCRICAO + '/' + ISNULL(CAST(Produto.referencia AS NVARCHAR),'') + '/' + Produto.MODELO as MODELO, "
- SQL = SQL & " Localizador.Rua AS Endereco_Localizador, Servico.DESCRICAO AS Servico, Item_Venda.VLR_UNIT, "
- SQL = SQL & " Cliente.NOME AS Cliente, Venda.DATA AS dataVenda, Venda.NOTA_FISCAL, Vendedor.NOME AS Vendedor, "
- SQL = SQL & " Venda.DESCONTO, Item_Entrada.IMEI, Item_Entrada.ICCID, Item_Venda.ICCID_VENDA, ITEM_VENDA.AVULSO, "
- SQL = SQL & " ISNULL(Item_Venda.NUMERO_CELULAR,'') AS Numero_Celular, "
- SQL = SQL & " ISNULL(Item_Venda.NUMERO_CELULAR_PROVISORIO,'') AS NUMERO_CELULAR_PROVISORIO, "
- SQL = SQL & " ISNULL(Item_Venda.Usuario_Autorizacao,'') AS Usuario_Autorizacao, "
- SQL = SQL & " Item_Venda.DESCONTO AS item_desconto, "
- SQL = SQL & " dbo.FN_SOMA_DESCONTO_SUBSIDIADO_ITEM(ITEM_Venda.ID) As DESCONTO_SUBSIDIADO_ITEM, "
- SQL = SQL & " dbo.FN_SOMA_DESCONTO_SUBSIDIADO(Venda.ID) As DESCONTO_SUBSIDIADO, Venda.OBS AS OBS_Venda, "
- SQL = SQL & " Venda.ID AS Id_Venda, Item_Entrada.NUMERO_SERIE, Venda.QTD_PARCELAS, Venda.RETENCAO, "
- SQL = SQL & " FRANQUIA.DESCRICAO as PLANO, Empresa.Nome_Fantasia as Nome_Empresa, Operadora.Id AS Id_Operadora, "
- SQL = SQL & " Operadora.Descricao AS Nome_Operadora, Item_Venda.Excluido as ItemExcluido, Venda.VLR_TOTAL as VLR_TOTAL, "
- SQL = SQL & " Venda.Acrescimo, Isnull(Item_Venda.Acrescimo,0) AS Acrescimo_Item_Venda, Item_Venda.OBS, "
- SQL = SQL & " Servico_Vinculado.Descricao AS Servico_Vinculado, "
- SQL = SQL & " ISNULL(ITEM_VENDA_SERVICO.EXCLUIDO,0) AS EXCLUIDO_SERVICO_VINCULADO "
- If Id_Pagamento > 0 Then SQL = SQL & " , PAGAMENTO_VENDA.ID_TIPO_PAGAMENTO,TIPO_PAGAMENTO.DESCRICAO"
- SQL = SQL & " FROM ENTRADA INNER JOIN ITEM_ENTRADA ON ENTRADA.ID = ITEM_ENTRADA.ID_ENTRADA LEFT JOIN LOCALIZADOR ON LOCALIZADOR.ID = ITEM_ENTRADA.ID_LOCALIZADOR INNER JOIN PRODUTO ON PRODUTO.ID = ITEM_ENTRADA.ID_PRODUTO INNER JOIN MARCA ON PRODUTO.ID_MARCA = MARCA.ID RIGHT OUTER JOIN PLANO INNER JOIN FRANQUIA ON PLANO.ID = FRANQUIA.ID_PLANO INNER JOIN OPERADORA ON OPERADORA.ID = PLANO.ID_OPERADORA RIGHT OUTER JOIN ITEM_VENDA INNER JOIN EMPRESA ON EMPRESA.ID = ITEM_VENDA.ID_EMPRESA LEFT OUTER JOIN SERVICO ON ITEM_VENDA.ID_SERVICO = SERVICO.ID ON FRANQUIA.ID = ITEM_VENDA.ID_FRANQUIA ON ITEM_ENTRADA.ID = ITEM_VENDA.ID_ITEM_ENTRADA LEFT OUTER JOIN VENDA ON ITEM_VENDA.ID_VENDA = VENDA.ID LEFT OUTER JOIN CLIENTE ON VENDA.ID_CLIENTE = CLIENTE.ID LEFT OUTER JOIN VENDEDOR ON VENDA.ID_VENDEDOR = VENDEDOR.ID"
- SQL = SQL & " LEFT JOIN VENDA VENDA_SERVICO ON VENDA_SERVICO.ID_ITEM_VENDA = ITEM_VENDA.ID LEFT JOIN ITEM_VENDA ITEM_VENDA_SERVICO ON ITEM_VENDA_SERVICO.ID_VENDA = VENDA_SERVICO.ID LEFT JOIN SERVICO SERVICO_VINCULADO ON SERVICO_VINCULADO.ID = ITEM_VENDA_SERVICO.ID_SERVICO"
- If Id_Pagamento > 0 Then SQL = SQL & " INNER JOIN PAGAMENTO_VENDA ON PAGAMENTO_VENDA.ID_VENDA = VENDA.ID INNER JOIN TIPO_PAGAMENTO ON PAGAMENTO_VENDA.ID_TIPO_PAGAMENTO = TIPO_PAGAMENTO.ID"
- SQL = SQL & " WHERE (Venda.Data Between CDate('" & dtInicial & "') And CDate('" & dtFinal & " 23:59:59')) AND Venda.Tipo = 'V' AND VENDA.ID_ITEM_VENDA IS NULL"
- If CInt(filtroVendas) = 1 Then
- SQL = SQL & " AND Venda.Excluido = 0 AND (Item_Venda.Excluido = 0 OR Item_Venda.Excluido = 1 OR Item_Venda.Excluido = 3)"
- ElseIf CInt(filtroVendas) = 2 Then
- SQL = SQL & " AND Venda.Excluido = 1"
- ElseIf CInt(filtroVendas) = 3 Then
- SQL = SQL & " AND Item_venda.Excluido = 3"
- End If
- If idOperadora <> 0 Then SQL = SQL & " AND (Plano.Id_Operadora = " & idOperadora & " OR Plano.Id_Operadora IS NULL) "
- If Id_Cliente > 0 Then SQL = SQL & " AND (Venda.Id_Cliente = " & Id_Cliente & ") "
- If Id_Vendedor > 0 Then SQL = SQL & " AND (Venda.Id_Vendedor = " & Id_Vendedor & ") "
- If Id_Fornecedor > 0 Then SQL = SQL & " AND (Entrada.Id_Fornecedor = " & Id_Fornecedor & ") "
- If Id_Tipo_Produto > 0 Then SQL = SQL & " AND (Produto.Id_Tipo_Produto = " & Id_Tipo_Produto & ") "
- If Id_Produto > 0 Then SQL = SQL & " AND (Item_Entrada.Id_Produto = " & Id_Produto & ") "
- If Id_Pagamento > 0 Then SQL = SQL & " AND (PAGAMENTO_VENDA.ID_TIPO_PAGAMENTO = " & Id_Pagamento & ") "
- SQL = SQL & " AND Venda.Id_Empresa IN (" & Lista_Empresas & ") "
- 'Vendas sem nota
- If CDbl(txtNotaFiscal1.Text) = 0 And CDbl(txtNotaFiscal2.Text) = 0 Then
- SQL = SQL & " AND VENDA.NOTA_FISCAL =' '"
- 'Vendas com nota
- ElseIf CDbl(txtNotaFiscal1.Text) > 0 And (txtNotaFiscal2.Text) > 0 Then
- SQL = SQL & " AND(VENDA.NOTA_FISCAL >= '" & Func.Formata_Numero(txtNotaFiscal1.Text, 6) & "' AND VENDA.NOTA_FISCAL <='" & Func.Formata_Numero(txtNotaFiscal2.Text, 6) & "') "
- End If
- SQL = SQL & " ORDER BY Empresa.Nome_Fantasia, Venda.Data, Venda.Nota_Fiscal, Venda.Id, Item_Entrada.ICCID, Cliente.NOME, Operadora.Descricao, Item_Venda.VLR_UNIT"
- Set oRs = Banco.Executar(SQL)
- ' Se fim de arquivo
- If oRs.EOF Then
- Func.mensagem "Nenhuma venda nesse período.", vbInformation, "Relatório de Vendas detalhadas"
- Gerar = False
- Exit Function
- End If
- Resultado = Resultado & "<HTML>"
- Resultado = Resultado & "<HEAD>"
- Resultado = Resultado & "<title>Relatório de Vendas Detalhadas</title>"
- Resultado = Resultado & "<link rel='stylesheet' type='text/css' href='MPro.css'>"
- Resultado = Resultado & "</HEAD>"
- Resultado = Resultado & "<body>"
- If CDbl(txtNotaFiscal1.Text) >= 0 And CDbl(txtNotaFiscal2.Text) > 0 Then
- Parametros = "Intervalo de Nota Fiscal: " & Func.Formata_Numero(txtNotaFiscal1.Text, 6) & " a " & Func.Formata_Numero(txtNotaFiscal2.Text, 6)
- Else
- Parametros = "Data Inicial: " & mskDataInicial.Text & "|Data Final: " & mskDataFinal
- Parametros = Parametros & "|Operadora: " & cmbOperadora.Text
- End If
- If Check.Value = vbChecked Then
- Parametros = Parametros & "|Sintético"
- Sintetico = True
- Else
- Parametros = Parametros & "|Analítico"
- Sintetico = False
- End If
- Resultado = Resultado & Func.Titulo_Relatorio("Relatório de Vendas Detalhadas", Banco.Obtem_Campo("Empresa", "Nome_Fantasia", "id=" & m_Id_Empresa), m_Usuario, Parametros)
- Total_Devolucao = 0
- ListaDeVendas = ""
- Data = "01/01/1900"
- Resultado = Resultado & "<TABLE cellSpacing='0' cellPadding='3' width='100%' border='0'>"
- TotalBarra = CInt(oRs.RecordCount)
- Barra = 1
- ProgressBar.Min = 1
- ProgressBar.Max = TotalBarra + 1
- ProgressBar.Value = 1
- lblProgresso.Caption = "0% Concluído"
- Cancelar = False
- Func.Habilita cmdCancelar
- ResultadoLinha = ""
- Do Until oRs.EOF
- DoEvents
- ' Quando mudar o dia, escreve o Cabeçalho
- If CDate(oRs("dataVenda")) <> Data Then
- ' Quando mudar o dia e já tiver escrito, totalizo o dia anterior
- If Data <> CDate("01/01/1900") Then
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='8' bgcolor='#000000' heigth='2'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Vendas: </b></td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>R$ " & FormatNumber(totalDia, 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Devoluções: </b></td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>R$ " & FormatNumber(Total_Devolucao_Dia, 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Acréscimos: </b></td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>R$ " & FormatNumber(Total_Acrescimos_Dia, 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Devoluções de Acréscimos: </b></td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>R$ " & FormatNumber(Total_Devolucao_Acrescimos_Dia, 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='7' align='right' style='vertical-align:top'><b>Total do dia " & Data & ": </b></td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>R$ " & FormatNumber((totalDia + Total_Acrescimos_Dia) - Total_Devolucao_Dia, 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- End If
- ' Tarefas ao mudar o dia
- Total_Devolucao_Final = Total_Devolucao_Final + Total_Devolucao_Dia
- Total_Acrescimos_Final = Total_Acrescimos_Final + Total_Acrescimos_Dia
- Total_Devolucao_Acrescimos_Final = Total_Devolucao_Acrescimos_Final + Total_Devolucao_Acrescimos_Dia
- totalPeriodo = totalPeriodo + totalDia
- totalDia = 0
- Total_Acrescimos_Dia = 0
- Total_Devolucao_Dia = 0
- Total_Devolucao_Acrescimos_Dia = 0
- ResultadoLinha = ResultadoLinha & "<tr bgcolor='#FFFFDD'>"
- ResultadoLinha = ResultadoLinha & " <td colspan='8'><b>Data: </b>" & Func.Formata_Data_Interface(oRs("dataVenda")) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='8' bgcolor='#000000' heigth='2'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- Data = oRs("dataVenda")
- End If
- ' Quando mudar a venda, escreve o Cabeçalho
- If CDbl(oRs("Id_venda")) <> Id_venda Then
- ' Tarefas ao mudar a Venda
- Total_Acrescimos = 0
- Total_Devolucao = 0
- Total_Devolucao_Acrescimo = 0
- ' Pegar o Total da Venda
- totalVenda = (CDbl(oRs("VLR_TOTAL")) - CDbl(oRs("DESCONTO")))
- ' SQL = "SELECT VLR_UNIT, DESCONTO, EXCLUIDO FROM ITEM_VENDA WHERE ID_VENDA = " & oRs("ID_VENDA")
- ' Set oRs3 = Banco.Executar(SQL)
- ' totalVenda = 0
- ' Do Until oRs3.EOF
- ' If oRs3("EXCLUIDO") = 0 Or oRs3("EXCLUIDO") = 3 Or CInt(filtroVendas) = 2 Then
- ' totalVenda = totalVenda + (CDbl(oRs3("VLR_UNIT")) - CDbl(oRs3("DESCONTO")))
- ' End If
- ' oRs3.MoveNext
- ' Loop
- ' oRs3.Close
- Id_venda = oRs("Id_venda")
- ListaDeVendas = ListaDeVendas & Id_venda & ","
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='8' bgcolor='#000000' heigth='2'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='8' bgcolor='#ffffff' heigth='1'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- If Sintetico Then
- ResultadoLinha = ResultadoLinha & "<tr><td colspan='8'>"
- Else
- ResultadoLinha = ResultadoLinha & "<tr bgcolor='#F0F0F0'><td colspan='8'>"
- End If
- ResultadoLinha = ResultadoLinha & "<table width='100%' align='left' cellpadding='3' cellspacing='0' border='0'>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td width='30%'><b>Revenda: </b>" & oRs("Nome_Empresa") & "</td>"
- If IsNull(oRs("Data_Hora_Cupom")) Then
- ResultadoLinha = ResultadoLinha & " <td width='15%'><b>Venda:</b> " & IIf(Len(oRs("Nota_Fiscal")) = 0, oRs("Id"), oRs("Nota_Fiscal")) & "</td>"
- Else
- ResultadoLinha = ResultadoLinha & " <td width='15%'><b>Venda:</b> " & IIf(Len(oRs("Nota_Fiscal")) = 0, oRs("Id"), oRs("Nota_Fiscal")) & " " & Func.Formata_Numero(Hour(oRs("Data_Hora_Cupom")), 2) & ":" & Func.Formata_Numero(Minute(oRs("Data_Hora_Cupom")), 2) & ":" & Func.Formata_Numero(Second(oRs("Data_Hora_Cupom")), 2) & "</td>"
- End If
- ResultadoLinha = ResultadoLinha & " <td width='25%'><b>Cliente:</b> " & oRs("Cliente") & "</td>"
- ResultadoLinha = ResultadoLinha & " <td width='30%' align='right'><b>Vendedor:</b> " & oRs("Vendedor") & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- If Not IsNull(oRs("Retencao")) Then
- ResultadoLinha = ResultadoLinha & " <td colspan='2'><b>Retenção:</b> R$ " & FormatNumber(oRs("Retencao"), 2)
- Else
- ResultadoLinha = ResultadoLinha & " <td colspan='2'><b>Retenção:</b> R$ 0,00"
- End If
- If oRs("Finalizada") = 0 Then
- ResultadoLinha = ResultadoLinha & "<font color='red'><b> Não finalizada *</b></font> </td>"
- Else
- ResultadoLinha = ResultadoLinha & "</td>"
- End If
- If Not IsNull(oRs("Acrescimo")) Then
- ResultadoLinha = ResultadoLinha & " <td id='acrescimo_" & oRs("Id_Venda") & "'><b>Acréscimos: </b> R$ " & FormatNumber(oRs("Acrescimo"), 2) & "</td>"
- Total_Acrescimos = CDbl(oRs("Acrescimo"))
- Total_Acrescimos_Dia = Total_Acrescimos_Dia + Total_Acrescimos
- AcrescimoVenda = CDbl(oRs("Acrescimo"))
- Else
- ResultadoLinha = ResultadoLinha & " <td><b>Acréscimos:</b> 0,00% (R$ 0,00)</td>"
- AcrescimoVenda = 0
- End If
- ResultadoLinha = ResultadoLinha & " <td align='right' id='total_" & oRs("Id_Venda") & "'><b>Total: </b> R$ " & FormatNumber(CDbl(totalVenda + AcrescimoVenda), 2)
- ResultadoLinha = ResultadoLinha & " </td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='2'>"
- If IsNull(oRs("Obs_Venda")) Then
- ResultadoLinha = ResultadoLinha & " "
- Else
- If oRs("Obs_Venda") = "" Then
- ResultadoLinha = ResultadoLinha & " "
- Else
- ResultadoLinha = ResultadoLinha & "<b>Observações:</b> " & oRs("Obs_Venda")
- End If
- End If
- '-------------------------------------------------------------------------------------
- 'Adiciona linha para mostrar oferta------atualização 10/10/2013-------Petrony Pimentel
- SQLDivulgacao = "SELECT DESCRICAO FROM DIVULGACAO_VENDA "
- SQLDivulgacao = SQLDivulgacao & "INNER JOIN DIVULGACAO ON DIVULGACAO.ID = DIVULGACAO_VENDA.ID_DIVULGACAO "
- SQLDivulgacao = SQLDivulgacao & "WHERE DIVULGACAO_VENDA.ID_VENDA = " & oRs("Id_Venda")
- Set oRsDivulgacao = Banco.Executar(SQLDivulgacao)
- If Not oRsDivulgacao.EOF Then
- ResultadoLinha = ResultadoLinha & "<p style='margin-top:7px;'><b>Divulgação:</b> " & oRsDivulgacao("DESCRICAO") & "</p> "
- End If
- oRsDivulgacao.Close
- '-------------------------------------------------------------------------------------
- ResultadoLinha = ResultadoLinha & " </td>"
- ResultadoLinha = ResultadoLinha & " <td align='left'><b>Desc. da Loja:</b> R$ " & FormatNumber(oRs("DESCONTO") - oRs("DESCONTO_SUBSIDIADO"), 2)
- If Len(oRs("Usuario_Autorizacao")) > 0 Then
- If InStr(1, oRs("Usuario_Autorizacao"), "/") > 0 Then
- If Len(Mid(oRs("Usuario_Autorizacao"), InStr(1, oRs("Usuario_Autorizacao"), "/") + 1, Len(oRs("Usuario_Autorizacao")))) > 1 Then
- ResultadoLinha = ResultadoLinha & "<br>(Desconto com autorização)"
- End If
- End If
- End If
- ResultadoLinha = ResultadoLinha & "</td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'><b>Desc. Subsidiado:</b> R$ " & FormatNumber(oRs("DESCONTO_SUBSIDIADO"), 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "</table>"
- ResultadoLinha = ResultadoLinha & "</td></tr>"
- totalDia = totalDia + totalVenda ' + Total_Acrescimos
- If Not Sintetico Then
- If Not IsNull(oRs("Servico")) Then
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td width='20%'><b>Serviço</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='20%'></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%'></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%'></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%' align='left'><b>Obs</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%' align='right'><b>Valor</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%' align='right'><b>Desconto</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%' align='right'><b>Total</b></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- Else
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td width='20%'><b>Marca/Referência/Produto</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='20%'><b>Localizador</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='10%'><b>Plano:Operadora</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='17%'><b>Nº Série</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='15%' align='left'><b>Obs</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='6%' align='right'><b>Valor</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='6%' align='right'><b>Desconto</b></td>"
- ResultadoLinha = ResultadoLinha & " <td width='6%' align='right'><b>Total</b></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- End If
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='8' bgcolor='#cccccc' heigth='1'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- End If
- End If
- ' Tiro o valor do item devolvido
- If oRs("ItemExcluido") = "3" Then
- Total_Devolucao = (CDbl(oRs("Vlr_Unit")) + (CDbl(oRs("Acrescimo_Item_Venda")) - CDbl(oRs("item_Desconto"))))
- If Not IsNull(oRs("Acrescimo")) Then
- If CDbl(oRs("acrescimo")) > 0 Then
- 'Total_Devolucao_Acrescimo = Total_Devolucao_Acrescimo + (Total_Devolucao * (CDbl(oRs("Acrescimo")) / 100))
- 'Total_Devolucao = Total_Devolucao + (Total_Devolucao * (CDbl(oRs("Acrescimo")) / 100))
- End If
- End If
- Total_Devolucao_Dia = Total_Devolucao_Dia + Total_Devolucao
- 'Total_Devolucao_Acrescimos_Dia = Total_Devolucao_Acrescimos_Dia + Total_Devolucao_Acrescimo
- End If
- ' Escreve os Itens da Venda
- If Not Sintetico Then
- 'Se o Id_Anterior for igual o oRs("Id"), escrevo somente o serviço vinculado
- If Id_Anterior <> oRs("Id") Then
- ResultadoLinha = ResultadoLinha & "<tr "
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & " bgcolor='#ffffff' style='text-decoration: line-through;' "
- ResultadoLinha = ResultadoLinha & ">"
- If Not IsNull(oRs("servico")) Then
- 'Verifica se esta removido pela tela de alterar venda, se estiver coloca na cor vermelha
- If oRs("itemEXCLUIDO") = 0 Then
- '
- ' If oRs("Numero_Celular") = "7777777777" Then
- ' MsgBox "ok"
- ' End If
- 'Escreve o historico de numeros que foram alterados
- sqlHistorico = "SELECT NUMERO_CELULAR_ANTIGO FROM HISTORICO_ITEM_VENDA WHERE ID_ITEM_VENDA = " & oRs("ID") & " ORDER BY DATA_INCLUSAO DESC"
- Set orsHistorico = Banco.Executar(sqlHistorico)
- If Not orsHistorico.EOF Then
- While Not orsHistorico.EOF
- If Len(Trim(numerosAnterior)) = 0 Then
- numerosAnterior = "Nº Anterior(" & orsHistorico("NUMERO_CELULAR_ANTIGO")
- Else
- numerosAnterior = numerosAnterior & ", " & orsHistorico("NUMERO_CELULAR_ANTIGO")
- End If
- orsHistorico.MoveNext
- Wend
- numerosAnterior = numerosAnterior & ")"
- End If
- orsHistorico.Close
- ResultadoLinha = ResultadoLinha & "<td colspan='2'>" & oRs("Servico") & "</td>"
- ResultadoLinha = ResultadoLinha & "<td colspan='2'>Numero do Celular: " & oRs("Numero_Celular") & " " & numerosAnterior & "</td>"
- 'ResultadoLinha = ResultadoLinha & "<td colspan='5'><font color='green'>SERVIÇO VINCULADO: " & oRs("Servico_Vinculado") & "</font>"
- ElseIf oRs("itemEXCLUIDO") = 1 Then
- ResultadoLinha = ResultadoLinha & "<td colspan='2' style='text-decoration: line-through;' >" & oRs("Servico") & "</td>"
- ResultadoLinha = ResultadoLinha & "<td colspan='2' style='text-decoration: line-through;' >Numero do Celular: " & oRs("Numero_Celular") & "</td>"
- 'ResultadoLinha = ResultadoLinha & "<td colspan='5' style='text-decoration: line-through;' ><font bgcolor='#cccccc'>SERVIÇO VINCULADO REMOVIDO: " & oRs("Servico_Vinculado") & "</font>"
- End If
- numerosAnterior = ""
- Else
- ResultadoLinha = ResultadoLinha & "<td>"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>DEVOLVIDO - "
- If Not IsNull(oRs("Modelo")) Then ResultadoLinha = ResultadoLinha & oRs("Modelo")
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "</i>"
- ResultadoLinha = ResultadoLinha & "</td>"
- ResultadoLinha = ResultadoLinha & "<td>"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>"
- ResultadoLinha = ResultadoLinha & oRs("Endereco_Localizador")
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "</i>"
- ResultadoLinha = ResultadoLinha & "</td>"
- ResultadoLinha = ResultadoLinha & "<td><div style='width: 150px;' class='reticencias'><nobr>"
- If Not IsNull(oRs("Plano")) Then
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>"
- ResultadoLinha = ResultadoLinha & Trim(Replace(oRs("Plano"), "BRASIL", "")) & ": <b>" & oRs("Nome_Operadora") & "</b>"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "</i>"
- End If
- ResultadoLinha = ResultadoLinha & "</nobr></div></td>"
- ResultadoLinha = ResultadoLinha & " <td>"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>"
- If Not IsNull(oRs("iccid")) Then
- ResultadoLinha = ResultadoLinha & oRs("iccid") & " (" & oRs("Numero_Celular") & ") "
- If Len(oRs("Numero_Celular_Provisorio")) > 0 Then
- ResultadoLinha = ResultadoLinha & "<br /><font color=""red"">Nº Provisório (" & oRs("Numero_Celular_Provisorio") & ")</font>"
- End If
- 'Escreve o historico de numeros que foram alterados
- sqlHistorico = "SELECT NUMERO_CELULAR_ANTIGO FROM HISTORICO_ITEM_VENDA WHERE ID_ITEM_VENDA = " & oRs("ID") & " ORDER BY DATA_INCLUSAO DESC"
- Set orsHistorico = Banco.Executar(sqlHistorico)
- If Not orsHistorico.EOF Then
- While Not orsHistorico.EOF
- ResultadoLinha = ResultadoLinha & "<br /><font style='text-decoration: line-through;' >Nº Anterior (" & orsHistorico("NUMERO_CELULAR_ANTIGO") & ")</font>"
- orsHistorico.MoveNext
- Wend
- End If
- orsHistorico.Close
- ElseIf Not IsNull(oRs("imei")) Then
- ResultadoLinha = ResultadoLinha & oRs("imei")
- If Len(oRs("ICCID_VENDA")) > 0 And oRs("Avulso") = "1" Then
- ResultadoLinha = ResultadoLinha & "<br /><font color=""blue""><u>" & oRs("ICCID_VENDA") & " (" & oRs("Numero_Celular") & ")</u></font>"
- End If
- If Banco.Obtem_Campo("OPERADORA", "Tecnologia", "Id = " & oRs("Id_Operadora")) = "2" Then
- ResultadoLinha = ResultadoLinha & " (" & oRs("Numero_Celular") & ") "
- End If
- 'Escreve o historico de numeros que foram alterados
- sqlHistorico = "SELECT NUMERO_CELULAR_ANTIGO FROM HISTORICO_ITEM_VENDA WHERE ID_ITEM_VENDA = " & oRs("ID") & " ORDER BY DATA_INCLUSAO DESC"
- Set orsHistorico = Banco.Executar(sqlHistorico)
- If Not orsHistorico.EOF Then
- While Not orsHistorico.EOF
- ResultadoLinha = ResultadoLinha & "<br /><font style='text-decoration: line-through;' >Nº Anterior (" & orsHistorico("NUMERO_CELULAR_ANTIGO") & ")</font>"
- orsHistorico.MoveNext
- Wend
- End If
- orsHistorico.Close
- If Len(oRs("Numero_Celular_Provisorio")) > 0 Then
- ResultadoLinha = ResultadoLinha & "<br /><font color=""red"">Nº Provisório (" & oRs("Numero_Celular_Provisorio") & ")</font>"
- End If
- ElseIf Not IsNull(oRs("Numero_Serie")) Then
- ResultadoLinha = ResultadoLinha & oRs("Numero_Serie")
- End If
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "</i>"
- ResultadoLinha = ResultadoLinha & " </td>"
- End If
- ResultadoLinha = ResultadoLinha & " <td align='left'>" & oRs("obs") & "</td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>"
- If oRs("ItemExcluido") = "3" Then
- ResultadoLinha = ResultadoLinha & "<i>("
- End If
- ResultadoLinha = ResultadoLinha & FormatNumber(oRs("Vlr_Unit"), 2)
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & ")</i>"
- ResultadoLinha = ResultadoLinha & " </td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'"
- If Len(oRs("Usuario_Autorizacao")) > 0 Then
- If Len(Mid(oRs("Usuario_Autorizacao"), InStr(1, oRs("Usuario_Autorizacao"), "/"), Len(oRs("Usuario_Autorizacao")))) > 1 Then
- ResultadoLinha = ResultadoLinha & " title='(Autorizado Por: " & Func.Formata_Nome(Mid(oRs("Usuario_Autorizacao"), InStr(1, oRs("Usuario_Autorizacao"), "/") + 1, Len(oRs("Usuario_Autorizacao")))) & ")'"
- End If
- End If
- ResultadoLinha = ResultadoLinha & ">"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>("
- ResultadoLinha = ResultadoLinha & FormatNumber(oRs("item_Desconto") - oRs("DESCONTO_SUBSIDIADO_ITEM"), 2)
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & ")</i>"
- ResultadoLinha = ResultadoLinha & " </td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>("
- ResultadoLinha = ResultadoLinha & FormatNumber(CDbl(oRs("Vlr_Unit")) - CDbl(oRs("item_Desconto")), 2)
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & ")</i>"
- ResultadoLinha = ResultadoLinha & " </td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- End If
- ' Descontos Subsidiados:
- SQL = "SELECT S.DESCRICAO, I.VALOR FROM ITEM_VENDA_SUBSIDIO I INNER JOIN SUBSIDIO S ON S.ID = I.ID_SUBSIDIO WHERE I.ID_ITEM_VENDA = 0" & oRs("id")
- Set oRs2 = Banco.Executar(SQL, False)
- While Not oRs2.EOF
- ResultadoLinha = ResultadoLinha & "<tr"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & " style='text-decoration: line-through;'"
- ResultadoLinha = ResultadoLinha & ">"
- ResultadoLinha = ResultadoLinha & "<td colspan='6'> </td>"
- ResultadoLinha = ResultadoLinha & "<td align='right'>"
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "<i>"
- ResultadoLinha = ResultadoLinha & oRs2("DESCRICAO") & ": "
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & "("
- ResultadoLinha = ResultadoLinha & FormatNumber(oRs2("VALOR"), 2)
- If oRs("ItemExcluido") = "3" Then ResultadoLinha = ResultadoLinha & ")</i>"
- ResultadoLinha = ResultadoLinha & "</td>"
- ResultadoLinha = ResultadoLinha & "<td> </td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- oRs2.MoveNext
- Wend
- oRs2.Close
- ' Serviços Vinculados:
- If Not IsNull(oRs("Servico_Vinculado")) Then
- If Len(oRs("Servico_Vinculado")) > 0 Then
- ResultadoLinha = ResultadoLinha & "<tr><td colspan='3'> </td>"
- 'Verifica se esta removido pela tela de alterar venda, se estiver coloca na cor vermelha
- If oRs("EXCLUIDO_SERVICO_VINCULADO") = 0 Then
- ResultadoLinha = ResultadoLinha & "<td colspan='5'><font color='green'>SERVIÇO VINCULADO: " & oRs("Servico_Vinculado") & "</font>"
- ElseIf oRs("EXCLUIDO_SERVICO_VINCULADO") = 1 Then
- ResultadoLinha = ResultadoLinha & "<td colspan='5' style='text-decoration: line-through;' ><font bgcolor='#cccccc'>SERVIÇO VINCULADO REMOVIDO: " & oRs("Servico_Vinculado") & "</font>"
- End If
- ResultadoLinha = ResultadoLinha & "</td>"
- ResultadoLinha = ResultadoLinha & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- End If
- End If
- Id_Anterior = oRs("Id")
- End If
- oRs.MoveNext
- ' Se mudou a Venda ou é EOF, escreve a Forma de Pagamento
- EscreveFormaPgto = False
- If Not oRs.EOF Then
- If CDbl(oRs("Id_venda")) <> Id_venda Then
- EscreveFormaPgto = True
- End If
- Else
- EscreveFormaPgto = True
- End If
- If EscreveFormaPgto And Not Sintetico Then
- SQL = "SELECT PAGAMENTO_VENDA.VALOR, PAGAMENTO_VENDA.DATA, TIPO_PAGAMENTO.DESCRICAO"
- SQL = SQL & " FROM PAGAMENTO_VENDA INNER JOIN"
- SQL = SQL & " TIPO_PAGAMENTO ON PAGAMENTO_VENDA.ID_TIPO_PAGAMENTO = TIPO_PAGAMENTO.ID"
- SQL = SQL & " WHERE (PAGAMENTO_VENDA.ID_VENDA = " & Id_venda & ")"
- SQL = SQL & " ORDER BY TIPO_PAGAMENTO.DESCRICAO, PAGAMENTO_VENDA.Data"
- Set oRs2 = Banco.Executar(SQL)
- If Not oRs2.EOF Then
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='5' bgcolor='#ffffff' heigth='1'></td>"
- ResultadoLinha = ResultadoLinha & " <td colspan='3' bgcolor='#cccccc' heigth='1'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='5'> </td>"
- ResultadoLinha = ResultadoLinha & " <td bgcolor='#F0F0F0'><b>Vencimento</b></td>"
- ResultadoLinha = ResultadoLinha & " <td bgcolor='#F0F0F0'><b>Tipo</b></td>"
- ResultadoLinha = ResultadoLinha & " <td bgcolor='#F0F0F0' align='right'><b>Valor (R$)</b></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- TotalPagamento = 0
- While Not oRs2.EOF
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='5'> </td>"
- ResultadoLinha = ResultadoLinha & " <td>" & Func.Formata_Data_Interface(oRs2("Data")) & "</td>"
- ResultadoLinha = ResultadoLinha & " <td>" & oRs2("Descricao") & "</td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'>" & FormatNumber(oRs2("Valor"), 2) & "</td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='5' bgcolor='#ffffff' heigth='1'></td>"
- ResultadoLinha = ResultadoLinha & " <td colspan='3' bgcolor='#cccccc' heigth='1'></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- TotalPagamento = TotalPagamento + CDbl(oRs2("Valor"))
- oRs2.MoveNext
- Wend
- ResultadoLinha = ResultadoLinha & "<tr>"
- ResultadoLinha = ResultadoLinha & " <td colspan='7' align='right'>Total:</td>"
- ResultadoLinha = ResultadoLinha & " <td align='right'><b>" & FormatNumber(TotalPagamento, 2) & "</b></td>"
- ResultadoLinha = ResultadoLinha & "</tr>"
- End If
- End If
- Barra = Barra + 1
- DoEvents
- ProgressBar.Value = Barra
- lblProgresso.Caption = FormatNumber((ProgressBar.Value * 100) / ProgressBar.Max, 0) & "% Concluído (" & ProgressBar.Value & " de " & ProgressBar.Max & " itens)"
- If Cancelar Then
- Exit Do
- End If
- Resultado = Resultado & ResultadoLinha
- ResultadoLinha = ""
- Loop
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td colspan='8' bgcolor='#000000' heigth='2'></td>"
- Resultado = Resultado & "</tr>"
- ' Quando mudar o dia e já tiver escrito, totalizo o dia
- If chkResumo.Value Then
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td colspan='7' width='90%' align='right' style='vertical-align:top'><b>Total de Vendas: </b></td>"
- Resultado = Resultado & " <td align='right'>R$ " & FormatNumber(totalDia, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Devoluções: </b></td>"
- Resultado = Resultado & " <td align='right'>R$ " & FormatNumber(Total_Devolucao_Dia, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Acréscimos: </b></td>"
- Resultado = Resultado & " <td align='right'>R$ " & FormatNumber(Total_Acrescimos_Dia, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td colspan='7' align='right' style='vertical-align:top'><b>Total de Devoluções de Acréscimos: </b></td>"
- Resultado = Resultado & " <td align='right'>R$ " & FormatNumber(Total_Devolucao_Acrescimos_Dia, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td colspan='7' align='right' style='vertical-align:top'><b>Total do dia " & Data & ": </b></td>"
- Resultado = Resultado & " <td align='right'>R$ " & FormatNumber((totalDia + Total_Acrescimos_Dia) - Total_Devolucao_Dia, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- End If
- ' Tarefas ao mudar o dia
- Total_Devolucao_Final = Total_Devolucao_Final + Total_Devolucao_Dia
- Total_Acrescimos_Final = Total_Acrescimos_Final + Total_Acrescimos_Dia
- Total_Devolucao_Acrescimos_Final = Total_Devolucao_Acrescimos_Final + Total_Devolucao_Acrescimos_Dia
- totalPeriodo = totalPeriodo + totalDia
- totalDia = 0
- Total_Acrescimos_Dia = 0
- Total_Devolucao_Dia = 0
- Total_Devolucao_Acrescimos_Dia = 0
- Resultado = Resultado & "</TABLE>"
- ' Totalizador - Aparecer somente em 'Vendas Realizadas'
- If chkResumo.Value Then
- If CInt(filtroVendas) = 1 Then
- SQL = "SELECT Id, Descricao FROM Tipo_Pagamento ORDER BY Descricao, Id"
- Set oRs = Banco.Executar(SQL)
- If Not oRs.EOF Then
- Resultado = Resultado & "<br>"
- Resultado = Resultado & "<TABLE cellSpacing='0' cellPadding='3' width='100%' border='0'>"
- Resultado = Resultado & "<tr><td colspan='6' style='color:#808080;font-size:8pt'>O Totalizador abaixo, por Tipo de Pagamento, refere-se apenas as vendas finalizadas.</td></tr>"
- Resultado = Resultado & "<tr><td colspan='6' bgcolor='#000000' heigth='1'></td></tr>"
- Do Until oRs.EOF
- 'Primeiro, pegar os valores da entrada referente ao tipo do pagamento -> Dinheiro, Cheque ou Cartão
- SQL = "SELECT DISTINCT VENDA.ID, Venda.vlr_Entrada AS ValorEntrada"
- SQL = SQL & " FROM PLANO RIGHT JOIN (FRANQUIA RIGHT JOIN (Venda INNER JOIN ITEM_VENDA ON Venda.ID = ITEM_VENDA.ID_VENDA) ON FRANQUIA.ID = ITEM_VENDA.ID_FRANQUIA) ON PLANO.ID = FRANQUIA.ID_PLANO "
- SQL = SQL & " WHERE Venda.Data Between CDate('" & dtInicial & "') And CDate('" & dtFinal & " 23:59:59') AND (item_venda.Excluido=0 OR item_venda.Excluido=3) AND Venda.Tipo='V'"
- SQL = SQL & " AND Venda.Id_Tipo_Pagamento_Entrada=" & oRs("id") & " AND Venda.Id_Empresa IN (" & Lista_Empresas & ") AND item_venda.vlr_unit - item_venda.desconto > 0 "
- If idOperadora <> 0 Then SQL = SQL & " AND (plano.id_operadora = " & idOperadora & " or plano.Id_Operadora IS NULL) "
- Set oRs2 = Banco.Executar(SQL)
- If Not oRs2.EOF Then
- While Not oRs2.EOF
- If Not IsNull(oRs2("ValorEntrada")) Then Valor = Valor + CDbl(oRs2("ValorEntrada"))
- oRs2.MoveNext
- Wend
- End If
- oRs2.Close
- 'Em seguida pegar e calcular os valores das parcelas
- SQL = "SELECT distinct venda.id, Venda.vlr_total+(Venda.Acrescimo) AS ValorTotal, Venda.vlr_Entrada AS ValorEntrada, Venda.Desconto AS ValorDesconto"
- SQL = SQL & " FROM PLANO RIGHT JOIN (FRANQUIA RIGHT JOIN (Venda INNER JOIN ITEM_VENDA ON Venda.ID = ITEM_VENDA.ID_VENDA) ON FRANQUIA.ID = ITEM_VENDA.ID_FRANQUIA) ON PLANO.ID = FRANQUIA.ID_PLANO "
- SQL = SQL & " WHERE Venda.Data Between CDate('" & dtInicial & "') And CDate('" & dtFinal & " 23:59:59') AND (item_venda.Excluido=0 OR item_venda.Excluido=3) AND Venda.Tipo='V'"
- SQL = SQL & " AND Venda.Id_Tipo_Pagamento_Parcelas=" & oRs("id") & " AND Venda.Id_Empresa IN (" & Lista_Empresas & ") "
- If idOperadora <> 0 Then SQL = SQL & " AND (Plano.Id_Operadora = " & idOperadora & " or plano.Id_Operadora IS NULL) "
- SQL = SQL & " AND ITEM_VENDA.VLR_UNIT <> ITEM_VENDA.DESCONTO "
- Set oRs2 = Banco.Executar(SQL)
- If Not oRs2.EOF Then
- While Not oRs2.EOF
- If Not IsNull(oRs2("ValorTotal")) Then Valor = Valor + (oRs2("ValorTotal") - oRs2("ValorDesconto") - oRs2("ValorEntrada"))
- oRs2.MoveNext
- Wend
- End If
- oRs2.Close
- ' Para as vendas realizadas no novo modelo:
- 'If Mid(ListaDeVendas, Len(ListaDeVendas), 1) = "," Then ListaDeVendas = Left(ListaDeVendas, Len(ListaDeVendas) - 1)
- If Right(ListaDeVendas, 1) = "," Then ListaDeVendas = Left(ListaDeVendas, Len(ListaDeVendas) - 1)
- SQL = "SELECT SUM(VALOR) AS ValorTotal FROM PAGAMENTO_VENDA WHERE ID_VENDA IN (" & ListaDeVendas & ") AND ID_TIPO_PAGAMENTO = " & oRs("id")
- Set oRs2 = Banco.Executar(SQL)
- If Not oRs2.EOF Then
- If Not IsNull(oRs2("ValorTotal")) Then Valor = Valor + CDbl(oRs2("ValorTotal"))
- End If
- oRs2.Close
- If Not IsNull(Valor) Then
- If cor = "#ffffff" Then
- cor = "#efefef"
- Else
- cor = "#ffffff"
- End If
- Resultado = Resultado & "<tr bgcolor='" & cor & "'>"
- Resultado = Resultado & "<td width='150'>" & oRs("descricao") & "</td>"
- Resultado = Resultado & "<td colspan='5'>R$ " & FormatNumber(Valor, 2) & "</td></tr>"
- End If
- 'ValorTotal = ValorTotal + CDbl(valor)
- Valor = 0
- oRs.MoveNext
- Loop
- Resultado = Resultado & "<tr><td colspan='6' bgcolor='#000000' heigth='1'></td></tr>"
- ' total de vendas
- Resultado = Resultado & "<tr bgcolor='#efefef'>"
- Resultado = Resultado & " <td ><b>Total de Vendas: </b></td>"
- Resultado = Resultado & " <td colspan='5'>R$ " & FormatNumber(totalPeriodo, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- ' devoluções
- Resultado = Resultado & "<tr bgcolor='#efefef'>"
- Resultado = Resultado & " <td><b>Total de Devoluções: </b></td>"
- Resultado = Resultado & " <td colspan='5'>R$ " & FormatNumber(Total_Devolucao_Final, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- ' acréscimos
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td><b>Total de Acréscimos: </b></td>"
- Resultado = Resultado & " <td colspan='5'>R$ " & FormatNumber(Total_Acrescimos_Final, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- ' devoluções de acréscimos
- Resultado = Resultado & "<tr bgcolor='#efefef'>"
- Resultado = Resultado & " <td><b>Total de Devoluções de Acréscimos: </b></td>"
- Resultado = Resultado & " <td colspan='5'>R$ " & FormatNumber(Total_Devolucao_Acrescimos_Final, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- ' total final
- Resultado = Resultado & "<tr>"
- Resultado = Resultado & " <td><b>Total do Período: </b></td>"
- Resultado = Resultado & " <td colspan='5'>R$ " & FormatNumber((totalPeriodo + Total_Acrescimos_Final) - Total_Devolucao_Final, 2) & "</td>"
- Resultado = Resultado & "</tr>"
- Resultado = Resultado & "</TABLE>"
- End If
- End If
- 'Resumo de vendas e serviço por empresa
- SQL = "SELECT COUNT(ITEM_VENDA.ID) AS QTDE, EMPRESA.ID AS ID_EMPRESA, EMPRESA.NOME_FANTASIA, Produto.MODELO + ' / ' + ISNULL(CAST(Produto.referencia AS NVARCHAR),'') AS Produto,"
- SQL = SQL & " Servico.DESCRICAO AS Servico, SUM(Item_Venda.VLR_UNIT) - SUM(ISNULL(ITEM_VENDA.DESCONTO,0)) + SUM(ISNULL(ITEM_VENDA.ACRESCIMO,0)) AS VALOR"
- SQL = SQL & " FROM VENDA"
- SQL = SQL & " LEFT JOIN ITEM_VENDA ON ITEM_VENDA.ID_VENDA = VENDA.ID"
- SQL = SQL & " LEFT JOIN ITEM_ENTRADA ON ITEM_ENTRADA.ID = ITEM_VENDA.ID_ITEM_ENTRADA"
- SQL = SQL & " LEFT JOIN PRODUTO ON PRODUTO.ID = ITEM_ENTRADA.ID_PRODUTO"
- SQL = SQL & " LEFT JOIN EMPRESA ON EMPRESA.ID = ITEM_VENDA.ID_EMPRESA"
- SQL = SQL & " LEFT JOIN SERVICO ON SERVICO.ID = ITEM_VENDA.ID_SERVICO"
- SQL = SQL & " LEFT JOIN CLIENTE ON CLIENTE.ID = VENDA.ID_CLIENTE"
- SQL = SQL & " LEFT JOIN VENDEDOR ON VENDA.ID_VENDEDOR = VENDEDOR.ID"
- SQL = SQL & " WHERE Venda.ID IN (" & ListaDeVendas & ")"
- If Id_Tipo_Produto > 0 Then SQL = SQL & " AND PRODUTO.ID_TIPO_PRODUTO = " & Id_Tipo_Produto 'Filtra tipo de produto
- If filtroVendas = 1 Then SQL = SQL & " AND ITEM_VENDA.EXCLUIDO = 0 " 'Traz somente os produtos não devolvidos
- SQL = SQL & " GROUP BY EMPRESA.ID, EMPRESA.NOME_FANTASIA, Produto.MODELO, Produto.referencia, Servico.DESCRICAO"
- SQL = SQL & " ORDER BY EMPRESA.NOME_FANTASIA, Produto.MODELO, SERVICO.DESCRICAO"
- lblProgresso.Caption = "Aguarde... (gerando resumo de vendas)"
- DoEvents
- Resultado = Resultado & Resumo_Vendas(SQL, Banco)
- End If
- If filtroVendas = 2 Then
- Resultado = Resultado & "<table border=0 width=100% align=left><tr><td><font color=red>* Venda não finalizada, foi cancelada na janela de Vendas Pendentes.<br> </font></td></tr></table><br>"
- Else
- Resultado = Resultado & "<table border=0 width=100% align=left><tr><td><font color=red>* Venda ainda pendente de finalização.<br> </font></td></tr></table><br>"
- End If
- Resultado = Resultado & "<br>"
- Resultado = Resultado & "<script language='javascript'>window.focus()</script>"
- Resultado = Resultado & Func.Rodape_Relatorio(m_Usuario)
- Resultado = Resultado & "</body>"
- Resultado = Resultado & "</HTML>"
- If Func.Gera_Relatorio_Arquivo(Resultado) And Not Cancelar Then
- frmBrowser.Show
- frmBrowser.brwWebBrowser.navigate App.Path & "\RELATORIO.HTM"
- End If
- TotalBarra = 0
- Barra = 0
- lblProgresso.Caption = ""
- ProgressBar.Value = 1
- Func.Desabilita cmdCancelar
- '/* End Error Handler
- Gerar_Done:
- Call mProcStack.ExitProc("Gerar")
- Exit Function
- HandleError:
- Func.Desabilita cmdCancelar
- Gerar = False
- Process_Error MODULE_NAME, Err, "Gerar"
- Resume Gerar_Done
- End Function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement