コード例 #1
0
        protected override bool Execute(CodeActivityContext context)
        {
            if (string.IsNullOrEmpty(ObjectIds))
            {
                Errors.Set(context, "Не определены объекты для которых будет сформирован баланс");
                return(false);
            }

            MultiPsSelectedArgs args;

            try
            {
                args = ObjectIds.DeserializeFromString <MultiPsSelectedArgs>();
            }
            catch (Exception ex)
            {
                Errors.Set(context, "Ошибка преобразования параметров " + ex.Message);
                return(false);
            }

            try
            {
                var res = ARM_Service.BL_GetFreeHierarchyBalanceByObjects(args.PSList,
                                                                          StartDateTime.Get(context),
                                                                          EndDateTime.Get(context), TimeZoneId,
                                                                          DiscreteType, UnitDigit);

                if (res != null && res.CalculatedValues != null)
                {
                    Balances.Set(context, res.CalculatedValues.Values.ToList());

                    if (res.Errors != null && res.Errors.Length > 0)
                    {
                        Errors.Set(context, res.Errors.ToString());
                    }
                }
            }

            catch (Exception ex)
            {
                Errors.Set(context, ex.Message);
                if (!HideException.Get(context))
                {
                    throw ex;
                }
            }

            return(string.IsNullOrEmpty(Errors.Get(context)));
        }