/// <summary>
        /// 获取某会计期间某科目某币种对应的详细信息
        /// </summary>
        /// <param name="StartDate">开始日期</param>
        /// <param name="EndDate">结束日期</param>
        /// <param name="CurryType">币种</param>
        /// <param name="SubjectsCD">会计科目</param>
        /// <param name="CompanyCD">公司编码</param>
        /// <param name="SubjectsDetails">辅助核算主键</param>
        /// <param name="FormTBName">来源表</param>
        /// <param name="FileName">来源表字段名</param>
        /// <returns></returns>
        public static DataTable GetAccountBookInfo(string StartDate, string EndDate, string CurryType, string SubjectsCD, string CompanyCD, string SubjectsDetails, string FormTBName, string FileName)
        {
            try
            {
                string SubjectsCDList = VoucherDBHelper.GetSubjectsNextCD(SubjectsCD);
                string sql            = string.Empty;
                if (CurryType.LastIndexOf(",") == -1)
                {
                    sql = string.Format(@"select a.Abstract,a.VoucherDate,a.CurrencyTypeID,a.ExchangeRate,a.OriginalAmount,a.ForeignBeginAmount,a.ForeignThisDebit,a.ForeignThisCredit,a.ForeignEndAmount,a.BeginAmount,a.ThisDebit,a.ThisCredit,a.EndAmount,b.FromTbale,b.FromValue from officedba.AcountBook a left outer join officedba.AttestBill b on a.AttestBillID=b.ID where a.VoucherDate>='{0}' and a.VoucherDate<='{1}' and a.CurrencyTypeID='{2}' and a.SubjectsCD in ( {3} ) and a.CompanyCD='{4}' and b.CompanyCD='{5}' and a.SubjectsDetails='{6}' and a.FormTBName='{7}' and a.FileName='{8}'", StartDate, EndDate, CurryType, SubjectsCDList, CompanyCD, CompanyCD, SubjectsDetails, FormTBName, FileName);
                }
                else
                {
                    sql = string.Format(@"select a.Abstract,a.VoucherDate,a.CurrencyTypeID,a.ExchangeRate,a.OriginalAmount,a.ForeignBeginAmount,a.ForeignThisDebit,a.ForeignThisCredit,a.ForeignEndAmount,a.BeginAmount,a.ThisDebit,a.ThisCredit,a.EndAmount,b.FromTbale,b.FromValue from officedba.AcountBook a left outer join officedba.AttestBill b on a.AttestBillID=b.ID where a.VoucherDate>='{0}' and a.VoucherDate<='{1}'  and a.SubjectsCD in ( {2} ) and a.CompanyCD='{3}' and b.CompanyCD='{4}' and a.SubjectsDetails='{5}' and a.FormTBName='{6}' and a.FileName='{7}'", StartDate, EndDate, SubjectsCDList, CompanyCD, CompanyCD, SubjectsDetails, FormTBName, FileName);
                }

                return(SqlHelper.ExecuteSql(sql));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 获取账簿中不同的客户--应收帐款
        /// </summary>
        /// <param name="CurryType">币种</param>
        /// <param name="SubjectsCD">会计科目</param>
        /// <param name="CompanyCD">公司编码</param>
        /// <returns></returns>
        public static DataTable GetDistinctCusFromAcountBook(string CurryType, string SubjectsCD, string CompanyCD)
        {
            try
            {
                string SubjectsCDList = VoucherDBHelper.GetSubjectsNextCD(SubjectsCD);
                string sql            = string.Empty;
                if (CurryType.LastIndexOf(",") == -1)
                {
                    sql = string.Format(@"select distinct [SubjectsDetails],[FormTBName],[FileName] from officedba.AcountBook where CurrencyTypeID='{0}' and SubjectsCD in ( " + SubjectsCDList + " ) and CompanyCD='{1}' and SubjectsDetails<>'' and SubjectsDetails is not null  ", CurryType, CompanyCD);
                }
                else
                {
                    sql = string.Format(@"select distinct [SubjectsDetails],[FormTBName],[FileName] from officedba.AcountBook where SubjectsCD in ( " + SubjectsCDList + " ) and CompanyCD='{0}' and SubjectsDetails<>'' and SubjectsDetails is not null", CompanyCD);
                }

                return(SqlHelper.ExecuteSql(sql));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }