fagnerfxa Posted October 23, 2014 Share Posted October 23, 2014 Fala pessoal, tudo bem ? No ecommerce que estou fazendo necessitei ativar o modo b2b para que o cliente precise informa cnpj e inscrição estadual, siret foi traduzido para cnpj e codigo ape para ie, só que a validação não foi aplicada para esses documentos brasileiros, então precisava de uma mãozinha dos experts em prestashop/php, como mudaria essas validações para atender ao código cnpj e ie ? /** * Validate SIRET Code * @static * @param $siret SIRET Code * @return boolean Return true if is valid */ public static function isSiret($siret) { if (Tools::strlen($siret) != 14) return false; $sum = 0; for ($i = 0; $i != 14; $i++) { $tmp = ((($i + 1) % 2) + 1) * intval($siret[$i]); if ($tmp >= 10) $tmp -= 9; $sum += $tmp; } return ($sum % 10 === 0); } /** * Validate APE Code * @static * @param $ape APE Code * @return boolean Return true if is valid */ public static function isApe($ape) { return (bool)preg_match('/^[0-9]{3,4}[a-zA-Z]{1}$/s', $ape); } Outra coisa, além de não passar na validação ele dá mais esses erros que não sei o que significa: document É necessário doc_type É necessário Obrigado desde já. Link to comment Share on other sites More sharing options...
selectshop.at Posted October 23, 2014 Share Posted October 23, 2014 Veja também o outro tópico. O SIRET é o mesmo númere de identificacao de taxa só que traduzido para o Francês (outros nomes sao VAT-ID, UID, etc.) Cada país Europeo que faz parte da uniao monetária tem um número de taxa para o transporte intercomunitário. Isto significa, que com este número vc. paga as taxas no seu país e nao no país aonde compra a mercadoria dentro da comunidade européia. Vc. pode comparar com o merco-sur, só que muito mais elaborado, pois pelo que tenho lido a Argentina está querendo implementar uma coisa parecida. SIRET: http://www.lost-in-france.com/french-property/renovating/123-french-siret-numbers Link to comment Share on other sites More sharing options...
selectshop.at Posted October 23, 2014 Share Posted October 23, 2014 A validade deste número é feita automáticamente no Prestashop, sendo que vc. digitando um número nao existente, ele nao vai liberar o formulário de autentificacao. Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 23, 2014 Author Share Posted October 23, 2014 Tá, mas porque então o prestashop traduziu siret para cnpj e ape para ie ? Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 23, 2014 Author Share Posted October 23, 2014 Se eu não conseguir mudar essa validação para uma validação de cnpj e a validação do codigo ape para uma validação de inscrição estadual eu gostaria pelo menos de desabilitar a validação ,teria como ? Link to comment Share on other sites More sharing options...
selectshop.at Posted October 23, 2014 Share Posted October 23, 2014 As traducoes sao feitas por pessoas como eu e vc. que ás vezes nem tem profundos conhecimentos e simplesmente procuram no Google Translator. SIRET é um número de registro de empresa, que abrange um monte de coisas. O UID/VAT, etc nos oustros estados da comunidade monetária européia somente abrange as taxas fiscais que vc. acaba pagando em seu país em vez do país aonde compra. As regras, ou seja a lógica para estes campos foi desenhada para a Europa. Nao sei se vai servir para o Brasil, por ter outras leis fiscais. Link to comment Share on other sites More sharing options...
selectshop.at Posted October 23, 2014 Share Posted October 23, 2014 Vc. desativa da mesma forma que ativou. Ou foi pelo módulo VAT ou entao pelos campos em clientes - enderecos Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 23, 2014 Author Share Posted October 23, 2014 Vc. desativa da mesma forma que ativou. Ou foi pelo módulo VAT ou entao pelos campos em clientes - enderecos Hmmm, entendi, mas eu gostaria apenas de desabilitar a validação não o campo... Link to comment Share on other sites More sharing options...
Daniel - PrestaBR Posted October 23, 2014 Share Posted October 23, 2014 Recomendo copiar as funções de validação do módulo de CPF e incluí-las como um override da classe Validate. class validate extends validateCore { /** * Valida SIRET Como CNPJ * @return boolean Return true if is valid */ public static function isSiret($cnpj) { função de cnpj módulo($cnpj); } } Boa sorte. Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 23, 2014 Author Share Posted October 23, 2014 Recomendo copiar as funções de validação do módulo de CPF e incluí-las como um override da classe Validate. class validate extends validateCore { /** * Valida SIRET Como CNPJ * @return boolean Return true if is valid */ public static function isSiret($cnpj) { função de cnpj módulo($cnpj); } } Boa sorte. Não tem como eu desabilitar essas validações ? pois meu cliente mesmo irá fazer a consulta do cnpj Link to comment Share on other sites More sharing options...
selectshop.at Posted October 23, 2014 Share Posted October 23, 2014 Como escrevi em outro tópico. me parece que o módulo b2b já está super elaborado. Pelo que leio lá na documentacao deve já existir um check automático. Vc. já tentou preencher o campo com um CNPJ válido ? O que acontece ? Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 23, 2014 Author Share Posted October 23, 2014 Eu consegui desabilitar as validações comentando o que estava dentro da função e colocando o seguinte codigo: if (Tools::strlen($siret) != 100) return true; if (Tools::strlen($ape) != 100) return true; Mas continua dando os erros abaixo, oque significa isso ? Existem 2 erros document É necessário doc_type É necessário « Voltar Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 23, 2014 Author Share Posted October 23, 2014 (edited) Como escrevi em outro tópico. me parece que o módulo b2b já está super elaborado. Pelo que leio lá na documentacao deve já existir um check automático. Vc. já tentou preencher o campo com um CNPJ válido ? O que acontece ? Então, essa foi a primeira coisa que fiz, peguei um cnpj em um gerador de cnpj, mas não deu certo, dai verifiquei na classe de validacao e lá ele valida o campo pra ter 14 digitos, e o cnpj tem mais, segue um modelo: 44.288.268/0001-46 Dai eu desabilitei a validação conforme post acima, mas conforme o mesmo, está dando 2 erros que já estavam dando e ainda continua e não sei o que significam, sei que estou abusando de sua bondade, mas por favor poderia me ajudar ? =) Edited October 23, 2014 by fagnerfxa (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted October 23, 2014 Share Posted October 23, 2014 Nao, nao está abusando. Estou aqui para ajudar. É está validando o SIRET (ist que já tinha suspeitado). Tenho que ver no banco de dados aonde está escrevendo o valor. Lá poderemos alterar a quantidade de dígitos. Pode ser amanha ? Aqui já sao 22:00 passado. Estou exausta, pelo dia ter sido muito estressado. Nao mai tenho cabeca para este tipo de servico "delicado". Com código nao posso lhe ajudar. aí o Daniel é craque. Eu sou mais na parte de admin sys e banco de dados. Volto amanha após ter dado uma olhada no banco de dados. Tá ? Desejo-lhe um resto do dia sem stress. Abcs. Conny Link to comment Share on other sites More sharing options...
selectshop.at Posted October 24, 2014 Share Posted October 24, 2014 (edited) Hm. Tenho más notícias... Fui fucar no Back-office após ativer o modo b2b. O número siret somente está disponível para ser preenchido no banco de dados quando o cliente está na Franca. Verifique vc. mesmo em "clientes -> Enderecos. Edite lá um cliente teste e mude o país aonde ele vive. Para o Brasil se ativa o camp I.E. que também está ativado quando se usa Franca. O SIRET somente está disponível na franca - Número VAT/IV. Foi sito que tentei lhe explicar ontem com a localizacao. Cada país possue uma localizacao própria, codada para o país (taxas, imposto, moeada, idioma, etc...) Se vc. for mudar o país é capaz que a lógica nao mais funciona. O único campo que ambos possuem é o I.E. - que na verdade nem sei o que é. Mas vou fucar para vc. em uma versao original, pois versoes já traduzidas eu nao confio na traducao se está correta ou nao. Já tivemos um monte de problemas com isto no passado. Volto a escrever na parte da tarde, pois tenho uma hora marcada agor às 10:00 e volto ao meio-dia (horário local). Edited October 24, 2014 by selectshop.at (see edit history) Link to comment Share on other sites More sharing options...
selectshop.at Posted October 24, 2014 Share Posted October 24, 2014 Pronto: na versao original I.E. significa "Identification number". Seja lá o que for. Pode ser um número de cliente que vc. mesmo adiciona em vez do mail, ou um número qualquer. Poderíamos usar este campo, pois tenho certeza que nao valida nada. E aqui temos um problema, o número nao é escrito no banco de dados. Vc. vai usar este número para algum fim ? O campo other se escreve no banco de dados na tabela ps_address. Se tiver que ser adicionado ao banco de dados, entao é melhor manipular este campo para os seus fins e renomear a traducao para CNPJ. Ativar o campo vc. ativa em clientes -> enderecos -> definier os campos obrigatórios para esta secao. O campo depois de ser preenchido pelo cliente vai ficar em clientes -> enderecos -> edite um cliente -> bem em baixo e é escrito no banco de dados como já mencionei na tabela "ps_address", coluna "other". Espero que vc. possa usar este campo para os seus fins. Se tiver alguma dúvida escreva por aqui. Eu responderei mais tarde. Bom proveito por em quanto. Abcs. Conny Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 24, 2014 Author Share Posted October 24, 2014 Então eu devo comentar o campo siret para não ser preenchido e o I.E eu traduzo para cnpj ? Bom, não há uma necessidade de ter o valor no banco de dados, mas o meu cliente precisa ter acesso a essa informação no backoffice, mas pelo que vi aqui em class/validation.php ambos siret e ie tem validação. E quanto a esses erros de document e doc_type ? oque posso fazer pra resolver ? Obrigado. Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 24, 2014 Author Share Posted October 24, 2014 Eu ativei esse campo other mas meu form continua igual: http://divulguenaweb.net.br/lmc/loja/autenticacao Link to comment Share on other sites More sharing options...
selectshop.at Posted October 24, 2014 Share Posted October 24, 2014 I.E eu nao iria usar. Este campo deve ser um campo interno sem qualquer funcao. Vc. colocando lá dados nao vai servir para nada, pois nao escreve no banco de dados. E tenho a leve desconfianca que este campo também nao tem visibilidade no formulário de autenticacao. Se vc. um dia vai querer exportar os seus clientes também com o CNPJ nao vai dar. O único campo que nao tem validacao e escreve no banco de dados é o "others". Eu ativei, e ele está mostrando, pelo menos na conta do cliente o que é mais importante. No template deve ser questao de alteracao de código. Talvez o Daniel pode nos ajudar ? Tanto que no template deveria ser retirado o CNPJ, IE e também o erro APE que nao sei da onde vem. Este cadastro extra deve ter um script próprio, pois no processo de autenticacao para lojas b2c nao existem mesmo. Deixe a gente primeiramente definir um campo que sirva, para depois adaptar o template. Link to comment Share on other sites More sharing options...
selectshop.at Posted October 24, 2014 Share Posted October 24, 2014 Foi mais simples do que eu esperava. Veja se é assim que quer ? E o campo CNPJ além de nao ser validado ainda é escrito no banco de dados (segundo screen), Eu alterei o authentication tpl e também a traducao do "additional informations (others)" para CNPJ. É assim que te serve ? Ele vem agora tanto quando se abre uma conta sem carrinho como também no processo check-out (1passo) quando se abre uma conta juntamente com um carrinho. O campo no carrinho teria que se tirar o tamanho de cols e rows, ou seja mudar para 1 ou retirar completamente. SÓ QUE. Um problema existe: Vc. colocando o CNPJ na primeira página da abertura de contas, ele nao vai ser escrito em lugar nenhum. Somente após o cliente adicionar o endereco de sua empresa e enderecos de entrega é que o CNPJ vai ser escrito. Neste caso entao é que (e é outro template) o campo deverá ser obrigatório e vc. pode até retirar do primeiro formulário, pois inútil !! Infelizmente nao tenho outra solucao, pois o b2b é uma loja dentro de outra loja e os únicos campos que realmente sao escritos já na abertura da conta sao o SIRET e o VAT, mas que para vc. nao servem. O I.E. fui fucar é o DNI, só que este somente aparece quando o país selecionado é a ESPANHA. Muito perigoso usar estes campos que foram pré-definidos para país X, pois pode ter impacto com taxas/impostos. Vc. quer que eu lhe adapte o CNPJ para o formulário de endereco exclusivamente ? pois na autenticacao nao tem nocao mesmo se nao escreve no banco de dados. Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 24, 2014 Author Share Posted October 24, 2014 Então, eu não preciso necessariamente ter a loja no formato b2b, eu tinha ativado como intuito de ter o campo cnpj, posso numa boa ter o b2b desativado desde que tenha o campo com nome cnpj no cadastro inicial com preenchimento obrigatorio, apenas isso, no cadastro de endereço não há necessidade, apenas no cadastro inicial mesmo, será que consigo fazer isso ? desabilitar o b2b e usar o campo other traduzido para cnpj no form do cadastro inicial e tendo como validação apenas a obrigatoriedade de preenchimento ? Link to comment Share on other sites More sharing options...
selectshop.at Posted October 24, 2014 Share Posted October 24, 2014 Acredito ser uma possibilidade. Tenho que dar uma olhada. pois a authenticacao pode ser feita de duas maneiras e é composta por alguns ficheiros. Amanha ou no domingo. lhe dou uma solucao. Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 27, 2014 Author Share Posted October 27, 2014 Acredito ser uma possibilidade. Tenho que dar uma olhada. pois a authenticacao pode ser feita de duas maneiras e é composta por alguns ficheiros. Amanha ou no domingo. lhe dou uma solucao. Bom dia, vc conseguiu verificar essa possibilidade ? Obrigado. Link to comment Share on other sites More sharing options...
selectshop.at Posted October 27, 2014 Share Posted October 27, 2014 Nao, infelizmente tenho uma loja com mais de 10.000 artigos em manutencao no momento. Através de importe csv a maior parte nao é possível de manusear, porque muitos módulos extras foram implementados. Eu iria desabilitar o módulo b2b que na verdade nao serve para a maioria dos países deste mundo e ainda está em desenvolvimento e iria experimentar comentar/adicionar as linhas nos ficheiros do seu tema: autentication.tpl - para o processo de criacao de conta durante o processo check-out address.tpl - para a criacao de conta sem compra ou processo 5 passos no processo check-out. Tente nestes dois ficheiros as adaptacoes. Se nao conseguir, volta para ajuda neste tópico. Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 27, 2014 Author Share Posted October 27, 2014 Nao, infelizmente tenho uma loja com mais de 10.000 artigos em manutencao no momento. Através de importe csv a maior parte nao é possível de manusear, porque muitos módulos extras foram implementados. Eu iria desabilitar o módulo b2b que na verdade nao serve para a maioria dos países deste mundo e ainda está em desenvolvimento e iria experimentar comentar/adicionar as linhas nos ficheiros do seu tema: autentication.tpl - para o processo de criacao de conta durante o processo check-out address.tpl - para a criacao de conta sem compra ou processo 5 passos no processo check-out. Tente nestes dois ficheiros as adaptacoes. Se nao conseguir, volta para ajuda neste tópico. Desculpa não entendi, o que exatamente preciso fazer nesses 2 ficheiros ? Link to comment Share on other sites More sharing options...
fagnerfxa Posted October 28, 2014 Author Share Posted October 28, 2014 ... Link to comment Share on other sites More sharing options...
fagnerfxa Posted November 3, 2014 Author Share Posted November 3, 2014 alguem ajuda pfv Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now