Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 24. 4. 2012, 23:37:53
ako by sa dalo vyriesit generovanie variabilneho symbolu v takomto tavare 2012000012 teda vzdy pricitat +1 na koniec cisla.
vdaka M. |
||
mzk Profil * |
#2 · Zasláno: 24. 4. 2012, 23:41:28
Monkeys:
„2012000012 teda vzdy pricitat +1 na koniec cisla.“ vždyť sis sám odpověděl. jen je problém, že si musíš někam ukládat to poslední zadané číslo (do souboru, případně využívat klíčů u databáze) |
||
Monkeys Profil * |
#3 · Zasláno: 24. 4. 2012, 23:44:46
mzk:
„využívat klíčů u databáze“ toto ma zaujalo ako je to myslene ? M. |
||
Oli Profil * |
#4 · Zasláno: 25. 4. 2012, 00:37:20
Pravdepodobne tak, ze databaze maji schopnost automaticky navysovat cislo o jedna. Takze, kdyz budes mit v databazi uchovavany to id, tak pak pri kazdem ulozeni do databaze se ulozi id naposledy ulozenyho + 1.
btw. ta funkce se jmenuje auto_increment. |
||
peta Profil |
#5 · Zasláno: 25. 4. 2012, 08:21:13
U mysql jde nastavit klic/index typu INT na autoincrement. Nevyhoda je, ze kdyz radek smazes, tak autoincremet promenna zustava stejne, takze dalsi faktura bude mit cislo +2 misto +1. Klice by vyuzivat tedy nesli, protoze me zkusenosti rikaji, ze si lide chteji faktury i mazat. Pokud neni faktura odeslana, pak neni duvod, proc by si ji nemohli smazat, pokud uz nevystavili jinou. Pripadne ji prepsat na jinou osobu.
|
||
Oli Profil * |
#6 · Zasláno: 25. 4. 2012, 09:29:13
Sice tomu vubec nerozumim, ale faktura musí mít čísla za sebou a nesmí se nic vynechat???
Jinek ten problem s +2 se nechá vyřešit přes PHP, kde si zkontroluješ jestli ten řádek co mažeš je poslední a když je, tak nastavíš hodnotu auto_increment na číslo, které jsi právě smazal. |
||
peta Profil |
#7 · Zasláno: 25. 4. 2012, 10:24:57
Cisla faktur musi jit po sobe. V okamziku, kdy uprostred smazes fakturu, je tam dira. Nebo, kdyz je tam faktura uprostred s novejsim datumem nez maji nasledujici. Jak je novy rok, tak se zacne cislovat zas od 1 (2012-000001). Berni urad moc zajimaji takove nesrovnalosti.
|
||
Monkeys Profil * |
#8 · Zasláno: 25. 4. 2012, 11:00:08
vyriesene
'var_symbol.txt' = 2012000000 $subor = 'var_symbol.txt'; $file=fopen($subor,"r+"); $pocet=fgets($file,100); $pocet++; fseek($file,0); fputs($file,$pocet); fclose($file); |
||
Joker Profil |
#9 · Zasláno: 25. 4. 2012, 11:18:07
peta:
„Nevyhoda je, ze kdyz radek smazes, tak autoincremet promenna zustava stejne“ „V okamziku, kdy uprostred smazes fakturu, je tam dira“ „Berni urad moc zajimaji takove nesrovnalosti.“ Jak přesně se dá „smazat vydaná faktura“? A ještě navíc „místo ní“ vystavit někomu jinému jinou fakturu se stejným číslem? Takové praktiky budou berní úřad zajímat mnohem víc. Monkeys: Řešením je mít někde „číselník“ a ve správnou chvíli si přidělit hodnotu. Kód v [#8] je takové jednoduché řešení. |
||
peta Profil |
#10 · Zasláno: 25. 4. 2012, 14:46:36
"Pokud neni faktura odeslana, pak neni duvod, proc by si ji nemohli smazat, pokud uz nevystavili jinou. "
|
||
Časová prodleva: 12 let
|
0