private bool RSCSamplePut(string IDD) { if (IsSC(IDD, "Сотрудники")) { return(ToModeChoiseWork(IDD)); } else if (IsSC(IDD, "Принтеры")) { if (!Printer.FoundIDD(IDD)) { return(false); } if (FPrinter.PrinterType == 1) { FPrinter = new RefPrinter(this); FExcStr = "Не допустим принтер этикеток!"; return(false); } return(true); } else { FExcStr = "Не верный тип справочника!"; return(false); } }
private void OnReactionSCPrinter(RefPrinter e) { if (ReactionSCPrinter != null) { ReactionSCPrinter(this, e); ThereHandler = true; } }
internal virtual ABaseMode ReactionBarcodeBase(string Barcode) { JumpCounter = 0; FResult = MMResult.None; ResultObject = this; ThereHandler = false; Dictionary<string, string> dicBarcode = Helper.DisassembleBarcode(Barcode); bool IsRef = false; bool IsObject = false; //Это реально существующий объект //Это может быть справочник! ARef Ref = null; if (Barcode.Substring(0, 2) == "25" && dicBarcode["Type"] == "113") { Ref = new RefEmployer(SS); if (Ref.FoundIDD(dicBarcode["IDD"])) { IsRef = true; OnReactionSCEmployers(Ref as RefEmployer); } if (!IsRef) { Ref = new RefSection(SS); if (Ref.FoundIDD(dicBarcode["IDD"])) { IsRef = true; OnReactionSCSection(Ref as RefSection); } } if (!IsRef) { Ref = new RefPrinter(SS); if (Ref.FoundIDD(dicBarcode["IDD"])) { IsRef = true; OnReactionSCPrinter(Ref as RefPrinter); } } } else if (dicBarcode["Type"] == "6") { Ref = new RefBox(SS); if (Ref.FoundID(dicBarcode["ID"])) { IsRef = true; OnReactionSCBox(Ref as RefBox); } } else if (Barcode.Substring(0, 2) == "26" && dicBarcode["Type"] == "113") { Doc Doc = new Doc(SS); if (Doc.FoundIDD(dicBarcode["IDD"])) { IsObject = true; OnReactionDoc(Doc); } } else if (dicBarcode["Type"] == "pallete") { //ВОТ ЭТА ХУЕТА НИ КАК НЕ УЧИТЫВАЕТСЯ (КАК ОБЪЕКТ, ВСМЫСЛЕ) // ТАК ЧТО ПОТЕНЦИАЛЬНО МОГУТ БЫТЬ ПРОБЛЕМЫ НА ВСЯКИЙ СЛУЧАЙ ВЗВОДИМ ФЛАГ IsObject = true; //OnReactionPallete(Convert.ToInt32(dicBarcode["pallete"])); OnReactionPallete(Barcode); } IsObject = IsRef ? true : IsObject; //Если это справочник, то полюбому объект if (!IsObject) { //Товаром он может быть при любом раскладе, так что если не определился как объект, то будем искать товар Ref = new RefItem(SS); if ((Ref as RefItem).FoundBarcode(Barcode)) { { IsRef = true; OnReactionSCItem(new ReactionSCEventArgs(Barcode, Ref)); } } } if (IsRef) { //Вверху обрабатывали только справочники и в какой-то из них попали OnReactionSC(new ReactionSCEventArgs(Barcode, Ref)); } OnReactionBarcode(Barcode); // просто реакция на штрихкод if (!ThereHandler) { //никакой обработчик не сработал! Отобъем исходя из настроек по умолчанию FExcStr = "Нет действий с этим ШК в данном режиме!"; FResult = MMResult.Negative; } return ResultObject; }
} // SCAcceptance private bool RSCAcceptanceCross(string IDD) { if (IsSC(IDD, "Сотрудники")) { if (!ToModeChoiseWork(IDD)) { return(false); } QuitModeAcceptance(); return(true); } else if (IsSC(IDD, "Принтеры")) { if (Printer.GetAttribute("IDD").ToString() == IDD) { FPrinter = new RefPrinter(this); FExcStr = "Обнулили принтер!"; return(true); } if (!Printer.FoundIDD(IDD)) { return(false); } return(true); } else if (IsSC(IDD, "Секции")) { if (FPalletID == "") { FExcStr = "Не выбрана паллета!"; return(false); } string SectionsID; GetSC(IDD, "Секции", out SectionsID); string TextQuery = "BEGIN TRAN; " + "UPDATE $Спр.ПеремещенияПаллет WITH (rowlock)" + "SET " + "$Спр.ПеремещенияПаллет.Адрес0 = :ID, " + "$Спр.ПеремещенияПаллет.ФлагОперации = 2 " + "WHERE " + "$Спр.ПеремещенияПаллет .id = :Pallet; " + "UPDATE DH$ЗаказНаКлиента WITH (rowlock) " + "SET " + "$ЗаказНаКлиента.Адрес = :ID " + "WHERE " + "$ЗаказНаКлиента.Паллета = :Pallet; " + "COMMIT TRAN; "; QuerySetParam(ref TextQuery, "Pallet", FPalletID); QuerySetParam(ref TextQuery, "ID", SectionsID); if (!ExecuteWithoutRead(TextQuery)) { return(false); } //почистим паллеты от греха и почистим паллеты FExcStr = "Укажите количество мест!"; return(true); } else { FExcStr = "Не верный тип справочника!"; return(false); } } // SCAcceptance
//Reaction private bool RSCAcceptance(string IDD) { if (IsSC(IDD, "Сотрудники")) { if (!ToModeChoiseWork(IDD)) { return(false); } QuitModeAcceptance(); return(true); } else if (IsSC(IDD, "Принтеры")) { if (Printer.GetAttribute("IDD").ToString() == IDD) { FPrinter = new RefPrinter(this); FExcStr = "Обнулили принтер!"; return(true); } if (!Printer.FoundIDD(IDD)) { return(false); } return(true); } else if (IsSC(IDD, "Секции")) { if (FPalletID == "") { FExcStr = "Не выбрана паллета!"; return(false); } string SectionsID; GetSC(IDD, "Секции", out SectionsID); string StrPallets = ""; foreach (DataRow dr in FPallets.Rows) { StrPallets += ", '" + dr["ID"].ToString() + "'"; } StrPallets = StrPallets.Substring(2); //Убираем спедери запятые string TextQuery = "UPDATE $Спр.ПеремещенияПаллет " + "SET " + "$Спр.ПеремещенияПаллет.Адрес0 = :ID, " + "$Спр.ПеремещенияПаллет.ФлагОперации = 2 " + "WHERE $Спр.ПеремещенияПаллет .id in (:Pallet) "; TextQuery = TextQuery.Replace(":Pallet", StrPallets); QuerySetParam(ref TextQuery, "ID", SectionsID); QuerySetParam(ref TextQuery, "EmptyDate", GetVoidDate()); QuerySetParam(ref TextQuery, "EmployerID", Employer.ID); QuerySetParam(ref TextQuery, "Date", DateTime.Now); QuerySetParam(ref TextQuery, "Time", APIManager.NowSecond()); if (!ExecuteWithoutRead(TextQuery)) { return(false); } //почистим табличку паллет от греха и почистим паллеты FPallets.Rows.Clear(); FPalletID = ""; FBarcodePallet = ""; return(true); } else { FExcStr = "Не верный тип справочника!"; return(false); } } // SCAcceptance