public static void ZReport(DateTime BD) { Utils.ToCardLog("FClient.ZReport"); FRSSrv.RemoteDataClient FClient = GetFRSClient(); //DateTime BD = AlohainiFile.BDate; if (FClient != null) { FRSSrv.ZReportResponce Res = null; try { Res = FClient.ZReport(AlohainiFile.DepNum, AlohaTSClass.GetTermNum(), BD); } catch (Exception e) { Utils.ToCardLog("Error FClient.ZReport" + e.Message); ZReportAskSaver.SaveZRepFRSAsk(BD); } if (Res != null) { if (Res.Result) { if (iniFile.XFromGes) { decimal cash = 0; decimal card = 0; GesData.GetGesData(AlohainiFile.BDate, AlohainiFile.DepNum, out cash, out card); decimal VCash = 0; try { VCash = Res.OutData.VoidPayments.Where(a => a.ExternalId == 1 && a.Term == 0).First().Summ; } catch { } try { Res.OutData.Payments.Where(a => a.ExternalId == 1 && a.Term == 0).First().Summ = cash + VCash; } catch { } } //if (iniFile.FRSPrintCheck) { if (Res.OutData.Payments.Count() > 0) { Utils.ToCardLog("FClient.ZReport print"); PrintOnWinPrinter.PrintDoc2(FiscalCheckCreator.GetEndOfSmenaVisual(Res)); } else { PrintOnWinPrinter.PrintDoc2(FiscalCheckCreator.GetZReportVisual(Res)); } } } } FClient.Close(); } else { Utils.ToCardLog("FClient == null"); ZReportAskSaver.SaveZRepFRSAsk(BD); } }
internal static List <FiscalCheckVisualString> GetEndOfSmenaVisual(FRSSrv.ZReportResponce ZRepData) { if (ZRepData == null) { ZRepData = new FRSSrv.ZReportResponce(); } FRSSrv.XReportComamnd XRepData = ZRepData.OutData; List <FiscalCheckVisualString> Res = new List <FiscalCheckVisualString>(); Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString(AlohainiFile.UNITNAME)); Res.Add(new FiscalCheckVisualString(AlohainiFile.ADDRESS1)); Res.Add(new FiscalCheckVisualString(AlohainiFile.ADDRESS2)); Res.Add(new FiscalCheckVisualString("Дата: ", DateTime.Now.ToString("dd.MM.yy HH:mm:ss"))); Res.Add(new FiscalCheckVisualString("Отчет закрытия смены", "ДБ: " + ZRepData.BUsinessDate.ToString("dd.MM.yy"))); if (XRepData.Payments == null) { XRepData.Payments = (new List <FRSSrv.XRepFiskalPayment>()).ToArray(); } Res.AddRange(GetXReportVisualPaymentsTerm(XRepData.Payments.Where(a => a.Term == 0).ToArray(), XRepData.VoidPayments.Where(a => a.Term == 0).ToArray())); //Res.Add(new FiscalCheckVisualString("Чеков за смену: ", XRepData.Payments.Sum(a => a.Count) + XRepData.VoidPayments.Sum(a => a.Count).ToString())); //Res.Add(new FiscalCheckVisualString(" ")); //Res.Add(new FiscalCheckVisualString("Чеков прихода: ", "")); //Res.Add(new FiscalCheckVisualString(XRepData.Payments.Where(a => a.Id > 0).Sum(a => a.Count).ToString(), String.Format("≡{0}".Replace(",", "."), XRepData.Payments.Where(a => a.Id > 0).Sum(a => a.Summ).ToString("0.00")), true)); //foreach (FRSSrv.XRepFiskalPayment Fp in XRepData.Payments.Where(a => a.Id > 0)) //{ // if (String.IsNullOrWhiteSpace(Fp.Name)) // { // Fp.Name = AlohaTSClass.GetTenderName(Fp.ExternalId); // } // Res.Add(new FiscalCheckVisualString(Fp.Name, String.Format("≡{0}".Replace(",", "."), Fp.Summ.ToString("0.00")))); //} //if (XRepData.Payments.Where(a => a.Id == 0).Count() > 0) //{ // Res.Add(new FiscalCheckVisualString("--------------------------")); // foreach (FRSSrv.XRepFiskalPayment Fp in XRepData.Payments.Where(a => a.Id == 0)) // { // if (String.IsNullOrWhiteSpace(Fp.Name)) // { // Fp.Name = AlohaTSClass.GetTenderName(Fp.ExternalId); // } // Res.Add(new FiscalCheckVisualString(Fp.Name, String.Format("≡{0}".Replace(",", "."), Fp.Summ.ToString("0.00")))); // } // Res.Add(new FiscalCheckVisualString("--------------------------")); //} //Res.Add(new FiscalCheckVisualString("Чеков возврата прихода: ", "")); //Res.Add(new FiscalCheckVisualString(XRepData.VoidPayments.Sum(a => a.Count).ToString(), String.Format("≡{0}".Replace(",", "."), XRepData.VoidPayments.Sum(a => a.Summ).ToString("0.00")))); //foreach (FRSSrv.XRepFiskalPayment Fp in XRepData.VoidPayments) //{ // if (String.IsNullOrWhiteSpace(Fp.Name)) // { // Fp.Name = AlohaTSClass.GetTenderName(Fp.ExternalId); // } // Res.Add(new FiscalCheckVisualString(Fp.Name, String.Format("≡{0}".Replace(",", "."), Fp.Summ.ToString("0.00")))); //} //decimal Nal = 0; //if (XRepData.Payments.Where(a => a.Id == 1).Count() > 0) //{ // Nal = XRepData.Payments.Where(a => a.Id == 1).Sum(b => b.Summ) - XRepData.VoidPayments.Where(a => a.Id == 1).Sum(b => b.Summ); //} //decimal CashFlow = 0; //CashFlow = XRepData.Payments.Where(a => a.Id > 0).Sum(b => b.Summ) - XRepData.VoidPayments.Where(a => a.Id > 0).Sum(b => b.Summ); //Res.Add(new FiscalCheckVisualString("Нал. в кассе", String.Format("≡{0}".Replace(",", "."), Nal.ToString("0.00")))); //Res.Add(new FiscalCheckVisualString("Выручка", String.Format("≡{0}".Replace(",", "."), CashFlow.ToString("0.00")))); //Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString("Смена закрыта", true, true)); Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString(" ")); Res.Add(new FiscalCheckVisualString(" ")); return(Res); }
internal static List <FiscalCheckVisualString> GetZReportVisual(FRSSrv.ZReportResponce ZRepData) { if (ZRepData == null) { return(null); } if (ZRepData.OutData == null) { return(null); } FRSSrv.ZReportComamnd Data = ZRepData.OutData; List <FiscalCheckVisualString> strs = new List <FiscalCheckVisualString>(); try { foreach (string s in Data.FRAttributesData.Klishe) { strs.Add(new FiscalCheckVisualString(s)); } strs.Add(new FiscalCheckVisualString("РН ККТ: " + Data.FRAttributesData.RN.ToString(), Data.FROutData.SysDt.ToString("dd.MM.yy HH:mm"))); strs.Add(new FiscalCheckVisualString("ЗН ККТ: " + Data.FRAttributesData.ZN.ToString(), String.Format("СМЕНА:{0} ", Data.FROutData.Smena))); strs.Add(new FiscalCheckVisualString("ЗАКРЫТИЕ СМЕНЫ", "")); //if (FCh.ReturnSale) { strs.Add(new FiscalCheckVisualString("КАССОВЫЙ ЧЕК/ВОЗВРАТ ПРИХОДА", "")); } //else { strs.Add(new FiscalCheckVisualString("КАССОВЫЙ ЧЕК/ПРИХОД", "")); } strs.Add(new FiscalCheckVisualString(String.Format("ИНН: {0}", Data.FRAttributesData.INN), String.Format("ФН:{0} ", Data.FRAttributesData.FNNumber))); strs.Add(new FiscalCheckVisualString(String.Format("Администратор"), String.Format("#{0} ", Data.FROutData.bigNum))); strs.Add(new FiscalCheckVisualString(String.Format("Сайт ФНС:"), String.Format("www.nalog.ru"))); strs.Add(new FiscalCheckVisualString(String.Format("ЧЕКОВ ЗА СМЕНУ:"), String.Format("{0}", Data.RegisterData.Where(a => a.Id < 5).Sum(a => a.SmenaCount).ToString()))); strs.Add(new FiscalCheckVisualString(String.Format("ФД ЗА СМЕНУ:"), String.Format("{0}", (Data.RegisterData.Where(a => a.Id < 5).Sum(a => a.SmenaCount) + 2).ToString()))); strs.Add(new FiscalCheckVisualString(String.Format("НЕПЕРЕДАННЫХ ФД:"), String.Format("0"))); strs.Add(new FiscalCheckVisualString(String.Format("ФД НЕ ПЕРЕДАНЫ С:"), String.Format("00.00.00"))); strs.Add(new FiscalCheckVisualString(String.Format("ПЕРВЫЙ НЕПЕРЕДАННЫЙ ФД:"), String.Format("0"))); foreach (FRSSrv.ZRepPositionData PD in Data.RegisterData) { if ((PD.Id == 11) || (PD.Id == 19)) { strs.Add(new FiscalCheckVisualString(String.Format(PD.Name), String.Format("≡{0}", PD.SmenaSumm.ToString("0.00")).Replace(",", "."))); } else if (PD.Id < 20) { strs.Add(new FiscalCheckVisualString(String.Format(PD.Name), String.Format(PD.AllCount.ToString("0000")))); } else { strs.Add(new FiscalCheckVisualString(String.Format(PD.Name), String.Format(""))); } if (PD.Id == 1 || PD.Id == 2) { strs.Add(new FiscalCheckVisualString(String.Format(PD.SmenaCount.ToString("0000")), String.Format("≡{0}", PD.SmenaSumm.ToString("0.00")).Replace(",", "."), true)); } else if (PD.Id < 10) { strs.Add(new FiscalCheckVisualString(String.Format(PD.SmenaCount.ToString("0000")), String.Format("≡{0}", PD.SmenaSumm.ToString("0.00")).Replace(",", "."))); } if (PD.PaymentsData != null) { foreach (FRSSrv.ZRepPaymentPositionData PDD in PD.PaymentsData) { if (PD.Id < 6) { if (PDD.SmenaSumm != 0) { strs.Add(new FiscalCheckVisualString(String.Format(" " + PDD.Name), String.Format("≡{0}", PDD.SmenaSumm.ToString("0.00")).Replace(",", "."))); } } else if (PD.Id == 10) { strs.Add(new FiscalCheckVisualString(String.Format(PDD.SmenaCount.ToString("0000") + " " + PDD.Name), String.Format("≡{0}", PDD.SmenaSumm.ToString("0.00")).Replace(",", "."))); } else if (PD.Id >= 20) { strs.Add(new FiscalCheckVisualString(String.Format(" " + PDD.Name), String.Format("≡{0}", PDD.SmenaSumm.ToString("0.00")).Replace(",", "."))); } } } } strs.Add(new FiscalCheckVisualString(String.Format("ФД: {0} ", Data.FROutData.FD), String.Format("ФП: {0}", Data.FROutData.FP))); strs.Add(new FiscalCheckVisualString(String.Format("СМЕНА ЗАКРЫТА"), String.Format(""))); } catch (Exception e) { Utils.ToCardLog("Error GetZReportVisual " + e.Message); } return(strs); }