protected override bool Execute(CodeActivityContext context)
        {
            try
            {
                var res = ARM_Service.BL_GetFreeHierarchyBalanceResult(BalanceFreeHierarchyUNs.Get(context),
                                                                       StartDateTime.Get(context),
                                                                       EndDateTime.Get(context),
                                                                       TimeZoneId, TExportExcelAdapterType.toXLSx, false,
                                                                       DiscreteType, UnitDigit, false, UnitDigit, false, false, 0, 0, false, false, false);

                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)));
        }
        protected override bool Execute(CodeActivityContext context)
        {
            try
            {
                var balanceFreeHierarchyUNs = new List <string> {
                    BalanceId.Get(context)
                };

                var balanceResult = ARM_Service.BL_GetFreeHierarchyBalanceResult(balanceFreeHierarchyUNs,
                                                                                 StartDateTime.Get(context),
                                                                                 EndDateTime.Get(context),
                                                                                 null,
                                                                                 TExportExcelAdapterType.toXLSx, true,
                                                                                 DiscreteType, EnumUnitDigit.Kilo, false,
                                                                                 EnumUnitDigit.Kilo, true, false, 3, 3, false, false, false);

                if (balanceResult != null)
                {
                    if (balanceResult.CalculatedValues == null || balanceResult.CalculatedValues.Count == 0)
                    {
                        throw new Exception("Документ не сформирован. Неверный идентификатор или баланс удален.");
                    }

                    var calculatedResult = balanceResult.CalculatedValues.First().Value;

                    if (calculatedResult.CompressedDoc == null)
                    {
                        throw new Exception("Документ пуст. Ошибка формирования");
                    }

                    var ms = new MemoryStream();

                    CompressUtility.DecompressGZip(calculatedResult.CompressedDoc).CopyTo(ms);
                    ms.Position = 0;
                    Document.Set(context, ms);
                }
            }

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

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