Je tiens à supprimer certaines des lignes particulières d'une pièce de lignes de documents de commande de vente en ajoutant en utilisant C #. P>
3 Réponses :
Documents oDoc = Utils.oCompany.GetBusinessObject(BoObjectTypes.oOrders); oDoc.GetByKey(123); oDoc.Lines.SetCurrentLine(0); oDoc.Lines.Delete(); int lret = oDoc.Update(); if (lret != 0) { //HANDLE ERROR } This is pretty straight forward I think.
Cela ne supprime qu'une seule ligne. Comment puis-je supprimer plus de lignes que je veux?
Vous devez d'abord obtenir le document que vous souhaitez modifier à l'aide de Docentry.
Vous devez ensuite définir le numéro de ligne qui a besoin de suppression. Voir ci-dessous p>
Documents oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); int docEntry = 109; int lineNum = 2; // Load your sales orders if (oDoc.GetByKey(docEntry)) { // Go through your line items for (int i = 0; i < oDoc.Lines.Count; i++) { oDoc.Lines.SetCurrentLine(i); if (oDoc.Lines.LineNum == lineNum) //Find your line number that you want delete. { oDoc.Lines.Delete(); //Delete break; } } // Update your sales order if (oDoc.Update() != 0) MessageBox.Show(oCompany.GetLastErrorDescription()); }
Ceci est utile, c'est parfaitement supprimé les données. Mais quels articles je supprime que leurs détails sont automatiquement viennent à la remise de document. Existe-t-il une solution à ça ?
S'il vous plaît expliquer plus sur les détails qui arrivent à la remise.
private void Delete_Single_Line_Row(string docentry, int lNum) { SAPbobsCOM.Documents oSalesOrd = null; oSalesOrd = (SAPbobsCOM.Documents)SBOC_SAP.G_DI_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders); int docEntry = Convert.ToInt32(docentry); int lineNum = lNum; // Load your sales orders if (oSalesOrd.GetByKey(docEntry)) { // Go through your line items for (int i = 0; i < oSalesOrd.Lines.Count; i++) { oSalesOrd.Lines.SetCurrentLine(i); if (oSalesOrd.Lines.LineNum == lineNum) //Find your line number that you want delete. { oSalesOrd.Lines.Delete(); //Delete break; } } // Update your sales order int result = oSalesOrd.Update(); } } enter code here