public static string PrintCheckByMe(string xmlIn) { double AllSumm = 0; XmlDocument Xd = new XmlDocument(); Xd.LoadXml(xmlIn); XmlNodeList Xn = Xd.GetElementsByTagName("CHECKID"); string Num = Xn[0].FirstChild.Value; XmlNodeList Xp = Xd.GetElementsByTagName("PRINTER"); string PrNum = Xp[0].FirstChild.Value; int CheckId = Convert.ToInt32(Num); string innerString = GetInnerString(xmlIn); bool Closed = xmlIn.Contains("Check Closed") || xmlIn.Contains("Чек закрыт"); if (!PrintedChecks.Contains(CheckId)) { if ((!Closed)) { GuestCount.GuestCount.SetGuestCount(CheckId); } PrintedChecks.Clear(); List <int> AlreadyPrintedCheck = new List <int>(); AlohaTSClass.CheckWindow(); List <int> Chks = AlohaTSClass.GetChecksIdInThisTable(CheckId, out AlreadyPrintedCheck); if (Chks.Count > 1) { MessageForm ManyChecksMsg = new MessageForm("Печатать все чеки на столе?"); ManyChecksMsg.button1.Text = "Да"; ManyChecksMsg.button2.Text = "Нет"; // ManyChecksMsg.button2.Visible = false; ManyChecksMsg.ShowDialog(); if (ManyChecksMsg.Result == 1) { if (AlreadyPrintedCheck.Count > 0) { string Mess = ""; foreach (int nn in AlreadyPrintedCheck) { Mess += "Предчек #" + AlohaTSClass.GetCheckById(nn).CheckShortNum + " уже напечатан. " + Environment.NewLine; } AlohaTSClass.ShowMessage(Mess); } foreach (int ChId in Chks) { PrintedChecks.Add(ChId); AlohaTSClass.PrintPredCheckByXml(ChId, Convert.ToInt32(PrNum)); try { AlohaTSClass.PrintPredCheck(ChId, true); //Это чтобы чек считался распечатанным в алохе. } catch { } } AlohaTSClass.PrintAllPredchecksById(CheckId, Convert.ToInt32(PrNum), Chks); return(""); } } else { PrintedChecks.Remove(CheckId); } } else { PrintedChecks.Remove(CheckId); return(""); } return(AlohaTSClass.GetPrintPredcheckById(CheckId, Convert.ToInt32(PrNum), false, null, innerString, Closed)); }