← Back to team overview

openerp-brazil-team team mailing list archive

Re: Tropicalização

 

Sim, a "Razão Social" é indispensável estar registrado em algum lugar para
notas fiscais e etc.
Vejo duas opções: (1) Pode ser feito usando o nome de um dos contatos do
parceiro (res.partner.address), ou (2) podemos ter um campo a parte só para
isso no próprio parceiro (res.partner). É uma questão de uso e gosto.

*"No exemplo do Gabriel, Partner 2 é a razão social?"*
Não, aquilo foi um exemplo de dois partner interligados. Isto é, o *"Partner 2"
* era um partner que tinha como Main Company o Partner 1.
Anexei duas imagens mostrando o Main Company (estou mostrando na versão
original em inglês para ninguém ter dúvida), e como fica a árvore quando se
usa.

Abs,
Gabriel


2009/5/15 Celso Canaan <celso.canaan@xxxxxxxxxxxx>

> Pessoal,
>
> É bom lembrar que alguns arquivos eletrônicos e relatórios contábeis,
> fiscais, etc deve ser enviada a razão social do cliente
> (emitente/destinatário, por exemplo). Talvez no futuro possamos enviar
> somente o CNPJ/CPF, mas até onde eu sei a razão social é utilizada. No
> exemplo do Gabriel, Partner 2 é a razão social?
>
> Portanto, acredito que a integridade do nome deve ser quebrada.
>
> Celso.
>
> -------- Mensagem original --------
> De: Gabriel C. Stabel <gstabel@xxxxxxxxx>
> Para: Luiz Franca <luiz@xxxxxxxxxxxxxxxxxxxxx>
> Cc: OpenErp Brasil <openerp-brazil-team@xxxxxxxxxxxxxxxxxxx>
>
> "e neste caso voce quebrou a restrição unique do name do Partner?"
> Não chegamos a quebrar. Eles mexiam no nomes desta forma:
> Partner 1: Universidade Federal do RS
> Partner 2: Universidade Federal do RS - Departamento XXX
>
>
> O nome do Partner não era a razão social, e sim um nome identificável
> pelo usuário. Logo sempre era diferente (único). Por exemplo, ao invés
> de "Vonpar" usariam "Coca-Cola".
> A razão social ficava no nome do contato (partner.address) principal,
> mas quem sabe faça mais sentido criar um campo só para isso em partner.
>
> "Como voce fez isto? por herança ou alterou o módulo base?"
> Criamos um módulo a parte, usando herança.
>
> "Outra coisa, estas modificações que voces fizeram são GPL? voce poderia
> disponibilizar o código?"
> Vou pedir o código. Há muitas outras coisas no código. Não é um código
> limpo.
>
> Abs,
> Gabriel
>
> 2009/5/15 Luiz Franca <luiz@xxxxxxxxxxxxxxxxxxxxx>
>        Gabriel,
>
>        e neste caso voce quebrou a restrição unique do name do Partner?
>
>        Como voce fez isto? por herança ou alterou o módulo base?
>
>        Outra coisa, estas modificações que voces fizeram são GPL? voce
>        poderia disponibilizar o código?
>
>
>        []s
>
>        --
>        Luiz Fernando Maciel França
>        Sig Informática Ltda.
>        Rua João Pereira Amorim, 700
>        Bairro Jardim Arizona
>        35.700-373 - Sete Lagoas - MG - Brasil
>        (31)3773-1043
>        Skype: lfmfsig
>
>
>
>        2009/5/15 Gabriel C. Stabel <gstabel@xxxxxxxxx>
>
>
>                Tive que resolver esse problema do CPF/CNPJ no serviço
>                que eu fiz, e pude discutir com alguns engenheiros e
>                administradores que usavam o sistema.
>
>                5) Pensamos no começo em colocar no
>                "res.partner.address", como foi sugerido, pelo mesmo
>                motivo; a questão matriz/filial. Entretanto depois de
>                refletir melhor colocamos em "res.partner", e resolvemos
>                a questão matriz/filial usando o campo "parent_id".
>                Pois se usarmos o "parent_id" (Main Company), podemos
>                ver e estruturar a organização de empresas maiores (ou
>                governamentais) usando o "Company Architecture" que já
>                existe (é um tree view) dentro de Partner. (Ao que me
>                lembro os Cases já buscam de forma recursiva dentro
>                desta árvore de parceiros, que nos indicou também ser um
>                exemplo da intenção original de quem fez).
>                Entendemos que o "res.partner.address" deveria ser usado
>                como se fosse os diversas pessoas de contato, e/ou
>                endereços de um dado parceiro. E que o parceiro (que
>                conteria o CPF/CNPJ) é que deveria centralizar as notas
>                fiscais (invoces), vendas, cases, etc, e logo ter os
>                dados fiscais (como CPF/CNPJ).
>
>                Fica aí minha experiência nessa questão, e minha
>                sugestão. :)
>                Grato.
>
>                Abraços,
>                Gabriel
>
>                2009/5/14 Luiz Franca <luiz@xxxxxxxxxxxxxxxxxxxxx>
>
>                        Boa Noite Pessoal!
>
>                        Agradeço a todos pela manifestação, é assim que
>                        esta grupo precisa andar.
>
>                        Vamos enumerar para ficar mais fácil:
>
>                        1) Quanto ao nome, acho que não resta dúvidas,
>                        será necessário quebrar a restrição. O problema
>                        é como fazer isto por herança? Não podemos
>                        simplesmente alterar o módulo 'base', precisamos
>                        fazer por herança num novo módulo. Se alguem
>                        souber como fazer, por favor me dê o caminho das
>                        pedras, enquanto isto vou procurando por aqui.
>
>                        2) Acho que o CNPJ/CPF tambem não podem ter
>                        restrição pelo que foi dito por alguns de voces,
>                        temos ai casos de prefeituras / autarquias com o
>                        mesmo cnpj, embora ele possa ser chave para
>                        identificação.
>
>                        3)Não temos que necessáriamente ter uma
>                        restrição(unique), uma vez que todo objeto do
>                        OpenERP tem seu ID, que já é único, portanto
>                        outra restrição seria apenas pela regra do
>                        negócio, que no caso do cnpj/cpf e nome/razão
>                        social é dispensável pelo que deduzimos das
>                        respostas.
>
>                        4) Para quem pediu, o código o preliminar está
>                        em:
>                        https://code.launchpad.net/openerp.pt-br-localiz,
> mas já adianto que ele tem alguns problemas. De qualquer maneira, me
> comprometo a disponibilizar novamente assim que terminar as alterações que
> estou fazendo, entrego em no máximo 1 semana. Se alquem quizer a alteração
> que estou fazendo antes que eu termine é só falar que eu mando, não tenho
> nenhuma restrição, o código é GPL
>
>                        5) Pela questão de Matriz/Filiais acho que o
>                        cnpj/cpf devem realmente ir para o objeto
>                        Partner.Address.
>
>                        6) Considerando que um partner no OpenERP pode
>                        ter vários endereços, isto não resolveria o caso
>                        das Prefeituras/autarquias? Se resolver,
>                        acredito que finalmente poderemos ter uma
>                        restrição Unique no CPF/CNPJ. O que acham?
>
>                        Para voces entenderem melhor o que estou
>                        fazendo, coloco a seguir parte dos atributos dos
>                        objetos.
>
>                        class res_partner_address(osv.osv):
>                            """Partner Addresses"""
>                            _name = 'res.partner.address'
>                            _inherit = 'res.partner.address'
>                            _columns = {
>                                'location':
>                        fields.many2one('res.country.state.city',
>                        'Localidade', domain="[('state_id', '=',
>                        state_id)]"),
>                                'numero': fields.char('Número',
>                        size=10),
>                                'state_id':
>                        fields.many2one("res.country.state", 'Estado',
>                        domain="[('country_id', '=', country_id)]"),
>                                'country_id':
>                        fields.many2one("res.country", 'País'),
>                                'tipo_pessoa': fields.selection([('F',
>                        'Física'), ('J', 'Jurídica')], 'Tipo de pessoa',
>                        required=True),
>                                'cpf_cnpj': fields.char('Cpf/CNPJ',
>                        size=15),
>                                'pessoa_fisica':
>                        fields.one2many('res.partner.fisica',
>                        'address_id', 'Pessoa_Fisica'),
>                                'pessoa_juridica':
>                        fields.one2many('res.partner.juridica',
>                        'address_id', 'Pessoa_Juridica'),
>                             }
>
>                        class res_partner_juridica(osv.osv):
>                            """Cadastro de pessoas juridica """
>                            _name = 'res.partner.juridica'
>                            _columns = {
>                                'address_id' :
>                        fields.many2one('res.partner.address','Contato',
>                        ondelete='set null', select=True,
>                        domain=[('tipo_pessoa', '=', 'J')]),
>                                'city' : fields.related
>
>  ('partner_id','city',type='many2one',relation='res.country.state.city',string='Cidade'),
>                                'state' : fields.related
>
>  ('partner_id','state',type='many2one',relation='res.country.state',
> string='Estado'),
>                                'country' : fields.related
>                        ('partner_id','country',type='char',string='País'),
>                                'fantasia' : fields.char('Nome
>                        Fantasia', size=25),
>                                'inscr_estadual': fields.char('Inscrição
>                        Estadual', size=20, required="1"),
>                                'inscr_municipal':
>                        fields.char('Inscrição Municipal', size=20),
>                                'suframa': fields.char('Suframa',
>                        size=10),
>                                'data_fundacao': fields.date("Data da
>                        fundação"),
>                                'tipo_empresa':
>                        fields.selection([('I','Individual'),
>                        ('L','Limitada'), ('S','Sociedade Anônima'),
>                        ('P','Administração Pública')], 'Tipo de
>                        Empresa', required="1"),
>                             }
>                        class res_partner_fisica(osv.osv):
>                            """Cadastro de pessoas fisicas """
>                            _name = 'res.partner.fisica'
>                            _columns = {
>                                'address_id' :
>                        fields.many2one('res.partner.address','Contato',
>                        ondelete='set null', select=True,
>                        domain=[('tipo_pessoa', '=', 'F')]),
>                                'city' : fields.related
>
>  ('partner_id','city',type='many2one',relation='res.country.state.city',string='Cidade'),
>                                'state' : fields.related
>
>  ('partner_id','state',type='many2one',relation='res.country.state',
> string='Estado'),
>                                'country' : fields.related
>                        ('partner_id','country',type='char',string='País'),
>                                'apelido': fields.char('Apelido',
>                        size=25),
>                                'identidade': fields.char('Identidade',
>                        size=20),
>                                'data_emissao_identidade':
>                        fields.date("Data de emissão"),
>                                'orgao_emissor_identidade':
>                        fields.char('Orgão emissor', size=6),
>                                'data_nascimento': fields.date("Data de
>                        Nascimento"),
>                                'estado_civil': fields.selection([('C',
>                        'Casado'), ('S', 'Solteiro'), ('E',
>                        'Desquitado'), ('D','Divorciado'),
>                        ('V','Viúvo')], 'Estado Civil'),
>                                'sexo': fields.selection([('M',
>                        'Masculino'), ('F', 'Feminino')], 'Sexo',
>                        required="1"),
>                                'foto': fields.binary('Foto'),
>                             }
>
>
>                        Como podem ver o cnpj/cpf eu inclui na classe
>                        "res.partner.address" e crie mais duas classes
>                        complementares para os dados de pessoa física e
>                        jurídica.
>
>                        Na verdade do que pretendia fazer a parte das
>                        classes já está pronta, falta apenas acertas as
>                        telas(o xml).
>
>
>
>                        []s
>                        --
>                        Luiz Fernando Maciel França
>                        Sig Informática Ltda.
>                        Rua João Pereira Amorim, 700
>                        Bairro Jardim Arizona
>                        35.700-373 - Sete Lagoas - MG - Brasil
>                        (31)3773-1043
>                        Skype: lfmfsig
>
>
>
>                        _______________________________________________
>                        Mailing list:
>                        https://launchpad.net/~openerp-brazil-team<https://launchpad.net/%7Eopenerp-brazil-team>
>                        Post to     :
>                        openerp-brazil-team@xxxxxxxxxxxxxxxxxxx
>                        Unsubscribe :
>                        https://launchpad.net/~openerp-brazil-team<https://launchpad.net/%7Eopenerp-brazil-team>
>                        More help   :
>                        https://help.launchpad.net/ListHelp
>
>
>
>
>
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openerp-brazil-team<https://launchpad.net/%7Eopenerp-brazil-team>
> Post to     : openerp-brazil-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openerp-brazil-team<https://launchpad.net/%7Eopenerp-brazil-team>
> More help   : https://help.launchpad.net/ListHelp
>
>

Attachment: Captura_de_tela-OpenERP-1.png
Description: PNG image

Attachment: Captura_de_tela-OpenERP.png
Description: PNG image


References