IMPRESSÃO DE DOCUMENTOS FISCAIS

 Tópico anterior Próximo tópico Novo tópico

IMPRESSÃO DE DOCUMENTOS FISCAIS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#489441 - 10/07/2019 15:45:26

SINCLAIR
CRICIUMA
Cadast. em:Janeiro/2001


Parabéns, PLUGSOFTSM!

E, realmente, nada há no teu texto original que sugira uso do VBMania para vender qualquer coisa.

Tudo de bom, para todos nós!

Euzébio Cruz
Criciúma - SC


#489450 - 10/07/2019 21:34:20

LOOZE
MOGI-GUACU
Cadast. em:Janeiro/2005


Última edição em 10/07/2019 21:35:04 por LOOZE

Olá, mesmo fazendo o procedimento de renomear o arquivo txt para rar, o mesmo vem corrompido, não extrai nada.
Sendo assim, não passou de propaganda da ferramenta. Não vejo nada de útil no mesmo.
Quer compartilhar, faça diferente.!


      Public Function SAT_Imprimir(ByVal ArquivoXML As String) As Boolean Implements PROGmaSAT.SAT_Imprimir
        Try
            If Not File.Exists(ArquivoXML) Then
                SAT_Imprimir = False
                MessageBox.Show("Alerta de LOCALIZAÇÃO...!!!" & Chr(13) & Chr(13) & "Não foi possivel encontrar o arquivo XML do Cupom Fiscal Eletrônico para impressão." & Chr(13) & Chr(13) & "Local e arquivo informado: " & ArquivoXML, "PROGma NET", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Exit Function
            End If
            If CInt(Tamanho) <= 0 Then Tamanho = 48
            Dim Linha As New String("-"c, CInt(Tamanho))
            Dim Imposto As String = String.Empty
            Dim QrCode As String = String.Empty
            Dim CFeCaixa As String = String.Empty
            Dim CFeAssina As String = String.Empty
            Dim CnpjEM As String = String.Empty
            Dim InscricaoEM As String = String.Empty
            Dim DtEmissao As String = String.Empty
            Dim HrEmissao As String = String.Empty
            Dim Cep As String = String.Empty
            Dim Bairro As String = String.Empty
            Dim Cidade As String = String.Empty
            Dim Endereco As String = String.Empty
            Dim Item As String = String.Empty
            Dim Codigo As String = String.Empty
            Dim Descricao As String = String.Empty
            Dim Qde As String = String.Empty
            Dim Unidade As String = String.Empty
            Dim Valor As String = String.Empty
            Dim Total As String = String.Empty
            Dim Pagamento As String = String.Empty
            Dim NumCpfCnpj As String = String.Empty

            DataSET = New DataSet
            Dim PegarNO As XmlNode
            Auxiliar = New BindingSource

            Texto = String.Empty
            Campo = String.Empty

            Dim XMLDocumento As New XmlDocument

            XMLDocumento.Load(ArquivoXML)
            DataSET.ReadXml(ArquivoXML)

            Auxiliar.DataSource = DataSET

            If Imprimir = True Then
                If Impressora = "DLLDARUMA" Then
                    regAlterarValor_Daruma("DUAL\ControleAutomatico", "1")
                    Texto &= "<sn>1</sn>" & vbNewLine
                ElseIf Impressora = "DARUMA" Then
                    Texto &= Chr(7)
                ElseIf Impressora = "DLLBEMATECH" Then
                    If ArquivoTEM(Application.StartupPath & "\BematechPT.TXT") = True Then
                        iRetorno = IniciaPorta(ArquivoLER(Application.StartupPath & "\BematechPT.TXT"))
                    Else
                        iRetorno = IniciaPorta("USB")
                    End If
                    Texto &= Chr(29) + Chr(249) + Chr(32) + Chr(0) + Chr(27) + Chr(116) + Chr(8)
                    Texto &= Chr(27) & Chr(51) & Chr(18)
                ElseIf Impressora = "BEMATECH" Then
                    Texto &= Chr(29) + Chr(249) + Chr(32) + Chr(0) + Chr(27) + Chr(116) + Chr(8)
                    Texto &= Chr(27) & Chr(51) & Chr(18)
                ElseIf Impressora = "TANCA" Then
                    Texto &= Chr(27) & "@"
                End If
            End If
            Auxiliar.DataMember = "infCFe"
            If VerColuna("Id") = True Then
                CFeChave = LpNumero(Auxiliar.Current("Id").ToString())
            End If
            PegarNO = XMLDocumento.SelectSingleNode("//emit")
            If PegarNO.HasChildNodes Then
                Auxiliar.DataMember = "emit"
                If VerColuna("xFant") = True Then FormataTexto(Campo, True, True, True, True)
                If VerColuna("xNome") = True Then FormataTexto(Campo, False, True, True, False)
                If CInt(Tamanho) < 48 Then
                    If VerColuna("IE") = True Then InscricaoEM = Esquerda("IE: " & Auxiliar.Current("IE").ToString(), Tamanho / 2)
                    If VerColuna("CNPJ") = True Then CnpjEM = Direita("CNPJ: " & SoNumero(Auxiliar.Current("CNPJ").ToString()), Tamanho / 2)
                Else
                    If VerColuna("IE") = True Then InscricaoEM = Esquerda("INSCRICAO: " & Auxiliar.Current("IE").ToString(), Tamanho / 2)
                    If VerColuna("CNPJ") = True Then CnpjEM = Direita("CNPJ: " & FormataCnpj(Auxiliar.Current("CNPJ").ToString()), Tamanho / 2)
                End If
            End If

            PegarNO = XMLDocumento.SelectSingleNode("//enderEmit")
            If PegarNO.HasChildNodes Then
                Auxiliar.DataMember = "enderEmit"
                If VerColuna("xLgr") = True Then Endereco = Auxiliar.Current("xLgr").ToString()
                If VerColuna("nro") = True Then Endereco = Endereco & ", N: " & Auxiliar.Current("nro").ToString()
                FormataTexto(Endereco, False, True, True, False)
                If VerColuna("xBairro") = True Then Bairro = Auxiliar.Current("xBairro").ToString()
                If VerColuna("xMun") = True Then Cidade = Auxiliar.Current("xMun").ToString()
                If VerColuna("CEP") = True Then Cep = Auxiliar.Current("CEP").ToString()
                FormataTexto("CEP: " & Cep & " " & Bairro & " - " & Cidade, False, True, True, False)
                If VerColuna("xCpl") = True Then
                    If Trim(UCase(Campo)) <> "NAO INFORMADO" Then Call FormataTexto("COMPLEMENTO: " & Campo, False, True, True, False)
                End If
                If MsgTelefone <> "" Then FormataTexto(MsgTelefone, False, True, False, False)
                FormataTexto(CnpjEM & InscricaoEM, True, True, True, False)
                FormataTexto(Linha)
            End If

            Auxiliar.DataMember = "ide"
            FormataTexto("CUPOM FISCAL ELETRONICO - SAT", True, True, False, False)
            If VerColuna("hEmi") = True Then HrEmissao = Mid(Auxiliar.Current("hEmi").ToString(), 1, 2) & ":" & Mid(Auxiliar.Current("hEmi").ToString(), 3, 2) & ":" & Mid(Auxiliar.Current("hEmi").ToString(), 5, 2)
            If VerColuna("dEmi") = True Then DtEmissao = Mid(Auxiliar.Current("dEmi").ToString(), 7, 2) & "/" & Mid(Auxiliar.Current("dEmi").ToString(), 5, 2) & "/" & Mid(Auxiliar.Current("dEmi").ToString(), 1, 4)
            If VerColuna("nCFe") = True Then CFeCupom = Auxiliar.Current("nCFe").ToString()
            If CInt(Tamanho) <= 42 Then
                FormataTexto(Direita("DT " & DtEmissao & " " & HrEmissao, (Tamanho / 2) + 2) & Esquerda("CUPOM N: " & CFeCupom, (Tamanho / 2) - 2), True, True, True, False)
            Else
                FormataTexto(Direita("DT " & DtEmissao & " " & HrEmissao, (Tamanho / 2) + 2) & Esquerda("CUPOM N: " & CFeCupom, (Tamanho / 2) - 2), True, False, False, False)
            End If
            FormataTexto(Linha)

            If VerColuna("nserieSAT") = True Then CFeSerie = Auxiliar.Current("nserieSAT").ToString()
            If VerColuna("numeroCaixa") = True Then CFeCaixa = Auxiliar.Current("numeroCaixa").ToString()
            If VerColuna("assinaturaQRCODE") = True Then CFeAssina = Auxiliar.Current("assinaturaQRCODE").ToString()

            PegarNO = XMLDocumento.SelectSingleNode("//dest")
            If PegarNO.HasChildNodes Then
                Auxiliar.DataMember = "dest"
                If VerColuna("CPF") = True Then
                    If Campo <> "" Then
                        NumCpfCnpj = Campo
                        FormataTexto("CPF / CNPJ: " & Campo, True)
                    End If
                End If
                If VerColuna("CNPJ") = True Then
                    If Campo <> "" Then
                        NumCpfCnpj = Campo
                        FormataTexto("CPF / CNPJ: " & Campo, True)
                    End If
                End If
                If VerColuna("xNome") = True Then FormataTexto("NOME: " & Direita(Campo, Tamanho - 6))
                If Not String.IsNullOrEmpty(NumCpfCnpj) Then FormataTexto(Linha)

                PegarNO = XMLDocumento.SelectSingleNode("//entrega")
                If Not PegarNO Is Nothing Then
                    If PegarNO.HasChildNodes Then
                        Auxiliar.DataMember = "entrega"
                        Bairro = String.Empty
                        Cidade = String.Empty
                        Endereco = String.Empty
                        If VerColuna("xLgr") = True Then Endereco = Auxiliar.Current("xLgr").ToString()
                        If VerColuna("nro") = True Then Endereco = Endereco & ", " & Auxiliar.Current("nro").ToString()
                        If Endereco.Length > Tamanho Then
                            FormataTexto(Endereco, False, False, True, False)
                        Else
                            FormataTexto(Endereco, False, False, False, False)
                        End If
                        If VerColuna("xBairro") = True Then Bairro = Auxiliar.Current("xBairro").ToString()
                        If VerColuna("xMun") = True Then Cidade = Auxiliar.Current("xMun").ToString()
                        If VerColuna("UF") = True Then Cidade = Cidade & "-" & Auxiliar.Current("UF").ToString()

                        If Len(Bairro) + Len(Cidade) + 1 <= Tamanho Then
                            FormataTexto(Bairro & " " & Cidade, False, False, False, False)
                        Else
                            If VerColuna("xBairro") = True Then FormataTexto(Campo, False, False, False, False)
                            If VerColuna("xBairro") = True Then FormataTexto(Cidade, False, False, False, False)
                        End If
                        If Not String.IsNullOrEmpty(Endereco) Then FormataTexto(Linha)
                    End If
                End If
            End If






#489451 - 10/07/2019 21:38:04

LOOZE
MOGI-GUACU
Cadast. em:Janeiro/2005


Última edição em 10/07/2019 21:39:36 por LOOZE

 Anexos estao visíveis somente para usuários registrados

é muito código para posta no forum, então segue abaixo a classe completa.
impressão direto com ESC/POS nas impressoras BEMATECH, DARUMA, TANCA, EPSON, ELGIN. com QrCode sem utilização de DLL de terceiros.






#489452 - 10/07/2019 22:00:25

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


Última edição em 10/07/2019 22:11:00 por PLUGSOFTSM

 Anexos estao visíveis somente para usuários registrados

Não consegue extrair o arquivo?
Eu coloquei em 2 arquivos pois excedia o tamanho permitido
Alguém conseguiu descompactar.... Me avisem por favor



#489453 - 10/07/2019 23:24:33

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


 Anexos estao visíveis somente para usuários registrados

Amigo NILSONTRES

Aqui tá o código fonte como vc pediu
Não postei nada aqui para vender
Obrigado pela força

Baixe e faça bom uso
Precisando de ajuda tem meu Whats.... Só adicionar e chamar

Alem dos documentos que mencionei, tem um protocolo de cancelamento de NFe tb



#489456 - 11/07/2019 02:25:38

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Última edição em 11/07/2019 02:33:29 por NILSONTRES

LOOSE,
Citação:
Olá, mesmo fazendo o procedimento de renomear o arquivo txt para rar, o mesmo vem corrompido, não extrai nada.
Sendo assim, não passou de propaganda da ferramenta. Não vejo nada de útil no mesmo.
Quer compartilhar, faça diferente.!  

Mandou ruim !, consegui descompactar normalmente.




#489457 - 11/07/2019 02:32:22

NILSONTRES
SAO PAULO
Cadast. em:Março/2012


Não acho justo disponibilizar fontes tão complexos, o trabalho é suado.
Só esclarecendo que eu pedi ao PLUGSOFTSM a venda dos códigos , ele me cedeu por conta própria.
Obrigado PLUGSOFTSM, vou estudar eles.



#489458 - 11/07/2019 07:49:16

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


Só quero ressaltar que 100% do que encontrarem aí foi desenvolvido por mim.....
Foi um projeto que foi sendo aperfeiçoado e "emendado" aos poucos.
Eu mesmo se fosse reescrevê-lo mudaria alguma coisa.... Mas fiquem a vontade para usá-lo da maneira que for mais adequado a cada um que assim o desejar.
Duvidas... postem aqui que vou ajudando



#489459 - 11/07/2019 09:39:11

LUIS2014
CURITIBA
Cadast. em:Agosto/2014


Citação:
:
Parabéns, PLUGSOFTSM!

E, realmente, nada há no teu texto original que sugira uso do VBMania para vender qualquer coisa.

Tudo de bom, para todos nós!

Nos poupe né, o fato de colocar :
Citação:
  se alguém quiser conhecer...
55 55984111350 é meu whats  

é porque ele queria convidar para tomar um café e dar o código fonte num pendrive edição de colecionador dos vingadores.

lógico que agora inverteu a situação postando o fonte, te dou o parabéns PLUGSOFTSM por disponibilizar o material, sei que será útil para os estudos de muita gente aqui, mas faça upload no site para ficar disponível de forma correta aqui e ainda ganha estrelinhas por isso.



#489460 - 11/07/2019 10:26:11

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe

Última edição em 11/07/2019 10:26:32 por KERPLUNK

Bem, ficou funcional, mas tem bastante coisa que pode ser melhorada, principalmente aquele monte de funcionalidades gráficas. Aquilo pode ser perfeitamente abstraído e ficar MUITO mais sucinto. Outra é a parte do XML, que pode ser completamente objetificada com uso de serialização. Mesmo assim, meus parabéns e obrigado por compartilhar.


_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário