示例#1
0
        /// <summary>
        /// Clear Data and Load Data Source
        /// </summary>
        private void Template_Clear_FixDisc(ref Form oForm)
        {
            DBDataSource fixDisc_H  = oForm.DataSources.DBDataSources.Item("@SOL_FIXDISC_H");
            DBDataSource fixDisc_D1 = oForm.DataSources.DBDataSources.Item("@SOL_FIXDISC_D1");
            DBDataSource fixDisc_D2 = oForm.DataSources.DBDataSources.Item("@SOL_FIXDISC_D2");

            fixDisc_H.SetValue("Code", 0, "");
            fixDisc_H.SetValue("U_SOL_AREA", 0, "");
            fixDisc_H.SetValue("U_SOL_CARDCODE", 0, "");
            fixDisc_H.SetValue("U_SOL_CARDNAME", 0, "");

            fixDisc_D1.Clear(); fixDisc_D1.Clear();

            fixDisc_D1.InsertRecord(fixDisc_D1.Size);
            fixDisc_D2.InsertRecord(fixDisc_D2.Size);

            fixDisc_D1.Offset = fixDisc_D1.Size - 1;
            fixDisc_D1.SetValue("LineId", fixDisc_D1.Size - 1, fixDisc_D1.Size.ToString());
            fixDisc_D2.Offset = fixDisc_D2.Size - 1;
            fixDisc_D2.SetValue("LineId", fixDisc_D2.Size - 1, fixDisc_D2.Size.ToString());

            oForm.Items.Item("mt_1").Specific.LoadFromDataSource();
            oForm.Items.Item("mt_2").Specific.LoadFromDataSource();

            Utils.releaseObject(fixDisc_H);
            Utils.releaseObject(fixDisc_D1);
            Utils.releaseObject(fixDisc_D2);
        }
示例#2
0
        /// <summary>
        /// Refresh Matrix
        /// </summary>
        private void RefreshMatrix(Form oForm, string mtxName, string dataSource)
        {
            DBDataSource dtSource = oForm.DataSources.DBDataSources.Item(dataSource);
            Matrix       oMtx     = oForm.Items.Item(mtxName).Specific;

            dtSource.Clear();
            oMtx.FlushToDataSource();
            Utils.releaseObject(dtSource);
            Utils.releaseObject(oMtx);
        }
        private void Template_AltItem(ref Form oForm)
        {
            DBDataSource altItem_D = oForm.DataSources.DBDataSources.Item("@SOL_ALTITEM_D");

            altItem_D.Clear();
            altItem_D.InsertRecord(altItem_D.Size);

            altItem_D.Offset = altItem_D.Size - 1;
            altItem_D.SetValue("LineId", altItem_D.Size - 1, altItem_D.Size.ToString());

            oForm.Items.Item("mt_1").Specific.LoadFromDataSource();

            Utils.releaseObject(altItem_D);
        }
示例#4
0
        private static void ButtonOk(string formUID, ref ItemEvent oItemEvent, SAPbobsCOM.Company sbo_company, ref Application sbo_application, out bool bBubbleEvent, string sessionId)
        {
            Form oForm = sbo_application.Forms.Item(formUID);

            bBubbleEvent = true;
            if (oItemEvent.EventType == BoEventTypes.et_CLICK)
            {
                if (!oItemEvent.BeforeAction)
                {
                    if (oForm.Mode == BoFormMode.fm_UPDATE_MODE)
                    {
                        DBDataSource dbData = oForm.DataSources.DBDataSources.Add("OBTN");

                        Matrix oMatrix = (Matrix)oForm.Items.Item(pluginForm.MatrixLote.Uid).Specific;

                        Column oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_DistNumber.Uid);
                        oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_DistNumber.dbField);

                        oCol = oMatrix.Columns.Item(pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.Uid);
                        oCol.DataBind.SetBound(true, "OBTN", pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.dbField);

                        dbData.Clear();
                        oMatrix.FlushToDataSource();

                        for (int i = 0; i <= dbData.Size - 1; i++)
                        {
                            if (dbData.GetValue(pluginForm.MatrixLote.Colums.Col_DistNumber.dbField, i) != null)
                            {
                                if (dbData.GetValue(pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.dbField, i) != "")
                                {
                                    string BatchNum = dbData.GetValue(pluginForm.MatrixLote.Colums.Col_DistNumber.dbField, i);
                                    var    batch    = CommonFunctions.GET(ServiceLayer.BatchNumberDetails, null, $"?$filter=Batch eq '{BatchNum}'", sessionId, out _).DeserializeJsonObject <BatchNumberDetails>();
                                    if (batch.DocEntry != 0)
                                    {
                                        batch.U_FRU_Destino = dbData.GetValue(pluginForm.MatrixLote.Colums.Col_U_FRU_Destino.dbField, i);

                                        CommonFunctions.PATCH(ServiceLayer.BatchNumberDetails, batch, batch.DocEntry.ToString(), sessionId, out _);
                                    }
                                }
                            }
                        }
                        BindMatrixData(formUID, ref oItemEvent, sbo_company, ref sbo_application, out bBubbleEvent, sessionId);
                    }
                    oForm.Mode = BoFormMode.fm_OK_MODE;
                }
            }
        }
示例#5
0
        private void PreencherDadosMatriz(SAPbouiCOM.Form form, Matrix mtx, DBDataSource dbdts)
        {
            dbdts.Clear();

            using (var recordset = new RecordSet())
            {
                var rs = recordset.DoQuery("SELECT * FROM [@UPD_CONF_PENEIRA] ORDER BY CONVERT(INT,Code)");
                if (rs.RecordCount > 0)
                {
                    while (!rs.EoF)
                    {
                        var code        = rs.Fields.Item("Code").Value;
                        var peneira     = rs.Fields.Item(_matriz._peneira.Datasource).Value;
                        var nomePeneira = rs.Fields.Item(_matriz._nomepeneira.Datasource).Value;
                        var ativo       = rs.Fields.Item(_matriz._ativo.Datasource).Value;

                        dbdts.InsertRecord(dbdts.Size);

                        int row = dbdts.Size - 1;

                        dbdts.SetValue("Code", row, code);
                        dbdts.SetValue(_matriz._peneira.Datasource, row, peneira);
                        dbdts.SetValue(_matriz._nomepeneira.Datasource, row, nomePeneira);
                        dbdts.SetValue(_matriz._ativo.Datasource, row, ativo);

                        rs.MoveNext();
                    }

                    mtx.LoadFromDataSourceEx();
                }
                else
                {
                    _matriz.AdicionarLinha(form);
                }
            }
        }