anchor.diff:  var
       LRpcFailed: Boolean;
   begin
  -    //      ,   
  -    //  .   ,    
  -    //       .
  -    //        
  -    // 
  +    // В случае ошибки при первом вызове, метод сервера приложений
  +    // вызывается повторно. Дело в том, что при аварийном завершении
  +    // серверного процесса соединение с сервером приложений теряется.
  +    // Поэтому мы пытаемся подключиться заново и восстановить состояние
  +    // соединения
       LRpcFailed := False;
       try
           Result := CallRunMethod(Connection, AName, AParams);
  
positive.code: var
      LRpcFailed: Boolean;
  begin
      //       WorkFlow  
      //    inReturnCode, stErrorMessage
      if AName = 'SendDbList' then
          Exit(ConnectionWF.AppServer.SendDbList(OleVariant(AParams[0])));
      if AName = 'GetSPVersion' then
          Exit(ConnectionWF.AppServer.GetSPVersion);
  
      //      ,   
      //  .   ,    
      //       .
      //        
      // 
      LRpcFailed := False;
      try
          Result := CallRunMethod(ConnectionWF, AName, AParams);
  
negative.code:     CMaxDispArgs = 32;
      CLoodsmanAppServerGUID = '{392BA982-A82F-44AB-BA8A-69BE25199F73}';
      CWorkflowAppServerGUID = '{3D7F4F8F-F8A2-4AC5-B9E7-48CBC7CD2749}';
      CWebConnectionAgent = 'ЛОЦМАН:PLM Client';
      CWorkflowBase = 'WorkFlow';
      CWorkflowMethodPrefix = 'WF';
      CDisconnectTimeOut = 15 * 60 * 1000;
  
  resourcestring
      SAppServerFailed = '%s: %s'#13#10;
      SAppServerListFailed = 'Не удалось подключиться к серверу приложений ЛОЦМАН:PLM.'#13#10#13#10'%s';
      SAppServerListEmpty = 'Не определен список серверов приложений ЛОЦМАН:PLM.';
  
  var
      SharedConnection: IRemoteConnection;
  