Neler yeni
Presta-TR

Forumumza kayıt olarak hem destek alabilir hem de destek verebilirsiniz!

Şimdiden aramıza hoş geldiniz.

Siret ve APE

eakseven

Yeni Üye
Katılım
28 May 2010
Mesajlar
16
Tepkime puanı
0
Puanları
0
Selamlar,

Presta B2B'yi aktif ettim. Çıkan yerleri Etiketlerini Vergi Dairesi (siret) ve Vergi No (ape) olarak değiştirdim. Database'den siret ve ape'nin vchar sınıfında boyutlarını siret 40, ape 11 olarak değiştirdim. Kayıt sırasına yine hata veriyor. Sonra yurt dışı forumlarında bir yerde siret için illa database deki alan kadar veri girilmesi gerekiyor diye bilgi var...

Bunları TR kullanım için nasıl yapılandırırız.

Siret = Vergi Dairesi
APE = Vergi Numarası

bunu yapan yada yapabilen arkadaş var mıdır?

Şimdiden teşekkürler.
 
merhabalar,

Vergi Dairesi (siret) ve Vergi No (ape)

bu alanları pasif edebilirsiniz. sistemde vergi numarası alanı mevcuttur. Oranın çevirisini yapıp VD / Vno olarak tanımlayabilirsiniz. Giriş yapan kişiler bunları yanyana tek hücrede yazabilirler.
 
merhabalar,

Vergi Dairesi (siret) ve Vergi No (ape)

bu alanları pasif edebilirsiniz. sistemde vergi numarası alanı mevcuttur. Oranın çevirisini yapıp VD / Vno olarak tanımlayabilirsiniz. Giriş yapan kişiler bunları yanyana tek hücrede yazabilirler.
 
Yeni sistemimiz sırf kurumsal firmalara hitap eden bir sistem ve B2B bizim için çok uygun.

Classes/Validate.php içinde yer alan;

/**
* Validate SIRET Code
* @static
* @param $siret SIRET Code
* @return boolean Return true if is valid
*/
public static function isSiret($siret)
{
if (Tools::strlen($siret) != 40)
return false;
$sum = 0;
for ($i = 0; $i != 40; $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);
}

public static function isControllerName($name)
{
return (bool)(is_string($name) && preg_match('/^[0-9a-zA-Z-_]*$/u', $name));
}

public static function isPrestaShopVersion($version)
{
return (preg_match('/^[0-1]\.[0-9]{1,2}(\.[0-9]{1,2}){0,2}$/', $version) && ip2long($version));
}

public static function isOrderInvoiceNumber($id)
{
return (preg_match('/^(?:'.Configuration::get('PS_INVOICE_PREFIX', Context::getContext()->language->id).')\s*([0-9]+)$/i', $id));
}


ilgili yerleri VD ve VN yöre adapte edebilsek çok iyi olurdu.. Bu daha önce hiç yapıldı mı?
 
tamam return true; diyerek kontrolü pas geçirebilirsiniz.
 
Ben daha değişik bir yöntem kullandım, devre dışı bırakmak yerine bunu etkin olarak kullanmak isteyenler için;

Yapılan Adımlar;
1-Database'den Customer tablosundan siret (40), ape(11) olarak değiştirdim.
2-Presta klasörü altında bulunan Controllers/admin/AdminInvoices.php 55. satır PS_INVOICE_PREFIX 'size' => 11, olarak değiştirdim.
3-Presta klasörü altında bulunan validate.php içinden SIRET ve APE kodlarının olduğu yerleri aşğıda deyat verilmiş şekilde değiştirdim.

SIRET // if (Tools::strlen($siret) != 40)
if (Tools::strlen($siret) > 40) //$siret değişkenin uzunluğu 40'dan büyükse false döndür. 40 ve küçükse true.


APE //return (bool)preg_match('/^[0-9]{3,4}[a-zA-Z]{1}$/s', $ape);
bu kısım 3 veya 4 karakter rakam 1 karakter harf içerir diyor $ape değerinin true olması için. Fransa sistemine göre

return (bool)preg_match('/^[0-9]{10,11}$/s', $ape);
Biz kendi sistemimize göre TCkimlik no ve Vergi no girmek için 10-11 karakterlik alan için bununla değiştirmemiz yeterli olacaktır



İyi satışlar hepinize

Konu şimdi ÇÖZÜLDÜ
 
Üst Alt