4. August 2010 08:31
---------------------------
Microsoft Dynamics NAV Classic
---------------------------
Ein anderer Anwender hat den Datensatz für diese Artikel geändert, nachdem er angezeigt wurde.
Geben Sie Ihre Änderungen noch einmal in das aktualisierte Fenster ein oder nehmen Sie die unterbrochene Aktivität wieder auf.
Identifizierende Felder und Werte:
Nr.='XYZ'
---------------------------
OK
---------------------------
4. August 2010 08:41
MatthiasKönig hat geschrieben:Ich versuche dies zurzeit im OnModify Trigger der Tabelle Item zu realisieren.
4. August 2010 09:04
CompanyInformation.CHANGECOMPANY(CompanyNameText);
CompanyInformation.GET;
// nur Mandanten in dennen auch Synchronisiert wird
IF CompanyInformation."Item Synchronize" THEN BEGIN
  Item.CHANGECOMPANY(CompanyNameText);
  // Dieser Artikel in anderen Mandanten
  IF NOT Item.GET("No.") THEN BEGIN
    Item.RESET;
    Item := Rec;
    Item.INSERT(FALSE);
  END ELSE BEGIN
    Item := Rec;  
    Item.MODIFY(FALSE);
  END;
END;
4. August 2010 09:07
MatthiasKönig hat geschrieben:Mit den Triggern ist mir bewusst :(

Item.CHANGECOMPANY(...);
Item.INSERT(FALSE);Natalie hat geschrieben:und INSERT/MODIFY/DELETE ohne Trigger.
4. August 2010 09:29
4. August 2010 09:35
MatthiasKönig hat geschrieben:FALSE! :) der soll den inserten :D
4. August 2010 09:52
4. August 2010 09:56
woger hat geschrieben:Die Frage ist auch, was "Item.RESET" an dieser Stelle alles "resettet".
Onlinehilfe hat geschrieben:The CHANGECOMPANY function is not affected by the RESET Function (Record). You can deselect a company by making a new call to CHANGECOMPANY or by using the CLEAR Function.
4. August 2010 10:19
4. August 2010 10:26
MatthiasKönig hat geschrieben:edit: args dachte es gelöst zu haben....Fehler tritt wieder auf >.<
Natalie hat geschrieben:Außerdem gehe ich stark davon aus, dass du sicherstellst, dass CompanyNameText nicht versehentlich leer ist und so wieder im aktuellen Mandanten agierst?
4. August 2010 10:38
4. August 2010 10:44
MatthiasKönig hat geschrieben:Komisch ist, dass neu angelegte Artikel funktionieren und zuvor exisitierende nicht.
 
 ...
END ELSE BEGIN
  Item.TRANSFERFIELDS(Rec);  
  Item.MODIFY;
END;4. August 2010 10:53
MatthiasKönig hat geschrieben:Ich versuche dies zurzeit im OnModify Trigger der Tabelle Item zu realisieren.
MatthiasKönig hat geschrieben:Komisch ist, dass neu angelegte Artikel funktionieren und zuvor exisitierende nicht. Was könnte das nur sein?! :/
4. August 2010 11:44
Company.SETFILTER(Name, '<>%1', COMPANYNAME);
Company.FINDSET;
REPEAT
UNTIL Company.NEXT = 0;CompanyInformation.CHANGECOMPANY(CompanyNameText);
CompanyInformation.GET;
// nur Mandanten in dennen auch Synchronisiert wird
IF CompanyInformation."Item Synchronize" THEN BEGIN
  Item.CHANGECOMPANY(CompanyNameText);
  // Dieser Artikel in anderen Mandanten
  IF NOT Item.GET("No.") THEN BEGIN
    Item2.GET("No.");
    Item.RESET;
    Item := Item2;
    Item.INSERT(FALSE);
  END ELSE BEGIN
    Item2.GET("No.");
    Item := Item2;  
    Item.MODIFY(FALSE);
  END;
END;4. August 2010 11:56
Company.RESET;
Company.SETFILTER(Name,'<>%1',COMPANYNAME);
IF Company.FINDSET THEN
  REPEAT
    CompanyInformation.CHANGECOMPANY(Company.Name);
    CompanyInformation.GET;
    IF CompanyInformation."Item Synchronize" THEN BEGIN
      Item.CHANGECOMPANY(Company.Name);
      IF NOT Item.GET("No.") THEN BEGIN
        Item.RESET;
        Item := Rec;
        Item.INSERT(FALSE);
      END ELSE BEGIN
        Item := Rec; 
        Item.MODIFY(FALSE);
      END;
    END;
  UNTIL Company.NEXT = 0;4. August 2010 12:48
CompanyInformation.CHANGECOMPANY(CompanyNameText);
CompanyInformation.GET;
// nur Mandanten in dennen auch Synchronisiert wird
IF CompanyInformation."Item Synchronize" THEN BEGIN
  Item.LOCKTABLE;
  SELECTLATESTVERSION;
  Item.CHANGECOMPANY(CompanyNameText);
  // Dieser Artikel in anderen Mandanten
  IF NOT Item.GET("No.") THEN BEGIN
    Item.RESET;
    Item := Rec;
    Item.INSERT(FALSE);
  END ELSE BEGIN
    Item.TRANSFERFIELDS(Rec, FALSE);
    Item."No." := Rec."No.";
    Item.MODIFY(FALSE);
  END;
END;10. September 2018 10:29
 
   
  