Jump to content

Αλλαγή siret & ape σε ΑΦΜ & ΔΟΥ


manoil

Recommended Posts

Καλησπέρα, τα φώτα σας παρακαλώ!

 

'Εχω ενεργοποιήσει το b2b και στην μετάφραση (στις πληροφορίες επιχείρησης), έχω αλλάξει την ιστοσελίδα σε επάγγελμα, την APE σε ΔΟΥ και το SIRET σε ΑΦΜ. Όταν όμως κάποιος δημιουργεί λογαριασμό βγαίνει το εξής μήνυμα :

Υπάρχουν 4 σφάλματα

ιστοσελίδα δεν είναι έγκυρη.

ΓΕΜΗ δεν είναι έγκυρη.

ape δεν είναι έγκυρη.

Τι πρέπει να κάνω;

Link to comment
Share on other sites

Ευχαριστώ για το ενδιαφέρον να με βοηθήσεις, αλλά επειδή δεν είμαι και τόσο "γνώστης" (το παλεύω όσο μπορώ πάντως), θα σου ήταν εύκολο να μου περιγράψεις αναλυτικά τις κινήσεις μου; Θα σου ήμουν υπόχρεος...

Link to comment
Share on other sites

Ευχαριστώ για το ενδιαφέρον να με βοηθήσεις, αλλά επειδή δεν είμαι και τόσο "γνώστης" (το παλεύω όσο μπορώ πάντως), θα σου ήταν εύκολο να μου περιγράψεις αναλυτικά τις κινήσεις μου; Θα σου ήμουν υπόχρεος...

 

Θέλω να ανεβάσεις σε εικόνα τα σφάλματα που βγάζει ακριβώς. Επίσης να με περιγράψεις τη μορφή που θέλεις να έχουν τα πεδία, πχ ΑΦΜ = 9 ψηφία, ΤΚ = 5 ψηφία κοκ, ώστε να σε βοηθήσω περαιτέρω.

Link to comment
Share on other sites

Καλησπέρα,

 
Επισυνάπτω την εικόνα που μου ζήτησες και η μορφή που θα ήθελα να έχουν τα πεδία είναι : ΑΦΜ = 9 ψηφία, ΔΟΥ= κείμενο και ΕΠΑΓΓΕΛΜΑ=κείμενο.
 
Ευχαριστώ εκ των προτέρων

 

 

post-854675-0-18545200-1442855754_thumb.png

 

 

post-854675-0-18545200-1442855754_thumb.png

post-854675-0-45924600-1442855986_thumb.png

Edited by manoil (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 3 weeks later...
  • 7 years later...

Καλησπέρα παιδιά, ακολούθησα τα βήματα που αναφέρετε και δυστηχώς το κομμάτι του size δεν δουλεύει μου εμφανίζει ότι το ΑΦΜ δεν είναι έγκυρο.... θέλω το πεδίο ΑΦΜ στην φόρμα εγγραφής σε Β2Β σελίδα να δέχεται 9 ψηφία για ελληνικό ΑΦΜ και 7+1Γράμμα για Κυπριακό... έχω δοκιμάσει τα πάντα με το regex αλλά τπτ.. έχετε κάποια ιδέα πως μπορεί να λυθεί το πρόβλημα μου? 

Link to comment
Share on other sites

  • 4 months later...

Καλησπέρα 

Σε έκδοση 1,6 το εχω φταίξει και παίζει κανονικά.

Σε έκδοση 1.7.8.10 εχω αλλάξει τα παντα στο siret για να το κανω να δεχετε γράμματα αλλα δεν το δέχεται.

Αλλαξα την βαση σε 256, για να δέχεται ολα τα γραμματα.

Αλλαξα μεσα στο classes\customers.php αλλα τιποτα, το ιδιο και με το validation.php στο override αλλα τιποτα.

Εχω δοκιμάσει τα παντα σε preg_match ακομα και p{Greek} αλλα τιποτα.

Ειναι καπου αλλου στην εκδοση 1.7 που δεν το βρισκω?

Link to comment
Share on other sites

Και η Λύση σε 1.7.8.10 ειναι :

Μέσα στο classes\validate.php αλλάζουμε

/**
     * Validate SIRET Code.
     *
     * @param string $siret SIRET Code
     *
     * @return bool Return true if is valid
     */
    public static function isSiret($siret)
    {    
    
       return preg_match(Tools::cleanNonUnicodeSupport('/^[^!<>;?=+@#"°{}_$%]*$/u'), $siret);

    }

    /**
     * Validate APE Code.
     *
     * @param string $ape APE Code
     *
     * @return bool Return true if is valid
     */
    public static function isApe($ape)
    {
        return preg_match(Tools::cleanNonUnicodeSupport('/^[^!<>;?=+@#"°{}_$%]*$/u'), $ape);
    }

 Έτσι παίζει μόνο το siret, για να παίξει και το APE.

Αλλάζουμε στο /src/Core/Domain/Customer/ValueObject/ApeCode.php και βαζουμε

class ApeCode
{
    /**
     * @var string
     */
    private $code;

    /**
     * @param mixed $code
     */
    public function __construct($code)
    {
        $this->assertIsApeCode($code);

        $this->code = $code;
    }

    /**
     * @return string
     */
    public function getValue()
    {
        return $this->code;
    }

    private function assertIsApeCode($code)
    {
        if (is_string($code) && empty($code)) {
            return;
        }

        $isApeCode = preg_match(Tools::cleanNonUnicodeSupport('/^[^!<>;?=+@#"°{}_$%]*$/u'), $code);

        if (!$isApeCode) {
            throw new CustomerConstraintException(sprintf('Invalid ape code %s provided', var_export($code, true)), CustomerConstraintException::INVALID_APE_CODE);
        }
    }
}

 

Και για να παίξει και στο backoffice το APE μέσα στο πελάτη αλλάζουμε :

/src/PrestaShopBundle/Form/Admin/Sell/Customer/CustomerType.php

->add('ape_code', TextType::class, [
                    'label' => $this->trans('APE', 'Admin.Orderscustomers.Feature'),
                    'required' => false,
                    'constraints' => [
                        new Type([
                            'type' => 'alnum',
                            'message' => $this->trans('This field is invalid.', 'Admin.Notifications.Error'),
                        ]),
                    ],
                ])

σε

->add('ape_code', TextType::class, [
                    'label' => $this->trans('APE', 'Admin.Orderscustomers.Feature'),
                    'required' => false,
                    
                ])

 

Παίζει με ολους του χαρακτήρες.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...