示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }