[FIXO] CLASSE/DLL SPED PIS/COFINS
                    Pessoal, este é o primeiro tópico que estou abrindo, sei que todos estão super ocupados más pensei que se nos juntarmos poderemos fazer de forma semelhante ao pessoal do ACbr, cada um fez um pouquiho e a classe deles está pronta, a idéia é cada um pegar um bloco ou uma parte para fazer as classes, depois disso juntarmos as classes em uma classe que abranja toda a escrituração, assim todos poderemos nos beneficiar, eu estarei trabalhando em tempo integral no projeto.
Como vocês sabem o SPED PIS/COFINS já e obrigatório para as empresas do Lucro Real e será a partir de 05/02/2012 para as empresas do Lucro Presumido e acho que até no final de 2012 uma grande parte das empresas do Simples Nacional terá de gerar também.
Eu pensei em fazer assim: Primeiro dividimos em classes menores, no exemplo abaixo iniciei a classe EPC_REGISTRO_000, não está terminada más dá pra ter uma noção do que precisamos
Depois de elaborarmos todas as classe precisaremos cliar as outras classes para incorporarmos estas, e nessa parte precisaremos da ajuda de alguém que entenda um pouco melhor da programação orientada a objetos pois eu estou iniciando e não conheço todos os conceitos.
Sei que é muita coisa para uma pessoa só fazer mas se nos unirmos dá pra fazer rapidinho além de aprendermos juntos.
Quem quiser dar uma olhada no manual da EFD, tá no link: http://www1.receita.fazenda.gov.br/sistemas/efd-pis-cofins/download/download.htm
            Como vocês sabem o SPED PIS/COFINS já e obrigatório para as empresas do Lucro Real e será a partir de 05/02/2012 para as empresas do Lucro Presumido e acho que até no final de 2012 uma grande parte das empresas do Simples Nacional terá de gerar também.
Eu pensei em fazer assim: Primeiro dividimos em classes menores, no exemplo abaixo iniciei a classe EPC_REGISTRO_000, não está terminada más dá pra ter uma noção do que precisamos
Public  Class EPC_REGISTRO_000
    Private _REG As String = [Ô]0000[Ô]
    Private _COD_VER As Integer
    Private _TIPO_ESCRIT As Integer
    Private _IND_SIT_ESP As Nullable(Of Integer)
    Private _NUM_REC_ANTERIOR As String
    Private _DT_INI As Date
    Private _DT_FIN As Date
    Private _NOME As Integer
    [ô][ô][ô] <summary>
    [ô][ô][ô] Tipo de registro
    [ô][ô][ô] </summary>
    Public ReadOnly Property REG() As String
        Get
            Return _REG
        End Get
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Código da versão do leiaute conforme a tabela 3.1.1
    [ô][ô][ô] </summary>
    Public Property COD_VER() As Integer
        Get
            Return _COD_VER
        End Get
        Set(ByVal value As Integer)
            _COD_VER = value
        End Set
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Tipo de escrituração : 0 - Original, 1 - Retificada
    [ô][ô][ô] </summary>
    Public Property TIPO_ESCRIT() As Integer
        Get
            Return _TIPO_ESCRIT
        End Get
        Set(ByVal value As Integer)
            _TIPO_ESCRIT = value
        End Set
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Indicador de situação especial: 0 - Aberta, 1 - cisão, 2 - Fusão, 3 - Incorporação, 4 - Encerrramento
    [ô][ô][ô] </summary>
    Public Property IND_SIT_ESP() As Nullable(Of Integer)
        Get
            Return _IND_SIT_ESP
        End Get
        Set(ByVal value As Integer)
            _IND_SIT_ESP = value
        End Set
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Número do recibo da escrituração anterior a ser retificada, utilizado quando TIPO_ESCRIT for igual a 1
    [ô][ô][ô] </summary>
    Public Property NUM_REC_ANTERIOR() As String
        Get
            Return _NUM_REC_ANTERIOR
        End Get
        Set(ByVal value As String)
            _NUM_REC_ANTERIOR = value
        End Set
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Data final da escrituração
    [ô][ô][ô] </summary>
    Public Property DT_INI() As Date
        Get
            Return _DT_INI
        End Get
        Set(ByVal value As Date)
            _DT_INI = value
        End Set
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Data de Ãnicio da escrituração
    [ô][ô][ô] </summary>
    Public Property DT_FIN() As Date
        Get
            Return _DT_FIN
        End Get
        Set(ByVal value As Date)
            _DT_FIN = value
        End Set
    End Property
    [ô][ô][ô] <summary>
    [ô][ô][ô] Nome empresarial da pessoa jurÃdica
    [ô][ô][ô] </summary>
    Public Property NOME() As String
        Get
            Return _NOME
        End Get
        Set(ByVal value As String)
            _NOME = value
        End Set
    End Property
End Class Depois de elaborarmos todas as classe precisaremos cliar as outras classes para incorporarmos estas, e nessa parte precisaremos da ajuda de alguém que entenda um pouco melhor da programação orientada a objetos pois eu estou iniciando e não conheço todos os conceitos.
Sei que é muita coisa para uma pessoa só fazer mas se nos unirmos dá pra fazer rapidinho além de aprendermos juntos.
Quem quiser dar uma olhada no manual da EFD, tá no link: http://www1.receita.fazenda.gov.br/sistemas/efd-pis-cofins/download/download.htm
            
                
                    Amigo eu estou tendo que atulizar o NF-e para funcionar a NT 2011.0004 mais assim que terminar eu dou uma força sim
                
            
                    Bom dia, 
Amigo muito boa sua iniciativa, é disso mesmo que o fórum precisa.
As vezes nem é por falta de interesse do pessoal do fórum mesmo, pelo contrário a galera aqui é muita animada.
Por exemplo você criou seu tópico em 14/10/2011 17:31:28 (Sexta-Feira à tarde - Final de Expediente), já reparei muito aqui, vai dando essa hora a galera quer mais é descansar, e provavelmente por este motivo é que ninguém lhe respondeu. Mas aguarda aà que tenho quase certeza que vai aparecer alguém interessado.
Até mais.
            Amigo muito boa sua iniciativa, é disso mesmo que o fórum precisa.
As vezes nem é por falta de interesse do pessoal do fórum mesmo, pelo contrário a galera aqui é muita animada.
Por exemplo você criou seu tópico em 14/10/2011 17:31:28 (Sexta-Feira à tarde - Final de Expediente), já reparei muito aqui, vai dando essa hora a galera quer mais é descansar, e provavelmente por este motivo é que ninguém lhe respondeu. Mas aguarda aà que tenho quase certeza que vai aparecer alguém interessado.
Até mais.
                    Bom dia, 
Realmente Altair, eu estou tão preocupado com esse assunto que nem notei isso, você tem razão, vamos aguardar, obrigado pela força, vou remover o comentário anterior, foi uma coisa sem pensar....
Valeu pela força.
T+
            Realmente Altair, eu estou tão preocupado com esse assunto que nem notei isso, você tem razão, vamos aguardar, obrigado pela força, vou remover o comentário anterior, foi uma coisa sem pensar....
Valeu pela força.
T+
                    Que isso amigo, preocupa não. 
                
            
                
                    Vanto, estou junto com você nessa.
Estou prescisando gerar o arquivo até dezembro, então poderemos junto ao pessoal, gerar as classes.
Aproventando a oportunidade, seria ideal o compartilhamento de informações sobre a geração do arquivo, pois poucas pessoas sabem sobre o mesmo.
Abraços.
            Estou prescisando gerar o arquivo até dezembro, então poderemos junto ao pessoal, gerar as classes.
Aproventando a oportunidade, seria ideal o compartilhamento de informações sobre a geração do arquivo, pois poucas pessoas sabem sobre o mesmo.
Abraços.
                    Olá GUIMORAES, cara que bom já não estou mais sozinho, com relação a geração do arquivo eu também não sei muito más semana que vem esterei com dois contadores que vão nos ajudar no desenvolvimento, o problema é que eles tb não sabem muito do assiunto.
Eu não tenho muita experiência com classes, vou terminar esta primeira classe para podermos discutir e ver o que mais precisa ser implementado, estou pensando em criar um método no final para montar a linha de texto que ficará no arquivo, já formatando as entradas conforme o padrão do manual, depois que definirmos o funcionamento das classes menores poderemos criar as classes PAIS com seus respectivos arrays (com os filhos), estou pensando em fazer assim:
EFD - PAI
BLOCO 0000 - FILHO DE EFD
REGISTRO 0000 - FILHO DE BLOCO 000
REGISTRO 0001 - FILHO DE BLOCO 000
...
Assim poderemos utilizar recursividade para gravar os registros no arquivo, bom o negócio é começar depois as idéias vão surgindo. Assim que eu terminar a classe posto aqui para discutirmos e darmos andamento, até lá acho que outras pessoas se juntarão a nós nessa empreitada.
T+
            Eu não tenho muita experiência com classes, vou terminar esta primeira classe para podermos discutir e ver o que mais precisa ser implementado, estou pensando em criar um método no final para montar a linha de texto que ficará no arquivo, já formatando as entradas conforme o padrão do manual, depois que definirmos o funcionamento das classes menores poderemos criar as classes PAIS com seus respectivos arrays (com os filhos), estou pensando em fazer assim:
EFD - PAI
BLOCO 0000 - FILHO DE EFD
REGISTRO 0000 - FILHO DE BLOCO 000
REGISTRO 0001 - FILHO DE BLOCO 000
...
Assim poderemos utilizar recursividade para gravar os registros no arquivo, bom o negócio é começar depois as idéias vão surgindo. Assim que eu terminar a classe posto aqui para discutirmos e darmos andamento, até lá acho que outras pessoas se juntarão a nós nessa empreitada.
T+
                    Eu já comecei a fazer há alguns meses...
Fiz as classes com base numa versão desenvolvida em java que encontrei na internet.
Depois, quando encontrar, eu posto.
Com base na experiência que consegui adquirir, é essencial ter um apoio técnico da contabilidade para conseguir montar os registros.
Assim que puder eu posto algumas coisas.
            Fiz as classes com base numa versão desenvolvida em java que encontrei na internet.
Depois, quando encontrar, eu posto.
Com base na experiência que consegui adquirir, é essencial ter um apoio técnico da contabilidade para conseguir montar os registros.
Assim que puder eu posto algumas coisas.
                    Vanto, tenho um contato muito próximo com um escritorio de minha cidade, e o pessoal está me dando um auxilio, até na segunda estarei com eles para discutir o caso de uma empresa.
Nesta reunião, estaremos discutindo o que será necessário para a geração do arquivo, e definindo aos produtos(entrada e saida) a parte tributária.
Bom, como não tenho um vasto conhecimento sobre classes, creio que a melhor ideia seje esta que tu deu, mas se tiver alguem aqui que tenha alguma ideia melhor, por favor compartilhe(rsrs).
Vou dar inicio ao projeto, para que possamos discutir todo o assunto aqui.
Abraços.
t+
            Nesta reunião, estaremos discutindo o que será necessário para a geração do arquivo, e definindo aos produtos(entrada e saida) a parte tributária.
Bom, como não tenho um vasto conhecimento sobre classes, creio que a melhor ideia seje esta que tu deu, mas se tiver alguem aqui que tenha alguma ideia melhor, por favor compartilhe(rsrs).
Vou dar inicio ao projeto, para que possamos discutir todo o assunto aqui.
Abraços.
t+
                    VANTO, parabéns pela iniciativa!
Já houve um grande projeto NFe que movimento o site e acredito que esse fará o mesmo
Vou ficar devendo, pois optei pelo C# e só conheço o basico de VB.NET
Mas acho que encontrará muitos interessados
Boa Sorte!
            Já houve um grande projeto NFe que movimento o site e acredito que esse fará o mesmo
Vou ficar devendo, pois optei pelo C# e só conheço o basico de VB.NET
Mas acho que encontrará muitos interessados
Boa Sorte!
                      CONVERTIDO DE C# PARA VB.NET - BLOCO 0 SPED FISCAL  
                
            
Imports System.Collections.Generic
Imports System.Text
Namespace Fiscal.Registros
	[ô][ô][ô] <summary>
	[ô][ô][ô] REGISTRO 0000: ABERTURA DO ARQUIVO DIGITAL E IDENTIFICAÇÃO DA ENTIDADE
	[ô][ô][ô] </summary>
	Public Class Reg0000
		#Region [Ô]Propriedades[Ô]
		[ô][ô][ô] <summary>
		[ô][ô][ô] Texto fixo contendo “0000â€
		[ô][ô][ô] </summary>
		Public ReadOnly Property REG() As String
			Get
				Return [Ô]0000[Ô]
			End Get
		End Property
		[ô][ô][ô] <summary>
		[ô][ô][ô] Código da versão do leiaute conforme a tabela indicadano Ato COTEPE
		[ô][ô][ô] </summary>
		Public Property COD_VER() As String
			Get
				Return m_COD_VER
			End Get
			Set
				m_COD_VER = Value
			End Set
		End Property
		Private m_COD_VER As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Código da finalidade do arquivo: 
		[ô][ô][ô]     0 - Remessa do arquivo original; 
		[ô][ô][ô]     1 - Remessa do arquivo substituto. 
		[ô][ô][ô] </summary>
		Public Property COD_FIN() As String
			Get
				Return m_COD_FIN
			End Get
			Set
				m_COD_FIN = Value
			End Set
		End Property
		Private m_COD_FIN As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Data inicial das informações contidas no arquivo. 
		[ô][ô][ô] </summary>
		Public Property DT_INI() As String
			Get
				Return m_DT_INI
			End Get
			Set
				m_DT_INI = Value
			End Set
		End Property
		Private m_DT_INI As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Data final das informações contidas no arquivo. 
		[ô][ô][ô] </summary>
		Public Property DT_FIN() As String
			Get
				Return m_DT_FIN
			End Get
			Set
				m_DT_FIN = Value
			End Set
		End Property
		Private m_DT_FIN As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Nome empresarial da entidade.
		[ô][ô][ô] </summary>
		Public Property NOME() As String
			Get
				Return m_NOME
			End Get
			Set
				m_NOME = Value
			End Set
		End Property
		Private m_NOME As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Número de inscrição da entidade no CNPJ.
		[ô][ô][ô] </summary>
		Public Property CNPJ() As String
			Get
				Return m_CNPJ
			End Get
			Set
				m_CNPJ = Value
			End Set
		End Property
		Private m_CNPJ As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Número de inscrição da entidade no CPF.
		[ô][ô][ô] </summary>
		Public Property CPF() As String
			Get
				Return m_CPF
			End Get
			Set
				m_CPF = Value
			End Set
		End Property
		Private m_CPF As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Sigla da unidade da federação da entidade.
		[ô][ô][ô] </summary>
		Public Property UF() As String
			Get
				Return m_UF
			End Get
			Set
				m_UF = Value
			End Set
		End Property
		Private m_UF As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Inscrição Estadual da entidade.
		[ô][ô][ô] </summary>
		Public Property IE() As String
			Get
				Return m_IE
			End Get
			Set
				m_IE = Value
			End Set
		End Property
		Private m_IE As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Código do municÃpio do domicÃlio fiscal da entidade,conforme a tabela IBGE 
		[ô][ô][ô] </summary>
		Public Property COD_MUN() As String
			Get
				Return m_COD_MUN
			End Get
			Set
				m_COD_MUN = Value
			End Set
		End Property
		Private m_COD_MUN As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Inscrição Municipal da entidade.
		[ô][ô][ô] </summary>
		Public Property IM() As String
			Get
				Return m_IM
			End Get
			Set
				m_IM = Value
			End Set
		End Property
		Private m_IM As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Inscrição da entidade na SUFRAMA
		[ô][ô][ô] </summary>
		Public Property SUFRAMA() As String
			Get
				Return m_SUFRAMA
			End Get
			Set
				m_SUFRAMA = Value
			End Set
		End Property
		Private m_SUFRAMA As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Perfil de apresentação do arquivo fiscal;
		[ô][ô][ô]     A – Perfil A; 
		[ô][ô][ô]     B – Perfil B.; 
		[ô][ô][ô]     C – Perfil C.
		[ô][ô][ô] </summary>
		Public Property IND_PERFIL() As String
			Get
				Return m_IND_PERFIL
			End Get
			Set
				m_IND_PERFIL = Value
			End Set
		End Property
		Private m_IND_PERFIL As String
		[ô][ô][ô] <summary>
		[ô][ô][ô] Indicador de tipo de atividade: 
		[ô][ô][ô]     0 – Industrial ou equiparado a industrial; 
		[ô][ô][ô]     1 – Outros.
		[ô][ô][ô] </summary>
		Public Property IND_ATIV() As String
			Get
				Return m_IND_ATIV
			End Get
			Set
				m_IND_ATIV = Value
			End Set
		End Property
		Private m_IND_ATIV As String
		#End Region
	End Class
End Namespace
                        Tópico encerrado , respostas não são mais permitidas