コード例 #1
0
 public override void DocumentKindValueInput(Sungero.Docflow.Client.OfficialDocumentDocumentKindValueInputEventArgs e)
 {
     base.DocumentKindValueInput(e);
     if (e.NewValue != e.OldValue && e.NewValue != null)
     {
         if (_obj.BusinessUnit != null && _obj.Department != null && _obj.DocumentRegister != null)
         {
             Enumeration settingType;
             if (e.NewValue.NumberingType == Docflow.DocumentKind.NumberingType.Numerable)
             {
                 settingType = Docflow.RegistrationSetting.SettingType.Numeration;
             }
             else
             {
                 settingType = _obj.RegistrationState == RegistrationState.Registered ?
                               Docflow.RegistrationSetting.SettingType.Registration :
                               Docflow.RegistrationSetting.SettingType.Reservation;
             }
             var documentRegisters = Functions.RegistrationSetting.GetAvailableSettingsByParams(settingType, _obj.BusinessUnit, e.NewValue, _obj.Department).Select(s => s.DocumentRegister).ToList();
             if (!documentRegisters.Contains(_obj.DocumentRegister))
             {
                 e.AddError(AccountingDocumentBases.Resources.NeedCancelRegistrationToChangeKind);
             }
         }
     }
 }
コード例 #2
0
        public virtual void DocumentKindValueInput(Sungero.Docflow.Client.OfficialDocumentDocumentKindValueInputEventArgs e)
        {
            if (e.NewValue != e.OldValue && _obj.RegistrationState == RegistrationState.Registered)
            {
                e.AddWarning(Docflow.Resources.DocumentKindWasChanged);
            }

            // Проверка доступности нумерации.
            if (e.NewValue != null &&
                e.NewValue.AutoNumbering == true &&
                !Functions.OfficialDocument.IsObsolete(_obj, _obj.LifeCycleState))
            {
                var setting = Docflow.PublicFunctions.RegistrationSetting.GetSettingForKind(_obj, Docflow.RegistrationSetting.SettingType.Numeration, e.NewValue);
                if (setting == null)
                {
                    e.AddWarning(_obj.Info.Properties.DocumentKind, Sungero.Docflow.Resources.NumberingSettingsRequiredForSave, _obj.Info.Properties.LifeCycleState);
                }
                else
                {
                    e.AddInformation(_obj.Info.Properties.DocumentKind, Sungero.Docflow.Resources.DocumentNumberAutomaticallyGeneratedOnSave, _obj.Info.Properties.LifeCycleState);
                }
            }

            if (_obj.AccessRights.CanUpdate() && !Functions.Module.IsLockedByOther(_obj))
            {
                var hasReservationSetting = PublicFunctions.RegistrationSetting.GetAvailableSettingsByParams(Docflow.RegistrationSetting.SettingType.Reservation, _obj.BusinessUnit, e.NewValue, _obj.Department).Any();
                e.Params.AddOrUpdate(Sungero.Docflow.Constants.OfficialDocument.HasReservationSetting, hasReservationSetting);
            }
        }
コード例 #3
0
        public override void DocumentKindValueInput(Sungero.Docflow.Client.OfficialDocumentDocumentKindValueInputEventArgs e)
        {
            // Определить НОР до вызова метода предка для корректной подборки настройки регистрации.
            // При отсутствии НОР настройка регистрации может не подобраться и отобразится предупреждающий хинт, хотя настройки (при заполненной НОР) подбираются корректно.
            if (e.NewValue != null && e.NewValue.NumberingType != Docflow.DocumentKind.NumberingType.NotNumerable && _obj.BusinessUnit == null)
            {
                _obj.BusinessUnit = Docflow.PublicFunctions.Module.GetDefaultBusinessUnit(Company.Employees.Current);
            }

            base.DocumentKindValueInput(e);
        }
コード例 #4
0
 public override void DocumentKindValueInput(Sungero.Docflow.Client.OfficialDocumentDocumentKindValueInputEventArgs e)
 {
     base.DocumentKindValueInput(e);
     if (Functions.IncomingLetter.HaveDuplicates(_obj, e.NewValue, _obj.BusinessUnit, _obj.InNumber, _obj.Dated, _obj.Correspondent))
     {
         e.AddWarning(IncomingLetters.Resources.DuplicateDetected,
                      _obj.Info.Properties.DocumentKind,
                      _obj.Info.Properties.BusinessUnit,
                      _obj.Info.Properties.InNumber,
                      _obj.Info.Properties.Dated,
                      _obj.Info.Properties.Correspondent);
     }
 }
コード例 #5
0
 public override void DocumentKindValueInput(Sungero.Docflow.Client.OfficialDocumentDocumentKindValueInputEventArgs e)
 {
     base.DocumentKindValueInput(e);
     if (Functions.IncomingInvoice.HaveDuplicates(_obj, e.NewValue, _obj.Number, _obj.Date, _obj.TotalAmount, _obj.Currency, _obj.Counterparty))
     {
         e.AddWarning(IncomingInvoices.Resources.DuplicateDetected,
                      _obj.Info.Properties.DocumentKind,
                      _obj.Info.Properties.Number,
                      _obj.Info.Properties.Date,
                      _obj.Info.Properties.TotalAmount,
                      _obj.Info.Properties.Currency,
                      _obj.Info.Properties.Counterparty);
     }
 }