xsouku04 píše:A nechcete si raději stahovat kopii těch hovorů k sobě a na ní teprve dělat ty statistiky ?
Máme v databázi řádově stamilióny hovorů a přístup kdy opakovaně taháte celou historii jen kvůli jednomu grafu asi není úplně efektivní.
I dříve tam nějaké omezení bylo, jen jste na něj nenarazil. Není ale problém to na přechodnou dobu vrátit.
Je ještě pro někoho důležitá historie hovorů starší než 2 roky ?
Vyrobil jsem aplikaci Odorik Soucty, kterou jsem chtel zdarma zverejnit a uvolnit pro vsechny. Bohuzel jsem nemel cas na uplne dokonceni (je tam jeste nekolik dalsich zde nezminovanych funkci) vcetne popisu/ukazek apod., takze ji vyuzivam zatim jen soukrome ja a okruh mych nejblizsich znamych jako neverejnou beta verzi, zakladni funkce (soucty+hovory) jiz ale plne funguji. Snad se nekdy dokopu k jejimu dokonceni a uvolneni, ale nemohu slibovat zadny termin.
V teto aplikaci stahuji pres API natvrdo celou historii CSV, protoze vim, ze Odorik to podporuje a je to
mnohem jednodussi, nez stahovat inkrementalne jen od posledniho stazeni a pak resit presne navazovani dat (konverze datumu z blbeho formatu + resit UTC cas atd.).
Navic s omezenim na stazeni jen za posledni 2 roky se pak jiz nelze dostat k puvodnim datum, pokud nekdo zacne pouzivat napriklad tuto moji aplikaci az nyni!
Zde prikladam ukazku jak vypada moje aplikace, ktera po spusteni dle API jmena/hesla ulozeneho v INI souboru automaticky stahne cely vypis a zobrazi mesicni soucty utrat (vpravo dole i aktualni kredit):

- odorik_soucty_11.png (12.02 KiB) Zobrazeno 5132 krát
Pri dvojkliku na danem radku pak zobrazi detail daneho mesice (nebo vsech na radku Celkem) ve forme jednotlivych hovoru, kde lze filtrovat (dvojklikem na telefon nebo vyberem z horni nabidky) dle konkretniho telefonniho cisla. U hovoru se take automaticky dotahuje jmeno z kontaktu:

- odorik_soucty_33.png (32.64 KiB) Zobrazeno 5132 krát
Zde je uryvek z castecne pripraveneho TXT popisu aplikace:
Odorik Součty - verze 1.0
==========================
Program pro zobrazení/filtraci součtů dle CSV výpisů Odorika stažených přes API.
Program po stažení CSV výpisu umožňuje filtrování dle délky/ceny/směru/destinace hovoru.
Součty jsou možné dle Den/Měsíc/Rok.
Program vždy po spuštění stáhne aktuální CSV výpis za celé období (od roku 2000 do dneška) a
tento výpis uloží do souboru odorik_soucty_data.csv. Následně nad ním provádí součty a filtrace,
jejichž výsledky jednak zobrazuje v okně aplikace a
zároveň zvolené součty automaticky ukládá do TXT souboru odorik_soucty_data.txt.
Chování programu lze ovlivnit nastavením v INI souboru.
Před prvním spuštěním programu je nutné do INI souboru zadat API jméno a heslo.
Jako vstupní parametr (příkazové řádky) lze zadat INI soubor,
jiný INI soubor je vhodný např. pro zobrazení součtů jiné linky nebo jiného účtu s jiným API jménem/heslem.
Pokud není INI zadán použije se stejné jméno jako je jméno EXE souboru, ale s příponou INI.
Program načte a zobrazí CSV výpis s tím, že umožňuje:
-----------------------------------------------------
- zobrazení součtů za zadané období (den/měsíc/rok)
- zobrazení ceny/délky/počtu hovorů
- zobrazení min/prům/max/celkem
- zobrazení počtu období a aktuálního kreditu ve stavovém řádku
- možnost filtrace dle délky/ceny/směru/destinace
- zapamatování posledních zadaných voleb období/filtrace
- na dvojklik na daném řádku zobrazení seznamu hovorů pro dané období
- v seznamu hovorů zobrazení jména dle rychlých kontaktů u telefonu odkud/kam (tel. číslo jako ToolTip)
- v seznamu hovorů možnost filtrace dle konkrétního tel. čísla (dvojklikem nebo výběrem z rozbalovací nabídky)
- v seznamu hovorů zobrazení počtu odchozích/příchozích/všech hovorů
- v seznamu hovorů zobrazení celkového součtu délky a ceny
- možnost zvolit zda zobrazovat/počítat i přesměrované hovory
- možnost zvolit formát zobrazení délky hovorů: hh:mm:ss nebo jen mm:ss
- volitelné barevné zvýraznění řádků pokud cena za měsíc je větší než hodnota zadaná v INI souboru
- automatický export vyfiltrovaných součtů do TXT souboru
- rychlá filtrace dle stejné hodnoty sloupce dvojklikem
Poznámky:
---------
- při spuštění se vždy nejprve načítají rychlé kontakty aby se místo tel. čísel mohla zobrazovat jména
a aby bylo možné zobrazit seznam rychlých kontaktů klávesovou zkratkou F9
pokud je zapnutý parametr NestahovatCSV, pak se nestahují ani kontakty
a načítají se ze souboru odorik_soucty_kontakty.json tedy z posledního stažení,
- při spuštění se vždy nejprve zjistí dostupný kredit který se zobrazuje ve spodním stavovém řádku
pokud je zapnutý parametr NestahovatCSV, pak se dostupný kredit nezjišťuje
- CSV výpis hovorů se stahuje vždy od 1.1.2000 do dnešního dne 23:59:59
pokud je zapnutý parametr NestahovatCSV, pak se načte naposledy stažený CSV výpis ze souboru odorik_soucty_data.csv
- při výpočtu min/prům/max ceny/délky/počtu hovorů se nepočítá poslední období (den/měsíc/rok),
protože toto poslední období ještě není celé
- implicitně se zobrazují jen odchozí hovory s nenulovou délkou a nenulovou cenou, tedy ty placené
- na dvojklik na daném řádku se zobrazí seznamu hovorů pro dané období na kterém se provedl dvojklik
při dvojkliku na řádku s celkovým součtem "Celkem:" se zobrazí všechny hovory
- v okně hovorů se zobrazují příchozí hovory zeleně a odchozí hovory modře
přesměrované hovory, pokud není zakázáno jejich zobrazování, se zobrazují černě
- nastavením INI parametru "DelkaVMinutach=1/0" lze zvolit formát zobrazení délky hovorů: hh:mm:ss nebo jen mm:ss,
jen mm:ss je vhodné pro porovnání s ceníkovými tarify operátorů, kteří uvádějí konzumaci v minutách,
v tomto programu je ale implicitně nastaven formát hh:mm:ss
- nastavením INI parametru "CerveneCenaMesicVetsiNez=100" lze volitelně barevně (červeně) zvýraznit řádky
pokud cena za měsíc je větší než hodnota zadaná v INI souboru (zde 100 Kč)
toto barevné zvýraznění se provádí jen při měsíčním členění, ne při denním nebo ročním členění
Z vyse uvedeneho vyplyva, ze radeji nez omezovat moznost vypisu hovoru do minulosti bych spis zavedl nejaky limit pro max. pocet stazeni (jen rozsahlych?) vypisu za urcity casovy limit (hodina/den/mesic?), pokud je to pro vas tak vytezujici.
Toto opatreni by ve vysledku neomezovalo klienty v pristupu k cennym kompetnim datum sveho uctu, kdyz se kdykoliv v budoucnu rozhodnou je stahnout a nejak analyzovat.Nebo by se mohl v API pripravit na stazeni kompletni historie samostatny prikaz/parametr a jeho pouziti by bylo omezeno na maximalne nekolikrat za hodinu/den/mesic) a standardni historie by pak byla omezena jen na posledni 2 roky bez omezeni poctu spusteni.