Montag, 5. Januar 2009
Autocincrement für Custom Field
Dieses kann man aber mit ein paar Änderungen erzeugen.
In einem Custom Module sind z.B. folgende vardefs.
Achtung - dieses geht nicht mittels Erweiterungen bestehender Module über das Studio!
Dafür benötigst du "logic_hooks".
'bla' =>
array (
'required' => '1',
'name' => 'bla',
'vname' => 'LBL_BLA',
'type' => 'int',
'massupdate' => 0,
'comments' => '',
'help' => '',
'duplicate_merge' => 'disabled',
'duplicate_merge_dom_value' => 0,
'audited' => 0,
'reportable' => 0,
'len' => '11',
'auto_increment'=>true,
),
Zusätzlich muss erfasst werden:
'indices' => array (
array('name' =>'bla' , 'type'=>'unique' , 'fields'=>array('bla')
),),
Dann darauf achten, dass bei MySQL der angegebene Wert ein Autoincrement ist.
Sonntag, 4. Januar 2009
Formatierungs Tips iReport
Einige Berichte erfordern, dass ein Element unterschiedlich angezeigt werden sollen. Dieses ist z.B. bei Soll/Haben interessant.
| Order ID | City | Value |
| 1000 | New York | + 1.200,00 |
| 1001 | London | - 9.080,00 |
| 1002 | Moskau | + 3.230,00 |
Diese Anzeige bedarf eines kleines Tricks, da Felder in iReport nicht dynamisch geändert werden können.
Anstatt dessen ist es möglich, ein und dasselbe Feld doppelt an identischer Position auszugeben, allerdings mit unterschiedlichen Formatanweisungen.
Den Feldern geben wir dann mit der
Der rote Text wird im Bericht ausgewiesen, wenn der Wert negativ ist. Das grüne Element, wenn der Wert positiv ist.
Interessante Sugar Projekte
Setze "Tags" an deine Objekte um später ähnliche zu finden.
http://www.sugarforge.org/projects/tags
Visible Path
Visualisiere die Beziehungen der Kontakte.
http://www.sugarforge.org/projects/visiblepath/
Webservice Testing
Für WebService Testing. Status ist noch nicht besonders weit.
http://www.sugarforge.org/projects/ws-testing/
CE (Community Edition) Teams
Junges Projekt (November 2008).
http://www.sugarforge.org/projects/ce-teams/
Sweet Tools
Verspricht ein vollständige Erweiterung der CE Edition um Angebote, Aufträge, Rechnungem etc.
http://www.sugarforge.org/projects/sweettools
SOAP Debug
Für Debugging von SOAP Services.
http://www.sugarforge.org/projects/soapdebug
Password Reset
Gutes Projekt, leider nur alte Sugar Versionen.
http://www.sugarforge.org/projects/passwordreset
Login Audit
Gutes Projekt, loggt die Login Versuche. Leider nur alte Sugar Versionen.
http://www.sugarforge.org/projects/login-audit/
Hyperic Sugar Plugin
Wer seine Systeme mit Hyperic überwacht und Sugar betreibt vielleicht ein guter Ansatz.
http://www.sugarforge.org/projects/hq-sugar-plugin/
ERG Teams
Der nächste Versuch, Team Management in CE zu integrieren. Bislan (01/2009) nichts veröffentlicht.
http://www.sugarforge.org/projects/ergteams/
Queus
Leider derzeit nur Version 4.5.X. Guter Ansatz, um über die verschiedenen Objekte den aktuellen Status zu behalten.
http://www.sugarforge.org/projects/queues
ProcessManager
CE Process Manager. Existiert in 2 varianten (CE/PRO). Kommt leider von den Funktionen nicht an den Pro Workflow Manager von Sugar selbst heran.
http://www.sugarforge.org/projects/processmanager
Zucker Reports unter Windows installieren
Um das Modul ZuckerReports in SugarCRM zu installieren, muss in der php.ini der Wert für "max_file_upload" auf einen hohen Wert, z.B. 64 MB, gestellt werden (defaultist 8MB).
Danach das Paket unter Administration-> Module Loader einfach uploaden und installieren.
Anzeigeoptionen mit iReport
Um die Anzeige in iReport zu steuern, kann man einfach und elegant mit der Funktion
Dazu kann man Bedingungen definieren, z.B.:
- Prüfung auf einen String, druckt wenn Wert = ZPF
new Boolean($F{G1_DRU_S_DF}.equals("ZPF"))
- Prüfung auf numerischen Wert, druckt bei gleich 1
new Boolean($F{G1_DSP_S_FIRMA}.intValue( ) = = 1)
- Prüfung auf numerischen Wert, druckt bei ungleich 1
new Boolean($F{G1_DSP_S_FIRMA}.intValue( ) ! = 1)
- Prüfung auf numerischen Wert, druckt bei 1 oder 2
new Boolean($F{G1_DSP_S_FIRMA}.intValue( ) = = 1) || new Boolean($F{G1_DSP_S_FIRMA}.intValue( ) = = 2)
- Datum in Darstellung TT.MM.JJJJ
$F{G1_DSP_S_DATUMD_JH}.toString().substring(0,2) + "." + $F{G1_DSP_S_DATUMD_JH}.toString().substring(2,4) + "." + $F{G1_DSP_S_DATUMD_JH}.toString().substring(4)
In Jasper Reports können diese Ausdücke in der Option "Print when expression" verwendet werden. Bsp:
- Druck, wenn Ausdruck leer
new Boolean ( $F{inhalt}!=null) )
Feld-Eigenschaften
In die Feld-Eigenschaften gelankt man druch Doppelklick auf das Feld, oder rechtsklick->Properties
Das Feld soll mit dem Inhalt wachsen -> Common/Position type=Float + -> Text Field/Stretch with overflow=treu
Bands (Abschnitte)
Teilung eines Abschnittes verhindern -> Wird "Split allowed" auf false gesetzt, wird der Inhalt eines "Band" nicht auf mehreren Seiten verteilt. Bedingungen für die Ausgabe definieren -> In der "Print when Expression" können Bedingungen definiert werden, in welchen Fällen gedruckt werden soll. Report Eigenschaften
In den Report Eigenschaften (Report Properties) können Formatierungen wie Spalten, Seitenformat usw definiert werden.
Spalten Siehe Colums in den Report Properties Seitenumbruch steuern in den "Groups", dort Modify, kann ma mit Min height to start new page steuern, wie groß das Feld mindestens sein muss, damit es noch auf der einen, oder schon auf der anderen Seite gedruckt werden soll
Sugar CRM - Tab Konfiguration
'id' => 'DEIN_MODUL',
'beans' =>
array (
0 =>
array (
'module' => 'DEIN_MODUL
'class' => 'DEIN_MODUL',
'path' => 'modules/DEIN_MODUL/DEIN_MODUL.php',
'tab' => true,
$modules_exempt_from_availability_check['DEIN_MODUL