示例#1
0
        public DataRow OpenDT(ref DataTable DT, string SQL, dynamic _Conn = null, dynamic _Trans = null)
        {
            dynamic DA = null;

            try {
                if (DT == null)
                {
                    DT = new DataTable();
                }
                else
                {
                    DT.Clear();
                }

                DA = CreateDataAdapter(SQL, _Conn, _Trans);
                DA.Fill(DT);

                if ((DT.Rows.Count > 0))
                {
                    return(DT.Rows[0]);
                }
                else
                {
                    return(null);
                }
            } catch (Exception ex) {
                throw (ex);
            } finally {
                ClearDataAdapter(ref DA, _Conn);
            }
        }
示例#2
0
        /// <summary>
        /// непосредственно сосет из базы
        /// </summary>
        /// <param name="RefreshAll">обновлять все</param>
        private void Refresh(bool RefreshAll)
        {
            DataTable DT;
            //Настройки обмена МОД
            string TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.НастройкиОбменаМОД ";

            if (!SS.ExecuteWithRead(TextQuery, out DT))
            {
                return;
            }
            RefreshTimestamp = DateTime.Now;
            FSettingsMOD     = DT.Rows[0]["val"].ToString();

            //Эти обновляются только в принудиловку
            if (RefreshAll)
            {
                //а тут подсасываем констатну главного склада
                TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.ОснСклад ";
                DT.Clear();
                if (!SS.ExecuteWithRead(TextQuery, out DT))
                {
                    return;
                }
                FMainWarehouse = DT.Rows[0]["val"].ToString();

                //тут подсасываем константу товар для единиц
                TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.ТоварДляЕдиниц ";
                DT.Clear();
                if (!SS.ExecuteWithRead(TextQuery, out DT))
                {
                    return;
                }
                FItemForUnits = DT.Rows[0]["val"].ToString();
            }
        }
示例#3
0
        private bool ToModeSetCompleteAfrerBox(RefSection Adress)
        {
            EmpbtyBox = false;
            string TextQuery = "select iddoc from DH$КонтрольНабора where iddoc in (:Docs) and $КонтрольНабора.Коробка = :box";

            TextQuery = TextQuery.Replace(":Docs", Helper.ListToStringWithQuotes(DocsSet));
            if (Adress == null)
            {
                EmpbtyBox = true;
                QuerySetParam(ref TextQuery, "box", GetVoidID());
            }
            else
            {
                QuerySetParam(ref TextQuery, "box", Adress.ID);
            }
            DataTable DT;

            if (!ExecuteWithRead(TextQuery, out DT))
            {
                return(false);
            }
            if (DT.Rows.Count == 0)
            {
                FExcStr = "Сборочный с такой коробкой не найдет!";
                return(false);
            }
            if (!LoadDocSet(DT.Rows[0]["iddoc"].ToString()))
            {
                return(false);
            }

            RepeatCountBox = false;
            BoxOk          = false;
            DocSet.Boxes   = 0;
            TextQuery      =
                "Select " +
                "count(*) as boxes " +
                "from $Спр.МестаПогрузки (nolock) " +
                "where $Спр.МестаПогрузки.КонтрольНабора = :iddoc";
            QuerySetParam(ref TextQuery, "iddoc", DocSet.ID);
            DT.Clear();
            if (ExecuteWithRead(TextQuery, out DT))
            {
                if (DT.Rows.Count > 0)
                {
                    DocSet.Boxes = (int)DT.Rows[0]["boxes"];
                }
            }

            TextQuery =
                "Select " +
                "ISNULL(RefSection.$Спр.Секции.МаксКорешков , 0) as MaxStub " +
                "from DH$КонтрольНабора as DocCC (nolock) " +
                "left join $Спр.Секции as RefSection (nolock) " +
                " on DocCC.$КонтрольНабора.Сектор = RefSection.id " +
                "where DocCC.iddoc = :iddoc";
            QuerySetParam(ref TextQuery, "iddoc", DocSet.ID);
            DT.Clear();
            if (!ExecuteWithRead(TextQuery, out DT))
            {
                return(false);
            }
            DocSet.MaxStub = (int)(decimal)DT.Rows[0]["MaxStub"];

            BoxForSet = Adress;
            if (Employer.SelfControl)
            {
                TextQuery =
                    "select top 1 iddoc " +
                    "from DT$КонтрольНабора as DocT (nolock) " +
                    "where " +
                    "iddoc = :iddoc " +
                    "and DocT.$КонтрольНабора.Состояние0 = 2 " +
                    "and DocT.$КонтрольНабора.Контроль <= 0 " +
                    "and DocT.$КонтрольНабора.СостояниеКорр = 0 " +
                    "and DocT.$КонтрольНабора.Количество > 0 ";
                QuerySetParam(ref TextQuery, "iddoc", DocSet.ID);
                DT.Clear();
                if (!ExecuteWithRead(TextQuery, out DT))
                {
                    return(false);
                }
                if (DT.Rows.Count > 0)
                {
                    //Включен самоконтроль и осталось что-то "поконтролить"
                    return(ToModeSetSelfControl());
                }
            }
            return(true);
        } // ToModeSetCompleteAfterBox
        private void InsertDate_AfterAddBtnPressed(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;
            try
            {
                __Form = __app.Forms.GetForm(pVal.FormTypeEx, pVal.FormTypeCount);

                oRs   = (SAPbobsCOM.Recordset)____bobCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                oRs1  = (SAPbobsCOM.Recordset)____bobCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                oGrid = __Form.Items.Item("grid").Specific;

                int Progress = 0;
                SAPbouiCOM.ProgressBar oProgressBar = null;
                oProgressBar = __app.StatusBar.CreateProgressBar("Updating History ", Htable.Rows.Count, true);

                #region UpdateHistoryTable
                for (int i = 0; i < Htable.Rows.Count; i++)
                {
                    try
                    {
                        int    DocEntry        = int.Parse(Htable.Rows[i][0].ToString()); //oGrid.DataTable.GetValue("DocEntry", i);
                        string CollectionNotes = Htable.Rows[i][1].ToString();            //oGrid.DataTable.GetValue("As Collection Notes", i);

                        oProgressBar.Text  = "Updating History " + i + " rows...";
                        Progress          += 1;
                        oProgressBar.Value = Progress;

                        if (!string.IsNullOrEmpty(CollectionNotes))
                        {
                            SAPbobsCOM.GeneralService        oGeneralService;
                            SAPbobsCOM.GeneralData           oGeneralData;
                            SAPbobsCOM.CompanyService        sCmp = null;
                            SAPbobsCOM.GeneralData           oChild;
                            SAPbobsCOM.GeneralDataCollection oChildren;
                            SAPbobsCOM.GeneralDataParams     oGeneralParams;

                            sCmp = ____bobCompany.GetCompanyService();

                            oGeneralService = sCmp.GetGeneralService("UDOB1CZHDR");
                            oGeneralData    = (SAPbobsCOM.GeneralData)oGeneralService.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData);

                            string SqlQry = "";
                            SqlQry = "SELECT \"Code\" FROM \"@AW_B1CZHDR\" Where \"U_DocEntry\"=" + DocEntry;
                            oRs.DoQuery(SqlQry);

                            if (oRs.RecordCount > 0)
                            {
                                ____bobCompany.StartTransaction();
                                string SqlCode = "";
                                SqlCode = "SELECT T0.\"Code\",T1.\"U_AsColNotes\",T1.\"U_UpdateDate\"  FROM \"@AW_B1CZHDR\" T0 INNER JOIN \"@AW_B1CZDTL\" T1 ON T1.\"U_DocEntry\"=T0.\"U_DocEntry\" and T0.\"Code\"=T1.\"Code\" " +
                                          " Where T0.\"U_DocEntry\"=" + DocEntry;
                                oRs1.DoQuery(SqlCode);

                                oGeneralData.SetProperty("Code", Convert.ToString(oRs1.Fields.Item("Code").Value));
                                oGeneralData.SetProperty("Name", Convert.ToString(oRs.Fields.Item("Code").Value));
                                oGeneralData.SetProperty("U_DocEntry", DocEntry);


                                oChildren = oGeneralData.Child("AW_B1CZDTL");

                                for (int j = 0; j < oRs1.RecordCount; j++)
                                {
                                    oChild = oChildren.Add();
                                    oChild.SetProperty("U_DocEntry", DocEntry);
                                    oChild.SetProperty("U_AsColNotes", oRs1.Fields.Item("U_AsColNotes").Value);
                                    oChild.SetProperty("U_UpdateDate", oRs1.Fields.Item("U_UpdateDate").Value);
                                    oRs1.MoveNext();
                                }

                                oChild = oChildren.Add();
                                oChild.SetProperty("U_DocEntry", DocEntry);
                                oChild.SetProperty("U_AsColNotes", CollectionNotes);
                                oChild.SetProperty("U_UpdateDate", DateTime.Now);

                                oGeneralService.Update(oGeneralData);
                                if (____bobCompany.InTransaction)
                                {
                                    ____bobCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit);
                                }
                            }
                            else
                            {
                                ____bobCompany.StartTransaction();
                                string SqlCode = "";
                                SqlCode = "SELECT IFNULL(MAX((CAST(\"Code\" AS int))),0)+1 \"MaxCode\",IFNULL(MAX((CAST(\"DocEntry\" AS int))),0)+1 \"MaxDocEntry\" FROM \"@AW_B1CZHDR\"";
                                oRs.DoQuery(SqlCode);

                                oGeneralData.SetProperty("Code", Convert.ToString(oRs.Fields.Item("MaxCode").Value));
                                oGeneralData.SetProperty("Name", Convert.ToString(oRs.Fields.Item("MaxCode").Value));
                                oGeneralData.SetProperty("U_DocEntry", DocEntry);

                                oChildren = oGeneralData.Child("AW_B1CZDTL");
                                oChild    = oChildren.Add();
                                oChild.SetProperty("U_DocEntry", DocEntry);
                                oChild.SetProperty("U_AsColNotes", CollectionNotes);
                                oChild.SetProperty("U_UpdateDate", DateTime.Now.Date);

                                oGeneralService.Add(oGeneralData);
                                if (____bobCompany.InTransaction)
                                {
                                    ____bobCompany.EndTransaction(SAPbobsCOM.BoWfTransOpt.wf_Commit);
                                }
                            }
                        }
                    }
                    catch (Exception)
                    {
                    }
                }

                oProgressBar.Stop();
                Htable.Clear();
                DT.Clear();
                DT = null;
                #endregion

                string CardCode = __Form.Items.Item("Item_0").Specific.Value;

                string SqlDoc = "";
                if (!string.IsNullOrEmpty(CardCode))
                {
                    SqlDoc = "CALL AGING_REPORT ('" + CardCode + "')";
                }
                else
                {
                    SqlDoc = "CALL AGING_REPORT (NULL)";
                }
                oRs.DoQuery(SqlDoc);

                if (oRs.RecordCount > 0)
                {
                    if (DT == null)
                    {
                        DT = __Form.DataSources.DataTables.Add("DT1" + DateTime.Now.Second);
                    }

                    DT.ExecuteQuery(SqlDoc);

                    oGrid.DataTable = DT;
                    oGrid.AutoResizeColumns();

                    oGrid.Columns.Item("Customer Code").Editable = false;
                    oGrid.Columns.Item("Customer Name").Editable = false;

                    oGrid.Columns.Item("Customer Name").Editable = false;
                    oGrid.Columns.Item("Type").Editable          = false;
                    SAPbouiCOM.EditTextColumn Typcol = (SAPbouiCOM.EditTextColumn)oGrid.Columns.Item("DocEntry");
                    Typcol.LinkedObjectType = "13";
                    oGrid.Columns.Item("TransType").Visible          = false;
                    oGrid.Columns.Item("DocEntry").Editable          = false;
                    oGrid.Columns.Item("Document No.").Editable      = false;
                    oGrid.Columns.Item("Customer Ref. No.").Editable = false;
                    oGrid.Columns.Item("Posting Date").Editable      = false;
                    oGrid.Columns.Item("Due Date").Editable          = false;
                    oGrid.Columns.Item("Future").Editable            = false;
                    oGrid.Columns.Item("0-30 Days").Editable         = false;
                    oGrid.Columns.Item("31-60 Days").Editable        = false;
                    oGrid.Columns.Item("61-90 Days").Editable        = false;
                    oGrid.Columns.Item("91-120 Days").Editable       = false;
                    oGrid.Columns.Item("121+ Days").Editable         = false;

                    SAPbouiCOM.EditTextColumn col = (SAPbouiCOM.EditTextColumn)oGrid.Columns.Item("AWDocEntry");
                    col.LinkedObjectType = "UDOB1CZHDR";
                    col.Width            = 15;

                    oGrid.Columns.Item("DocEntry").Editable    = false;
                    oGrid.Columns.Item("Balance Due").Editable = false;
                    oGrid.Columns.Item("Previous Collection Notes").Editable = false;

                    oGrid.CollapseLevel = 1;
                }
            }
            catch (SqlException e)
            {
                __app.MessageBox(e.Message, 1, "Ok", "", "");
                BubbleEvent = false;
            }
            catch (COMException e)
            {
                __app.MessageBox(e.Message, 1, "Ok", "", "");
                BubbleEvent = false;
            }
            catch (Exception e)
            {
                __app.MessageBox(e.Message, 1, "Ok", "", "");
                BubbleEvent = false;
            }
        }
示例#5
0
        } // Cancel

        //Подсасываем всю необходимую инфу для отображения товара (скопипизжено ToModeAcceptedItem())
        protected bool QuestItem()
        {
            //private bool ToModeAcceptedItem(string ItemID, string IDDoc, Mode ToMode, int InPartyCount, bool OnShelf)

            //DataRow[] DR;
            AdressConditionItem = null;

            string    TextQuery = "SELECT VALUE as val FROM _1sconst (nolock) WHERE ID = $Константа.ОснЦентрСклад ";
            DataTable DT;

            if (!SS.ExecuteWithRead(TextQuery, out DT))
            {
                return(false);
            }
            BufferWarehouse = DT.Rows[0]["val"].ToString();

            //Если был дисконнект, то это проявиться после нижеследующего запроса
            //и дальше будет, не приемка, а редактирование карточки, для этого запрос и помещен в начало
            if (!LoadUnits(Item.InvCode))
            {
                return(false);
            }

            //FExcStr - несет смысл
            AcceptedItem = new StructItem();
            AcceptedItem.GenerateBarcode = false;

            #region Вроде не нужно

            /* if (NewBarcodes == null)
             * {
             *  NewBarcodes = new List<string>();
             * }
             * else
             * {
             *  NewBarcodes.Clear();
             * }*/

            //Определяем имеется ли данный товар в списке принимаемых
            //CurrentRowAcceptedItem = null;
            //int AllCount = 0;


            /* if (ToMode == Mode.Acceptance)
             * {
             *   DR = FNotAcceptedItems.Select("ID = '" + ItemID + "'");
             *   if (DR.Length > 1 && IDDoc != "")
             *   {
             *       foreach (DataRow dr in DR)
             *       {
             *           if (dr["IDDOC"].ToString() == IDDoc)
             *           {
             *               if (CurrentRowAcceptedItem == null)
             *               {
             *                   CurrentRowAcceptedItem = dr;
             *               }
             *           }
             *           AllCount += (int)dr["Count"];
             *       }
             *   }
             *   else if (DR.Length > 0) //Один товар или не указана строка документа
             *   {
             *       CurrentRowAcceptedItem = DR[0];
             *       foreach (DataRow dr in DR)
             *       {
             *           AllCount += (int)dr["Count"];
             *       }
             *   }
             *   //иначе это скан товара не из списка!
             * }*/



            //БЛОКИРУЕМ ТОВАР
            //if (!LockItem(ItemID))
            //{
            //    return false;
            //}
            #endregion

            #region Запрос ОПРЕДЕЛЯЕМ ОСТАТКИ И АДРЕСА
            TextQuery =
                "DECLARE @curdate DateTime; " +
                "SELECT @curdate = DATEADD(DAY, 1 - DAY(curdate), curdate) FROM _1ssystem (nolock); " +
                "SELECT " +
                "CAST(sum(CASE WHEN Main.Warehouse = :MainWarehouse THEN Main.Balance ELSE 0 END) as int) as BalanceMain, " +
                "CAST(sum(CASE WHEN Main.Warehouse = :BufferWarehouse THEN Main.Balance ELSE 0 END) as int) as BalanceBuffer, " +
                "ISNULL((" +
                "SELECT top 1 " +
                "Section.descr " +
                "FROM _1sconst as Const (nolock) " +
                "LEFT JOIN $Спр.Секции as Section (nolock) " +
                "ON Section.id = left(Const.value, 9) " +
                "WHERE " +
                "Const.id = $Спр.ТоварныеСекции.Секция " +
                "and Const.date <= :DateNow " +
                "and Const.OBJID in (" +
                "SELECT id FROM $Спр.ТоварныеСекции " +
                "WHERE " +
                "$Спр.ТоварныеСекции.Склад = :MainWarehouse " +
                "and parentext = :Item)" +
                "ORDER BY " +
                "Const.date DESC, Const.time DESC, Const.docid DESC), '<не задан>') as AdressMain, " +
                "ISNULL((" +
                "SELECT top 1 " +
                "Section.descr " +
                "FROM _1sconst as Const (nolock) " +
                "LEFT JOIN $Спр.Секции as Section (nolock) " +
                "ON Section.id = left(Const.value, 9) " +
                "WHERE " +
                "Const.id = $Спр.ТоварныеСекции.Секция " +
                "and Const.date <= :DateNow " +
                "and Const.OBJID in (" +
                "SELECT id FROM $Спр.ТоварныеСекции " +
                "WHERE " +
                "$Спр.ТоварныеСекции.Склад = :BufferWarehouse " +
                "and parentext = :Item)" +
                "ORDER BY " +
                "Const.date DESC, Const.time DESC, Const.docid DESC), '<не задан>') as AdressBuffer " +
                "FROM (" +
                "SELECT " +
                "$Рег.ОстаткиТоваров.Склад as Warehouse, " +
                "$Рег.ОстаткиТоваров.Товар as Item, " +
                "$Рег.ОстаткиТоваров.ОстатокТовара as Balance " +
                "FROM " +
                "RG$Рег.ОстаткиТоваров (nolock) " +
                "WHERE " +
                "period = @curdate " +
                "and $Рег.ОстаткиТоваров.Товар = :Item " +
                "and $Рег.ОстаткиТоваров.Склад in (:MainWarehouse, :BufferWarehouse) " +
                "UNION ALL " +
                "SELECT " +
                ":MainWarehouse, :Item, 0 " +
                ") as Main " +
                "GROUP BY Main.Item";
            SQL1S.QuerySetParam(ref TextQuery, "DateNow", DateTime.Now);
            SQL1S.QuerySetParam(ref TextQuery, "Item", Item.ID);
            SQL1S.QuerySetParam(ref TextQuery, "BufferWarehouse", BufferWarehouse);
            SQL1S.QuerySetParam(ref TextQuery, "MainWarehouse", Const.MainWarehouse);
            DT.Clear();
            if (!SS.ExecuteWithRead(TextQuery, out DT))
            {
                return(false);
            }
            #endregion

            AcceptedItem.BalanceMain   = (int)DT.Rows[0]["BalanceMain"];
            AcceptedItem.BalanceBuffer = (int)DT.Rows[0]["BalanceBuffer"];
            AcceptedItem.AdressMain    = DT.Rows[0]["AdressMain"].ToString();
            AcceptedItem.AdressBuffer  = DT.Rows[0]["AdressBuffer"].ToString();
            AcceptedItem.IsRepeat      = false;

            Dictionary <string, object> DataMapWrite = new Dictionary <string, object>();

            #region Запрос Подсосем остатки в разрезе адресов и состояний
            TextQuery =
                "DECLARE @curdate DateTime; " +
                "SELECT @curdate = DATEADD(DAY, 1 - DAY(curdate), curdate) FROM _1ssystem (nolock); " +
                "SELECT " +
                "min(Section.descr) as Adress, " +
                "CASE " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = -10 THEN '-10 Автокорректировка' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = -2 THEN '-2 В излишке' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = -1 THEN '-1 В излишке (пересчет)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 0 THEN '00 Не существует' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 1 THEN '01 Приемка' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 2 THEN '02 Хороший на месте' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 3 THEN '03 Хороший (пересчет)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 4 THEN '04 Хороший (движение)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 7 THEN '07 Бракованный на месте' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 8 THEN '08 Бракованный (пересчет)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 9 THEN '09 Бракованный (движение)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 12 THEN '12 Недостача' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 13 THEN '13 Недостача (пересчет)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 14 THEN '14 Недостача (движение)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 17 THEN '17 Недостача подтвержденная' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 18 THEN '18 Недостача подт.(пересчет)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 19 THEN '19 Недостача подт.(движение)' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 22 THEN '22 Пересорт излишек' " +
                "WHEN RegAOT.$Рег.АдресОстаткиТоваров.Состояние = 23 THEN '23 Пересорт недостача' " +
                "ELSE rtrim(cast(RegAOT.$Рег.АдресОстаткиТоваров.Состояние as char)) + ' <неизвестное состояние>' END as Condition, " +
                "cast(sum(RegAOT.$Рег.АдресОстаткиТоваров.Количество ) as int) as Count " +
                "FROM " +
                "RG$Рег.АдресОстаткиТоваров as RegAOT (nolock) " +
                "LEFT JOIN $Спр.Секции as Section (nolock) " +
                "ON Section.id = RegAOT.$Рег.АдресОстаткиТоваров.Адрес " +
                "WHERE " +
                "RegAOT.period = @curdate " +
                "and RegAOT.$Рег.АдресОстаткиТоваров.Товар = :ItemID " +
                "and RegAOT.$Рег.АдресОстаткиТоваров.Склад = :Warehouse " +
                "GROUP BY " +
                "RegAOT.$Рег.АдресОстаткиТоваров.Адрес , " +
                "RegAOT.$Рег.АдресОстаткиТоваров.Товар , " +
                "RegAOT.$Рег.АдресОстаткиТоваров.Состояние " +
                "HAVING sum(RegAOT.$Рег.АдресОстаткиТоваров.Количество ) <> 0 " +
                "ORDER BY Adress, Condition";
            SQL1S.QuerySetParam(ref TextQuery, "DateNow", DateTime.Now);
            SQL1S.QuerySetParam(ref TextQuery, "ItemID", Item.ID);
            SQL1S.QuerySetParam(ref TextQuery, "Warehouse", Const.MainWarehouse);
            if (!SS.ExecuteWithRead(TextQuery, out AdressConditionItem))
            {
                AdressConditionItem = null;
            }
            #endregion

            #region Запрос Я не знаю что это...
            TextQuery =
                "SELECT " +
                "Goods.Descr as ItemName," +
                "Goods.$Спр.Товары.ИнвКод as InvCode, " +
                "Goods.$Спр.Товары.Артикул as Article, " +
                "Goods.$Спр.Товары.КоличествоДеталей as Details, " +
                "Goods.$Спр.Товары.БазоваяЕдиницаШК as BaseUnitID, " +
                "Goods.$Спр.Товары.МинПартия as MinParty, " +
                "Goods.$Спр.Товары.Опт_Цена as Price,  " +
                //"Goods.$Спр.Товары." + (ToMode == Mode.Acceptance ? "Прих_Цена" : "Опт_Цена") + " as Price,  " +
                //"isnull(RefSections.$Спр.ТоварныеСекции.РазмерХранения , 0) as StoregeSize " +
                "isnull(RefSections.$Спр.ТоварныеСекции.РасчетныйРХ , 0) as StoregeSize " +
                "FROM $Спр.Товары as Goods (nolock) " +
                "left join $Спр.ТоварныеСекции as RefSections (nolock) " +
                "on RefSections.parentext = Goods.id and RefSections.$Спр.ТоварныеСекции.Склад = :warehouse " +
                "WHERE Goods.id = :Item ";
            SQL1S.QuerySetParam(ref TextQuery, "Item", Item.ID);
            SQL1S.QuerySetParam(ref TextQuery, "warehouse", Const.MainWarehouse);
            DT.Clear();
            if (!SS.ExecuteWithRead(TextQuery, out DT))
            {
                return(false);
            }
            #endregion

            AcceptedItem.Details    = (int)(decimal)DT.Rows[0]["Details"];
            AcceptedItem.NowDetails = AcceptedItem.Details;

            AcceptedItem.ID                = Item.InvCode;
            AcceptedItem.Name              = DT.Rows[0]["ItemName"].ToString();
            AcceptedItem.InvCode           = DT.Rows[0]["InvCode"].ToString();
            AcceptedItem.Acticle           = DT.Rows[0]["Article"].ToString();
            AcceptedItem.BaseUnitID        = DT.Rows[0]["BaseUnitID"].ToString();
            AcceptedItem.MinParty          = (int)(decimal)DT.Rows[0]["MinParty"];
            AcceptedItem.Count             = 0;
            AcceptedItem.Price             = (decimal)DT.Rows[0]["Price"];
            AcceptedItem.Acceptance        = false;
            AcceptedItem.ToMode            = OldMode.CurrentMode;
            AcceptedItem.BindingAdressFlag = false;
            AcceptedItem.StoregeSize       = (int)(decimal)DT.Rows[0]["StoregeSize"];
            AcceptedItem.CurrentBalance    = AcceptedItem.BalanceMain;


            #region Если это необходимо, то определяем количество товара для склада инвентаризации
            if (AcceptedItem.ToMode != Mode.Inventory || InventoryWarehouse.ID == Const.MainWarehouse)
            {
                AcceptedItem.CurrentBalance = AcceptedItem.BalanceMain;
            }
            else if (InventoryWarehouse.ID == BufferWarehouse)
            {
                AcceptedItem.CurrentBalance = AcceptedItem.BalanceBuffer;
            }
            else
            {
                //Остатков этого склада нет!
                TextQuery =
                    "DECLARE @curdate DateTime; " +
                    "SELECT @curdate = DATEADD(DAY, 1 - DAY(curdate), curdate) FROM _1ssystem (nolock); " +
                    "SELECT sum(Main.Balance) as Balance " +
                    "FROM " +
                    "(SELECT " +
                    "$Рег.ОстаткиТоваров.Товар as Item, " +
                    "$Рег.ОстаткиТоваров.ОстатокТовара as Balance " +
                    "FROM " +
                    "RG$Рег.ОстаткиТоваров (nolock) " +
                    "WHERE " +
                    "period = @curdate " +
                    "and $Рег.ОстаткиТоваров.Товар = :ItemID " +
                    "and $Рег.ОстаткиТоваров.Склад = :Warehouse " +
                    "UNION ALL " +
                    "SELECT :ItemID, 0 " +
                    ") as Main " +
                    "GROUP BY Main.Item;";
                SQL1S.QuerySetParam(ref TextQuery, "DateNow", DateTime.Now);
                SQL1S.QuerySetParam(ref TextQuery, "ItemID", Item.ID);
                SQL1S.QuerySetParam(ref TextQuery, "Warehouse", InventoryWarehouse.ID);
                if (!SS.ExecuteWithRead(TextQuery, out DT))
                {
                    return(false);
                }
                AcceptedItem.CurrentBalance = (int)(decimal)DT.Rows[0]["Balance"];
            }
            #endregion

            #region А теперь имя склада!
            if (AcceptedItem.ToMode != Mode.Inventory)
            {
                TextQuery =
                    "SELECT descr as Name FROM $Спр.Склады (nolock) WHERE ID = :Warehouse";
                SQL1S.QuerySetParam(ref TextQuery, "Warehouse", Const.MainWarehouse);
                if (!SS.ExecuteWithRead(TextQuery, out DT))
                {
                    return(false);
                }
                AcceptedItem.CurrentWarehouseName = DT.Rows[0]["Name"].ToString();
            }
            else
            {
                AcceptedItem.CurrentWarehouseName = InventoryWarehouse.Name;
            }
            #endregion

            #region c Mode.Transfer думаю пока не нужно

            /*if (OldMode.CurrentMode == Mode.Transfer)
             * {
             *  if (ATDoc.ToWarehouseSingleAdressMode)
             *  {
             *      DR = FTransferReadyItems.Select("ID = '" + AcceptedItem.ID + "'");
             *      if (DR.Length > 0)
             *      {
             *          AcceptedItem.BindingAdress = DR[0]["Adress1"].ToString();
             *          AcceptedItem.BindingAdressName = DR[0]["AdressName"].ToString();
             *          AcceptedItem.BindingAdressFlag = true;
             *      }
             *      else if (!Employer.CanMultiadress && AcceptedItem.CurrentBalance > 0)
             *      {
             *          //ОПРЕДЕЛИМ РЕКОМЕНДУЕМЫЙ АДРЕС
             *          TextQuery =
             *              "SELECT top 1 " +
             *              " left(const.value, 9) as Adress, " +
             *              " section.descr as AdressName " +
             *              "FROM _1sconst as const(nolock) " +
             *              "LEFT JOIN $Спр.Секции as Section (nolock) " +
             *                      "ON Section.id = left(value, 9) " +
             *              "WHERE " +
             *                  "const.id = $Спр.ТоварныеСекции.Секция " +
             *                  "and const.date <= :DateNow " +
             *                  "and const.OBJID in (" +
             *                                 "SELECT id FROM $Спр.ТоварныеСекции (nolock) " +
             *                                  "WHERE " +
             *                                      "$Спр.ТоварныеСекции.Склад = :Warehouse " +
             *                                      "and parentext = :Item) " +
             *              "ORDER BY " +
             *                  "const.date DESC, const.time DESC, const.docid DESC ";
             *          SQL1S.QuerySetParam(ref TextQuery, "DateNow", DateTime.Now);
             *          SQL1S.QuerySetParam(ref TextQuery, "Item", Item.ID);
             *          SQL1S.QuerySetParam(ref TextQuery, "Warehouse", ATDoc.ToWarehouseID);
             *          if (!SS.ExecuteWithRead(TextQuery, out DT))
             *          {
             *              return false;
             *          }
             *          if (DT.Rows.Count == 1)
             *          {
             *              AcceptedItem.BindingAdress = DT.Rows[0]["Adress"].ToString();
             *              AcceptedItem.BindingAdressName = DT.Rows[0]["AdressName"].ToString();
             *              AcceptedItem.BindingAdressFlag = true;
             *          }
             *      }
             *  }
             * }*/
            #endregion

            #region Заполнение FExcStr. Для подпитки это не нужно

            /*if (AcceptedItem.ToMode == Mode.Acceptance)
             * {
             *  FExcStr = "РЕДАКТИРОВАНИЕ КАРТОЧКИ! ТОВАРА НЕТ В СПИСКЕ ПРИНИМАЕМЫХ!";
             * }
             * else if (AcceptedItem.ToMode == Mode.Inventory)
             * {
             *  FExcStr = "РЕДАКТИРОВАНИЕ КАРТОЧКИ!";
             * }
             * else if (AcceptedItem.ToMode == Mode.SampleInventory)
             * {
             *  FExcStr = "ОБРАЗЕЦ! " + FExcStr;
             * }
             * else if (AcceptedItem.ToMode == Mode.SamplePut)
             * {
             *  FExcStr = "ОБРАЗЕЦ (выкладка)! " + FExcStr;
             * }
             * else if (AcceptedItem.ToMode == Mode.Transfer || AcceptedItem.ToMode == Mode.NewInventory || AcceptedItem.ToMode == Mode.Harmonization || AcceptedItem.ToMode == Mode.HarmonizationPut)
             * {
             *  if (OnShelf)
             *  {
             *     // RefItem Item = new RefItem(this); (уже объялен)
             *      Item.FoundID(AcceptedItem.ID);
             *      RefSection BindingAdress = new RefSection(this);
             *      BindingAdress.FoundID(AcceptedItem.BindingAdress);
             *
             *      if (AcceptedItem.BindingAdressFlag)
             *      {
             *          FExcStr = "НА ПОЛКУ! Отсканируйте адрес!"; // по умолчинию так ставим, а ниже условия которые могут этот текст поменять
             *
             *          if (!Item.ZonaHand.Selected && !BindingAdress.AdressZone.Selected)
             *          {
             *              FExcStr = "НА ПОЛКУ! Отсканируйте адрес: " + AcceptedItem.BindingAdressName;
             *          }
             *          else if (Item.ZonaHand.Selected && BindingAdress.AdressZone.Selected)
             *          {
             *              if (Item.ZonaHand.ID == BindingAdress.AdressZone.ID)
             *              {
             *                  FExcStr = "НА ПОЛКУ! Отсканируйте адрес: " + AcceptedItem.BindingAdressName;
             *              }
             *          }
             *      }
             *      else if (AcceptedItem.ToMode == Mode.Harmonization)
             *      {
             *          //ну не пиздец ли это???
             *          FExcStr = "В ТЕЛЕЖКУ! Отсканируйте адрес!";
             *      }
             *      else
             *      {
             *          FExcStr = "НА ПОЛКУ! Отсканируйте адрес!";
             *      }
             *  }
             *  else
             *  {
             *      DR = FTransferReadyItems.Select("ID = '" + AcceptedItem.ID + "'");
             *      if (DR.Length == 0)
             *      {
             *          FExcStr = "В ТЕЛЕЖКУ!";
             *      }
             *      else
             *      {
             *          AcceptedItem.IsRepeat = true;
             *          FExcStr = "ВНИМАНИЕ! УЖЕ СЧИТАЛСЯ! (В ТЕЛЕЖКУ)";
             *      }
             *  }
             *  AcceptedItem.Count      = InPartyCount;
             *  AcceptedItem.OnShelf    = OnShelf;
             * }*/
            #endregion

            #region Пишем в обслуживание скс. Для подпитки - не нужно

            /*
             * FCurrentMode = Mode.AcceptedItem;
             * //begin internal command
             * DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход1"]    = ExtendID(Employer.ID, "Спр.Сотрудники");
             * DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход2"]    = ExtendID(ItemID, "Спр.Товары");
             * DataMapWrite["Спр.СинхронизацияДанных.ДатаВход1"]       = "OpenItem (Открыл карточку)";
             * if (!ExecCommandNoFeedback("Internal", DataMapWrite))
             * {
             *  return false;
             * }
             * //end internal command
             * return true;
             *
             * if (FlagBarcode == 0)
             * {
             *  FExcStr = AcceptedItem.InvCode.Trim() + " найден в ручную!";
             * }
             * else if (FlagBarcode == 1)
             * {
             *  FExcStr = AcceptedItem.InvCode.Trim() + " найден по штрихкоду!";
             * }
             * else //FlagBarcode == 2
             * {
             *  FExcStr = AcceptedItem.InvCode.Trim() + " найден по ШК МЕСТА!";
             * }
             * DataRow[] DRAI = FAcceptedItems.Select("ID = '" + ItemID + "' and IDDOC = '" + IDDoc + "'");
             * if (DRAI.Length > 0)
             * {
             *  FExcStr = "ПОВТОРНАЯ приемка!!! " + FExcStr;
             * }
             * //Добавляем что принимается не все
             * if (AllCount > AcceptedItem.Count)
             * {
             *  int Coef = 1;
             *  DR = FUnits.Select("OKEI = '"  + OKEIPackage + "'");
             *  foreach(DataRow dr in DR)
             *  {
             *      Coef = (int)dr["Coef"];
             *      break;
             *  }
             *  FExcStr += " " + GetStrPackageCount(AcceptedItem.Count, Coef) + " из " + GetStrPackageCount(AllCount, Coef);
             * }
             * //begin internal command
             * DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход1"]    = ExtendID(Employer.ID, "Спр.Сотрудники");
             * DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход2"]    = ExtendID(ItemID, "Спр.Товары");
             * DataMapWrite["Спр.СинхронизацияДанных.ДокументВход"]    = ExtendID(IDDoc, "АдресПеремещение");
             * DataMapWrite["Спр.СинхронизацияДанных.ДатаВход1"]       = "OpenItemAccept (Открыл карточку для приемки)";
             * if (!ExecCommandNoFeedback("Internal", DataMapWrite))
             * {
             *  return false;
             * }*/
            //end internal command
            #endregion

            return(true);
        }