//Lançamento Contabil private static void GerarRegistroI200(TRegistro_Empresa rEmpresa, DateTime?Dt_ini, DateTime?Dt_fin, StringBuilder SpedContabil, ThreadEspera tEspera) { if (tEspera != null) { tEspera.Msg("Gerando registro I200..."); } decimal cont = decimal.Zero; CamadaDados.Contabil.TList_LanContabil lLanctos = new CamadaDados.Contabil.TCD_LanctosCTB().Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rEmpresa.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.data)))", vOperador = ">=", vVL_Busca = "'" + Dt_ini.Value.ToString("yyyyMMdd") + "'" }, new TpBusca() { vNM_Campo = "convert(datetime, floor(convert(decimal(30,10), a.data)))", vOperador = "<=", vVL_Busca = "'" + Dt_fin.Value.ToString("yyyyMMdd") + "'" } }, 0, string.Empty, string.Empty); lLanctos.Where(p => p.D_c.Trim().ToUpper().Equals("D")).OrderBy(p => p.Data).ToList().ForEach(p => { string regI200 = "|I200|"; //Numero Lote regI200 += p.ID_LoteCTB.Value.ToString() + "|"; //Data Lançamento regI200 += p.Data.Value.ToString("ddMMyyyy") + "|"; //Valor Lançamento regI200 += p.Valor.ToString("N2").Replace(System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyGroupSeparator, string.Empty).Replace('.', ',') + "|"; //Tipo Lançamento N-Normal E-Encerramento regI200 += p.Tp_integracao.Trim().ToUpper().Equals("ZR") ? "E|" : "N|"; SpedContabil.AppendLine(regI200); Qtd_linhaI++; cont++; //Registro Filho I250 GerarRegistroI250(lLanctos.FindAll(v => v.ID_LoteCTB == p.ID_LoteCTB), SpedContabil, tEspera); }); if (cont > decimal.Zero) { RegArq.Adiciona(new TRegistro_RegArquivo() { Registro = "I200", Qtd_linha = cont }); } }