Function Button: Geschlossene Zeilen mitzählen bei Positionsnummern
Ich habe einen Function Button, der die Positions-Zeilen eines Angebots oder Auftrags aufnummeriert und in die Spalte "U_Pos" schreibt.
Matrix mtx = (Matrix) pVal.Form.Items["38"];
int j = 1;
for(int i = 0; i < mtx.Rows.Count - 1; i++)
{
try
{
mtx.SetValue("U_PosNr", i, j.ToString().PadLeft(3,'0'));
j++;
}
catch{}
}
Leider werden dabei die bereits geschlossenen Zeilen nicht berücksichtigt. Gerne würde ich diese mitzählen, damit die nächste offene Zeile die richtige Positionsnummer erhält. Dazu habe ich den Code folgendermassen angepasst:
Matrix mtx = Matrix.GetFromUID(pVal.Form, "38");
int j = 1;
for (int i = 0; i < mtx.Rows.Count - 1; i++)
{
// Prüfen, ob die Zeile bearbeitbar ist (nicht geschlossen)
string lineStatus = mtx.GetValue("40", i).ToString();
MessageBox.Show(lineStatus,"Test");
if (lineStatus != ("Geschlossen"))
{
mtx.SetValue("U_PosNr", i, j.ToString().PadLeft(3, '0'));
j++;
}
}
Leider schaffe ich es nicht, dass es wie gewünscht funktioniert, bzw es gibt einen Fehler. Sieht jemand was ich falsch mache?
-
Welche Version hat SBO? SAP Note 3154492 evtl.
Prüfe den Status der Zeile mal alternativ nicht auf den String „geschlossen“, sondern den tatsächlichen Spaltenwert „C“, z.b.
if (linestatus.Equals(„C“) == false) { .. }1 -
Wir verwenden 10.00.160 FP 2105.
Vielen Dank für deinen Tipp mit dem tatsächlichen Spaltenwert, damit hat es nun funktioniert.0
Please sign in to leave a comment.
Comments
2 comments