| Thread Previous • Date Previous • Date Next • Thread Next |
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
| Thread Previous • Date Previous • Date Next • Thread Next |