Announcement

Collapse
No announcement yet.

BCM – Projektaufgabe mittels PHP erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • BCM – Projektaufgabe mittels PHP erstellen

    Hallo, ich hoffe ihr könnt mir bei meinem Problem evtl. weiterhelfen.
    Sollte es das falsche Forum sein, bitte verschieben, danke.

    Mein Ziel ist es im Grunde, über ein Webbrowser mittels HTML/PHP im Business Contact Manager von Outlook ein Geschäftsprojekt und eine Projektaufgabe zu erstellen.
    Dies funktioniert an sich sogar schon, bis auf die Tatsache, dass die Projektaufgabe in 90% der fällen erst dann zu sehen ist, wenn Outlook neu gestartet wird.
    Also es läuft so ab: Über den Webbrowser füllt man ein Formular aus, mit dem Namen des Geschäftsprojekts, Name der Projektaufgabe, Betreff, Kommentar, etc. Der Rest wie z.B. Startdatum, Priorität, etc. wird automatisch mitgefügt. (Genaueres siehe Quellcode).
    Das Formular besteht aus 4 Seiten.
    Auf Seite 1 werden die Formulardaten fürs Geschäftsprojekt (Infos über den Kunden) eingegeben.
    Auf Seite 2 werden diese ausgewertet, der Kunde angelegt und neue Formulardaten werden eingegeben, für das Geschäftsprojekt.
    Auf Seite 3 werden die Formulardaten für das Projekt ausgewertet und das Projekt wird erstellt. Danach wieder ein Formular zum Ausfüllen für die Projektaufgabe.
    Auf Seite 4 werden diese ausgewertet und die Projektaufgabe angelegt.
    Begibt man sich nach Seite 4 nun in den BCM, erscheint das Projekt meist erst gar nicht, oder wenn es (hin und wieder) erscheint, dann ist der Betreff sowie Kommentar (also das Wichtigste) leer. Nach dem Neustart hat er dann alles wunderbar übernommen.
    Das ist so das größte Problem, wo ich nicht weiter komme, hoffe ihr könnt mir da ein Paar infos zu geben.

    Zweites Problem: Meine Projektaufgaben sind nach Fälligkeitsdatum gruppiert. Allerdings erstellt er für über PHP erstellte Aufgaben eine neue Gruppierung mit aber demselben Datum.
    Beispiel: Ich erstelle eine Aufgabe über BCM direkt, dann gruppiert er das zum 29.07.2010. Mache ich am selben Tag dann eine Aufgabe mit dem PHP Programm, wird dieses neu Gruppiert, sodass ich am Ende 2x eine Gruppierung für den 29.07.2010 habe, anstatt dass er s zur vorhandenen hinzufügt.

    Würde mich über jegliche Gedankengänge freuen!

    Code:
    <-- SEITE 1 -->
    
    $con = odbc_connect('DRIVER={SQL Server};SERVER=SERVER\MSSMLBIZ;Database=ss24','','');
    
    //Wenn die Verbindung erfolgreich aufgebaut wurde, dann...
    if($con) {
            $new_user=odbc_exec($con, "USE [ss24]
                                                               DECLARE        @return_value int
                                   EXEC        @return_value = [dbo].[AddContact]
                                           @p_EntryGUID = NULL,
                                           @p_ParentEntryGUID = NULL
                                   SELECT        'Return Value' = @return_value");
    
    
    <-- Hier befindet sich Formular 1: Informationen über Kunde werden eingegeben -->
    Code:
    <-- SEITE 2 -->
    
    <-- Hier findet die Auswertung des Formulars (Seite1) statt, um Kunde anzulegen -->
    
    
    $con = odbc_connect('DRIVER={SQL Server};SERVER=SERVER\MSSMLBIZ;Database=ss24','','');
    
    if($con) {
            //Die zuletzt hinzugefügte ID wird ausgewählt
            $catch_id=odbc_exec($con, "SELECT MAX(ContactServiceID) FROM ContactMainTable");
    
            //ID wird ausgelesen und dann werden in jede Tabelle die nötigen Daten mit einem Update Befehl geschrieben
            while($result = odbc_fetch_array($catch_id)) {
                    $id = odbc_result($catch_id, '');
                    $name_table = odbc_exec($con, "UPDATE ContactDetailsTable SET FirstName='".$vorname."', LastName='".$name."', Prefix='".$anrede."',HomeAddressStreet='".$adresse."', HomeAddressCity='".$ort."', HomeAddressCountry='Deutschland', HomeAddressZip='".$plz."', WorkAddressCity='".$ort."', WorkAddressCountry='Deutschland', WorkAddressZip='".$plz."', WorkAddressStreet='".$adresse."', AssignedTo='SS24\Parvahan'  WHERE (ContactServiceID='".$id."')");
                    $main_table = odbc_exec($con, "UPDATE ContactMainTable SET CompanyName='".$firma."', MessageFlags=1, FullName='".$fullname."', FileAs='".$file_as."', Subject='".$fullname."', WorkPhoneNum='".$telefon_geschaeft."', HomePhoneNum='".$telefon_privat."', MobilePhoneNum='".$mobil."', BusinessFaxNum='".$fax."', IrisSubType='0' WHERE (ContactServiceID='".$id."')");
            }
    
            //Die generierte ID wird ausgewählt
            $catch_id2=odbc_exec($con, "SELECT FileAs FROM ContactMainTable WHERE ContactServiceID='".$id."'");
    
            //Dieser Schritt wird für das Geschäftsprojekt benötigt
            while($result2 = odbc_fetch_array($catch_id2)) {
                    $nn = odbc_result($catch_id2, 'FileAs');
            }
    
            //Die EntryGUID wird vom benötigen Datensatz bezogen
            $catch_id3=odbc_exec($con, "SELECT EntryGUID FROM ContactMainTable WHERE (ContactServiceID='".$id."')");
    
            //EntryGUID wird gefiltert, um dann ein Geschäftsprojekt zu erstellen
            while($result3 = odbc_fetch_array($catch_id3)) {
                    $id3 = odbc_result($catch_id3, 'EntryGUID');
    
                    $new_project=odbc_exec($con, "USE [ss24]
                                                                              DECLARE        @return_value int
                                          EXEC        @return_value = [dbo].[AddProject]
                                                  @p_EntryGUID = NULL,
                                                  @p_ParentEntryGUID = '".$id3."'
                                          SELECT        'Return Value' = @return_value");
            }
    
    
    <-- Hier befindet sich Formular 2: Eingabe der Daten für das Geschäftsprojekt -->
    Code:
    <-- SEITE 3 -->
    
    <-- Hier befindet sich die Aufwertung des Formulars (Seite2) um mit den Daten das Geschäftsprojekt anzulegen -->
    
    
    $con = odbc_connect('DRIVER={SQL Server};SERVER=SERVER\MSSMLBIZ;Database=ss24','','');
    
    if($con) {
            //Letzte hinzugefügte ID auslesen
            $catch_id=odbc_exec($con, "SELECT MAX(ContactServiceID) FROM ContactMainTable");
    
            //Mit Hilfe der ID die Geschäftsprojektfelder in der Datenbank schreiben
            while($result = odbc_fetch_array($catch_id)) {
                    $id = odbc_result($catch_id, '');
                    $project_main_table = odbc_exec($con, "UPDATE ContactMainTable SET ParentContactServiceID='".$id_name."', Subject='".$subject_name."', ParentType='1', MessageFlags='1', IconIndex='-1', SideEffects='81' WHERE (ContactServiceID='".$id."')");
                    $project_table = odbc_exec($con, "UPDATE ContactDetailsTable SET ProjectStatus='nicht gestartet' WHERE (ContactServiceID='".$id."')");
            }
    
            $catch_id2=odbc_exec($con, "SELECT EntryGUID, ParentEntryID FROM ContactMainTable WHERE (ContactServiceID='".$id."')");
    
            while($result2 = odbc_fetch_array($catch_id2)) {
                    $kunden_id = odbc_result($catch_id2, 'EntryGUID');
                    $projekt_id = odbc_result($catch_id2, 'ParentEntryID');
    
                    $project_task=odbc_exec($con, "USE [ss24]
                                                                                      DECLARE        @return_value int
                                                                                      EXEC        @return_value = [dbo].[AddActivity]
                                                                                      @p_EntryGUID = '".$projekt_id."',
                                                                                      @pActivityType = 23,
                                                                                      @p_ParentGUID = '".$kunden_id."',
                                                                                      @p_ActivityGUID = NULL
                                                                                      SELECT        'Return Value' = @return_value");
            }
    
    <-- Eingabeformular für die Projektaufgabe -->

    Code:
    <-- SEITE 4 -->
    
    <-- Hier befindet sich die Auswertung des Formulars (Seite3) um mit den Daten die Projektaufgabe zu erstellen -->
    
    
    $con = odbc_connect('DRIVER={SQL Server};SERVER=SERVER\MSSMLBIZ;Database=ss24','','');
    
    if($con) {
            //Kundendaten aus txt holen
            $datei = "../txt/new_user2.txt"; // Name der Datei
            $array = file($datei); // Datei in ein Array einlesen
    
            //Letzte hinzugefügte ID auslesen
            $catch_id=odbc_exec($con, "SELECT MAX(ActivityID) FROM ActivitiesTable");
    
            //Mit Hilfe der ID die Geschäftsprojektfelder in der Datenbank schreiben
            while($result = odbc_fetch_array($catch_id)) {
                    $id = odbc_result($catch_id, '');
                    $task_activ = odbc_exec($con, "UPDATE ActivitiesTable SET ActivityStatus='nicht gestartet', ActivityStartTime='".$datum.' '."00:00:00"."', ActivityEndTime='".$datum.' '."00:00:00"."', ActivityPriority='SOFORT', IconIndex='-1', MessageFlags='1' WHERE (ActivityID='".$id."')");
                    $fehlerbeschreibung = odbc_exec($con, "UPDATE ActivitiesTable SET ActivityNote='".$error."' WHERE(ActivityID='".$id."')");
                    $betreff = odbc_exec($con, "UPDATE ActivitiesTable SET Subject='".$topic."' WHERE(ActivityID='".$id."')");
                    $task_project = odbc_exec($con, "UPDATE ProjectTaskTable SET GmtDueDate='".$datum.' '."23:00:00"."', GmtStartDate='".$datum.' '."23:00:00"."', Complete='False', TaskStatus='0', PercentComplete='0',  TotalWork='0', ActualWork='0', CommonStart='".$datum.' '."23:00:00"."', AssignedTo='SS24\Parvahan' WHERE (ActivityID='".$id."')");
            }

  • #2
    http://www.office-loesung.de/ftopic401253_0_0_asc.php

    http://social.answers.microsoft.com/...6-e84393d4e070
    Zuletzt editiert von Christian Marquardt; 29.07.2010, 18:08.
    Christian

    Comment

    Working...
    X