on 11-15-2017 12:32 PM - last edited on 02-04-2024 1:26 AM by postmig_api_4
I'm new in SAP B1. i have to understand how CopyTO and CopyFrom works in the form...... As a sample project i was trying to CopyTo from a button click in an addon form to salesorder. Any one please help with this in c# codes.
Hi Dibin,
It can be done something as below:
SAPbouiCOM.EditText oEditCode = (SAPbouiCOM.EditText)m_SBO_Form.Items.Item(enControlName.Code).Specific;
SAPbouiCOM.EditText oEditCustomerCode = (SAPbouiCOM.EditText)m_SBO_Form.Items.Item(enControlName.CustomerCode).Specific;
if (oEditCustomerCode.Value.Trim() != "")
{
SBO_Application.ActivateMenuItem("2050"); // This is the Menu ID for Sales Order.
SAPbouiCOM.Form oFormSalesOrder = (SAPbouiCOM.Form)SBO_Application.Forms.GetForm("139", 1); // 139 is the Sales Order's Form Type.
SAPbouiCOM.Matrix oMatrix = (SAPbouiCOM.Matrix)m_SBO_Form.Items.Item(enControlName.Matrix).Specific;
SAPbouiCOM.ComboBox oComboDocType = (SAPbouiCOM.ComboBox)oFormSalesOrder.Items.Item("3").Specific;
SAPbouiCOM.EditText oEditCardCode = (SAPbouiCOM.EditText)oFormSalesOrder.Items.Item("4").Specific;
SAPbouiCOM.ComboBox oComboCurrency = (SAPbouiCOM.ComboBox)oFormSalesOrder.Items.Item("63").Specific;
SAPbouiCOM.Matrix oMatrixSalesOrder = (SAPbouiCOM.Matrix)oFormSalesOrder.Items.Item("38").Specific;
oComboDocType.Select("I", BoSearchKey.psk_ByValue);
oEditCardCode.Value = oEditCustomerCode.Value.Trim();
oComboCurrency.Select("USD", BoSearchKey.psk_ByValue);
try
{
if (oMatrix.VisualRowCount > 0)
{
int count = _dBDataSourceChild.Size;
for (int i = 0; i <= count - 1; i++)
{
double NQty = Convert.ToDouble(_dBDataSourceChild.GetValue("U_NQty", i));
double AddedQty = Convert.ToDouble(_dBDataSourceChild.GetValue("U_AQty", i));
double Rate = Convert.ToDouble(_dBDataSourceChild.GetValue("U_Rate", i));
string ProjectDetails = Convert.ToString(_dBDataSourceChild.GetValue("U_PrjDet", i)).Trim();
string LineID = Convert.ToString(_dBDataSourceChild.GetValue("U_LineID", i)).Trim();
string DocRef = Convert.ToString(_dBDataSourceChild.GetValue("U_DocRef", i)).Trim();
double AmountAccordingWorkDone = Convert.ToDouble(_dBDataSourceChild.GetValue("U_AAWD", i));
double RateToUpdate = AmountAccordingWorkDone / (NQty + AddedQty);
int K = oMatrixSalesOrder.RowCount;
SAPbouiCOM.EditText oEditItemCode = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("1").Cells.Item(K).Specific;
SAPbouiCOM.EditText oEditQty = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("11").Cells.Item(K).Specific;
SAPbouiCOM.EditText oEditPrice = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("14").Cells.Item(K).Specific;
SAPbouiCOM.EditText oEditProjectDetails = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("U_PRJDETAILS").Cells.Item(K).Specific;
SAPbouiCOM.EditText oEditBOQReference = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("U_BOQREF").Cells.Item(K).Specific;
SAPbouiCOM.EditText oEditBOQLineID = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("U_BASELINE").Cells.Item(K).Specific;
SAPbouiCOM.EditText oEditMakeInvoiceRef = (SAPbouiCOM.EditText)oMatrixSalesOrder.Columns.Item("U_MAKINVREF").Cells.Item(K).Specific;
oEditItemCode.Value = "SALESITEM";
oEditQty.Value = (NQty + AddedQty).ToString();
oEditPrice.Value = RateToUpdate.ToString();
oEditProjectDetails.Value = ProjectDetails;
oEditBOQReference.Value = DocRef;
oEditBOQLineID.Value = LineID;
oEditMakeInvoiceRef.Value = oEditCode.Value.Trim();
}
oMatrixSalesOrder.Columns.Item("1").Cells.Item(1).Click(BoCellClickType.ct_Double, 0);
}
}
catch
{
throw;
}
finally
{
m_SBO_Form.Close();
}
}
Hope it helps!
All the best to you!
Kind regards,
ANKIT CHAUHAN
SAP SME Support
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
100 | |
8 | |
8 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.