findAll()) == 0) { return saSettings::get('invoice_counter_next_number', 1); } $max = $this->createQuery()->orderBy('number DESC')->fetchOne()->getNumber(); $result = $max + $plus; if(saSettings::get('invoice_counter_reset', false)) { $result = saSettings::get('invoice_counter_next_number', $result); $setting = Doctrine::getTable('saSetting')->findOneBySlug('invoice_counter_reset'); if($setting) { $setting->setValue('off'); $setting->save(); } } if(!$this->findOneByNumber($result)) { return $result; } return $this->getNextNumber($plus+1); } }