[FIXO] CLASSE/DLL SPED PIS/COFINS

VANTO 14/10/2011 17:31:28
#386724
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

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
   
   
MFLAVIO 15/10/2011 07:47:37
#386745
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
ALTAIR148 15/10/2011 07:49:22
#386746
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.
VANTO 15/10/2011 08:13:35
#386747
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+
ALTAIR148 15/10/2011 08:21:06
#386750
Que isso amigo, preocupa não.
GUIMORAES 15/10/2011 09:07:57
#386752
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.
VANTO 15/10/2011 10:00:18
#386755
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+
MARCOSLING 15/10/2011 10:13:48
#386757
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.
GUIMORAES 15/10/2011 11:25:41
#386759
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+
SAMUKA 15/10/2011 13:54:16
#386764
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!
LOOZE 15/10/2011 14:29:40
#386766
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


Página 1 de 11 [101 registro(s)]
Tópico encerrado , respostas não são mais permitidas