NOTAS FISCAIS

USUARIO.EXCLUIDOS 19/05/2004 09:56:12
#25447
Bom dia ! Alguem tem um módulo de exemplo, para impressão de notas fiscais em formulário contínuo ? sou iniciante em impressão de notas não tenho noção de como criar os forms, controles a serem usados ... Ah preciso tambem de ajuda para entender como funciona "natureza de operações" na hora da emissão !!

sds,

Clóvis Amaral
ANDRERP 19/05/2004 10:04:47
#25449
Resposta escolhida

Printer.FontName = "Courier New"
Printer.FontSize = 8
Printer.PaperSize = vbPRPSLetter

Printer.ScaleMode = vbMillimeters

Printer.CurrentY = 3
Printer.CurrentX = 0
Printer.Print Tab(IIf(optSaida.Value = True, 76, 90)); "X"; Tab(100); Spc((22 - Len(lblNumNF)) / 2); lblNumNF
Printer.CurrentY = 23
Printer.CurrentX = 0
Printer.Print Mid(lblNomCFOP, 9, Len(lblNomCFOP)); Tab(39); Spc((15 - Len(lblNomCFOP)) / 2); Mid(lblNomCFOP, 1, 5)
Printer.CurrentY = 37
Printer.CurrentX = 0
Printer.Print lblNome; Tab(75); lblCNPJ_CPF; Tab(100); Spc((22 - Len(lblDtaEmissao)) / 2); lblDtaEmissao
Printer.CurrentY = 46
Printer.CurrentX = 0
Printer.Print lblEndereco; Tab(66); lblBairro; Tab(87); lblCEP; Tab(100); Spc((22 - Len(txtDataSE)) / 2); txtDataSE
Printer.CurrentY = 54
Printer.CurrentX = 0
Printer.Print lblCidade; Tab(48); lblTelefone; Tab(69); lblUF; Tab(75); lblIE_RG; Tab(100); Spc((22 - Len(txtHoraSE)) / 2); txtHoraSE
Dim TabulaFat As Integer
Dim Y As Integer
TabulaFat = 1
Y = 65
For i = 1 To dbgFaturas.Rows
If TabulaFat = 100 Then
TabulaFat = 1
Y = Y + 3
End If
Printer.CurrentY = Y
Printer.Print Tab(TabulaFat); dbgFaturas.CellText(i, 1); "-"; Format(dbgFaturas.CellText(i, 2), "DD/MM/YYYY"); "-"; dbgFaturas.CellText(i, 3); "; "
TabulaFat = TabulaFat + 23
Next i
Y = 86
Dim LinhaProd As String
Dim Linhas As Integer
Const TamMaxProd As Integer = 48
Dim CarNow As Integer
For i = 1 To dbgProdutos.Rows
CarNow = 1
LinhaProd = i & " - " & dbgProdutos.CellText(i, 2) & IIf(Trim(dbgProdutos.CellText(i, 2)) "", " - ", "") & dbgProdutos.CellText(i, 3)
Linhas = Int(Len(LinhaProd) / TamMaxProd) + 1
For z = 1 To Linhas
Printer.CurrentY = Y
Printer.Print Mid(LinhaProd, CarNow, TamMaxProd)
CarNow = CarNow + TamMaxProd
If z = Linhas Then
Dim vCCF, vCST, vUn, vQtd, vValUn, vValTot, vAlICMS, vAlIPI, vValIPI As String
vCCF = dbgProdutos.CellText(i, 4)
vCST = dbgProdutos.CellText(i, 5)
vUn = dbgProdutos.CellText(i, 6)
vQtd = dbgProdutos.CellText(i, 7)
vValUn = Format(dbgProdutos.CellText(i, 8), "#,##0.00")
vValTot = Format(dbgProdutos.CellText(i, 9), "#,##0.00")
vAlICMS = Format(dbgProdutos.CellText(i, 10), "#0")
vAlIPI = Format(dbgProdutos.CellText(i, 13), "#0")
vValIPI = dbgProdutos.CellText(i, 14)
Printer.CurrentY = Y
Printer.Print Tab(52); vCCF; Tab(56); vCST; Tab(59); Spc((7 - Len(vUn)) / 2); vUn; Tab(64); Spc(7 - Len(vQtd)); vQtd; Tab(72); Spc(10 - Len(vValUn)); vValUn; Tab(86); Spc(10 - Len(vValTot)); vValTot; Tab(97); Spc(4 - Len(vAlICMS)); vAlICMS; Tab(102); Spc(3 - Len(vAlIPI)); vAlIPI; Tab(106); Spc(12 - Len(vValIPI)); vValIPI
End If
Y = Y + 3
Next z
Next i
Printer.CurrentY = 166
Dim BCICMS, ValorICMS, ValTotalProd, ValFrete, ValSeguro, DespAc, ValTotalIPI, ValTotNota As String
BCICMS = Format(lblBCICMS, "R$ #,##0.00")
ValorICMS = Format(lblValorICMS, "R$ #,##0.00")
ValTotalProd = Format(lblValTotalProd, "R$ #,##0.00")
ValFrete = Format(txtValFrete, "R$ #,##0.00")
ValSeguro = Format(txtValSeguro, "R$ #,##0.00")
DespAc = Format(txtDespAc, "R$ #,##0.00")
ValTotalIPI = Format(lblValTotalIPI, "R$ #,##0.00")
ValTotNota = Format(lblValTotNota, "R$ #,##0.00")
Printer.Print BCICMS; Tab(30); ValorICMS; Tab(55); "R$ 0,00"; Tab(75); "R$ 0,00"; Tab(95); ValTotalProd
Printer.CurrentY = 174
Printer.Print ValFrete; Tab(30); ValSeguro; Tab(55); DespAc; Tab(75); ValTotalIPI; Tab(95); ValTotNota
Printer.CurrentY = 187
Printer.Print IIf(chkMesmo.Value = 1, "O MESMO", lblNomTransp); Tab(69); lblFreteConta; Tab(74); txtPlacaVeiculo; Tab(87); txtUFPlaca; Tab(95); lblCNPJCPFTransp
Printer.CurrentY = 195
Printer.Print lblEndTransp; Tab(62); lblCidadeTransp; Tab(87); lblUFTransp; Tab(95); lblIERGTransp
Printer.CurrentY = 203
Printer.Print txtQuantVol; Tab(15); txtEspecieVol; Tab(36); txtMarcaVol; Tab(60); txtNumeroVol; Tab(79); txtPesoBrutoVol; Tab(98); txtPesoLiquidoVol
Y = 214
Const TamMaxDad As Integer = 59
Dim LinhaDad As String
LinhaDad = txtDadosAdc & ";" & txtObsManual
Linhas = (Len(LinhaDad) / TamMaxDad) + 1
CarNow = 1
For i = 1 To Linhas
Printer.CurrentY = Y
Printer.Print Mid(LinhaDad, CarNow, TamMaxDad)
CarNow = CarNow + TamMaxDad
Y = Y + 3
Next i
Printer.CurrentY = 256
Printer.Print Tab(95); Spc((22 - Len(lblNumNF)) / 2); lblNumNF
Printer.EndDoc



Tópico encerrado , respostas não são mais permitidas