Пример #1
0
        /// <summary>
        /// F1 リボン マスタ検索
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void OnF1Key(object sender, KeyEventArgs e)
        {
            try
            {
                object elmnt  = FocusManager.GetFocusedElement(this);
                var    spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control);

                if (spgrid != null)
                {
                    #region グリッドファンクションイベント
                    if (gridCtl.ActiveColumnIndex == (int)GridColumnsMapping.摘要)
                    {
                        // TODO:全角6文字を超える可能性アリ
                        SCHM11_TEK tek = new SCHM11_TEK();
                        tek.TwinTextBox = new UcLabelTwinTextBox();
                        if (tek.ShowDialog(this) == true)
                        {
                            gridCtl.SetCellValue(tek.TwinTextBox.Text2);
                        }
                    }

                    SearchDetail.Rows[gridCtl.ActiveRowIndex].EndEdit();

                    #endregion
                }
                else
                {
                    ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList);

                    // 得意先の場合は個別に処理
                    // REMARKS:消費税関連の情報を取得する為
                    var twinText = ViewBaseCommon.FindVisualParent <M01_TOK_TextBox>(elmnt as Control);
                    if (twinText == null)
                    {
                        return;
                    }

                    if (twinText.Name == this.txt得意先.Name)
                    {
                        txt得意先.OpenSearchWindow(this);
                    }
                    else if (twinText.Name == this.txt仕入先.Name)
                    {
                        txt仕入先.OpenSearchWindow(this);
                    }
                }
            }
            catch (Exception ex)
            {
                appLog.Error("検索画面起動エラー", ex);
                this.ErrorMessage = "システムエラーです。サポートへご連絡ください。";
            }
        }
Пример #2
0
        /// <summary>
        /// F1 リボン マスタ参照
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void OnF1Key(object sender, KeyEventArgs e)
        {
            try
            {
                object elmnt  = FocusManager.GetFocusedElement(this);
                var    spgrid = ViewBaseCommon.FindVisualParent <GcSpreadGrid>(elmnt as Control);

                if (spgrid == null)
                {
                    ViewBaseCommon.CallMasterSearch(this, this.MasterMaintenanceWindowList);
                }
                else
                {
                    #region スプレッド内のイベント処理

                    if (gridCtl.ActiveColumnIndex == GridColumnsMapping.摘要.GetHashCode())
                    {
                        // TODO:全角6文字を超える可能性アリ
                        SCHM11_TEK tek = new SCHM11_TEK();
                        tek.TwinTextBox = new UcLabelTwinTextBox();
                        if (tek.ShowDialog(this) == true)
                        {
                            gridCtl.SetCellValue(tek.TwinTextBox.Text2);
                        }
                    }

                    SearchDetail.Rows[gridCtl.ActiveRowIndex].EndEdit();

                    #endregion
                }
            }
            catch (Exception ex)
            {
                appLog.Error("検索画面起動エラー", ex);
                ErrorMessage = "システムエラーです。サポートへご連絡ください。";
            }
        }
Пример #3
0
        /// <summary>
        /// データ受信処理
        /// </summary>
        /// <param name="message"></param>
        public override void OnReceivedResponseData(CommunicationObject message)
        {
            try
            {
                this.ErrorMessage = string.Empty;
                var       data = message.GetResultData();
                DataTable tbl  = (data is DataTable) ? (data as DataTable) : null;

                switch (message.GetMessageName())
                {
                case UpdateData_StockCheck:
                    // No-222 Add Start
                    // 在庫数チェック結果受信
                    Dictionary <string, string> updateList = data as Dictionary <string, string>;
                    string zaiUpdateMessage = AppConst.CONFIRM_UPDATE;
                    var    zaiMBImage       = MessageBoxImage.Question;

                    foreach (DataRow row in SearchDetail.Select("", "", DataViewRowState.CurrentRows))
                    {
                        if (updateList.Count > 0)
                        {
                            zaiMBImage       = MessageBoxImage.Warning;
                            zaiUpdateMessage = "在庫がマイナスになる品番が存在しますが、\r\n登録してもよろしいでしょうか?";
                            break;
                        }
                    }

                    if (MessageBox.Show(zaiUpdateMessage,
                                        "登録確認",
                                        MessageBoxButton.YesNo,
                                        zaiMBImage,
                                        MessageBoxResult.Yes) == MessageBoxResult.No)
                    {
                        return;
                    }

                    // No-222 Add End

                    Update();

                    // 致命的なエラーの場合、以降の処理を中止する
                    if (blnCloseFlg == false)
                    {
                        return;
                    }

                    // 警告がない場合、当該画面を終了する
                    if (blnWarningFlg == true)
                    {
                        // 処理続行確認メッセージを表示する
                        var yesno = MessageBox.Show("警告がありますが処理を続行しますか?", "確認", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
                        if (yesno == MessageBoxResult.No)
                        {
                            return;
                        }
                        CloseDataEdited();
                    }
                    else
                    {
                        CloseDataEdited();
                    }

                    break;

                case SearchTableToShin:
                    // セット品で検索された場合
                    SetHin = tbl.Copy();
                    break;

                case MasterCode_MyProduct:
                    #region 自社品番手入力時
                    DataTable ctbl = data as DataTable;

                    int columnIdx = gridDtb.ActiveColumnIndex;
                    int rIdx      = gridDtb.ActiveRowIndex;

                    // フォーカス移動後の項目が異なる場合または編集行が異なる場合は処理しない。
                    if ((columnIdx != (int)GridColumnsMapping.色コード) || _編集行 != rIdx)
                    {
                        return;
                    }

                    if (ctbl == null || ctbl.Rows.Count == 0)
                    {
                        // 対象データなしの場合
                        gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, 0);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.数量, 0m);
                        gridDtb.SetCellValue((int)GridColumnsMapping.単位, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, (int)商品分類.その他);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色コード, string.Empty);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色名称, string.Empty);

                        // フォーカス位置の設定
                        gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品番);                   // No.425 Add
                    }
                    else if (tbl.Rows.Count > 1)
                    {
                        int cIdx   = gcInnerSpreadGrid.ActiveColumnIndex;
                        var colVal = gridDtb.GetCellValueToString((int)GridColumnsMapping.自社品番);

                        int code = int.Parse(SearchHeader["外注先コード"].ToString());
                        int eda  = int.Parse(SearchHeader["外注先枝番"].ToString());

                        // 自社品番の場合
                        SCHM09_MYHIN myhin = new SCHM09_MYHIN(code, eda);
                        myhin.TwinTextBox          = new UcLabelTwinTextBox();
                        myhin.txtCode.Text         = colVal;
                        myhin.txtCode.IsEnabled    = false;
                        myhin.TwinTextBox.LinkItem = 2;

                        if (myhin.ShowDialog(this) == true)
                        {
                            gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, myhin.SelectedRowData["品番コード"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, myhin.SelectedRowData["自社品番"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, myhin.SelectedRowData["自社品名"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.数量, 1m);
                            gridDtb.SetCellValue((int)GridColumnsMapping.単位, myhin.SelectedRowData["単位"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, myhin.SelectedRowData["商品分類"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.色コード, myhin.SelectedRowData["自社色"]);
                            gridDtb.SetCellValue((int)GridColumnsMapping.色名称, myhin.SelectedRowData["自社色名"]);

                            // フォーカス位置の設定
                            gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名);                 // No.425 Add
                        }
                        else
                        {
                            // フォーカス位置の設定
                            gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品番);                 // No.425 Add
                        }
                    }
                    else
                    {
                        // 対象データありの場合
                        DataRow drow = ctbl.Rows[0];
                        gcInnerSpreadGrid.BeginEdit();
                        gridDtb.SetCellValue((int)GridColumnsMapping.品番コード, drow["品番コード"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品番, drow["自社品番"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.自社品名, drow["自社品名"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.数量, 1m);
                        gridDtb.SetCellValue((int)GridColumnsMapping.単位, drow["単位"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.商品分類, drow["商品分類"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色コード, drow["自社色"]);
                        gridDtb.SetCellValue((int)GridColumnsMapping.色名称, drow["色名称"]);

                        // 自社品番のセルをロック
                        // 数量以外はロック
                        gridDtb.SetCellLocked((int)GridColumnsMapping.品番コード, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.自社品番, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.自社品名, false);                   // No.391 Add
                        gridDtb.SetCellLocked((int)GridColumnsMapping.単位, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.商品分類, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.色コード, true);
                        gridDtb.SetCellLocked((int)GridColumnsMapping.色名称, true);

                        // フォーカス位置の設定
                        gridDtb.SetCellFocus(rIdx, (int)GridColumnsMapping.自社品名);                     // No.425 Add
                    }

                    InnerDetail.Rows[rIdx].EndEdit();

                    #endregion

                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                ErrorMessage = ex.Message;
            }
        }