kann customize den Inhalt bei den Belegzeilen zugreifen?
Christoph Roessner
Hi,ich möchte gerne folgendes haben:
Unter Kundenauftrag möchte ich gerne ein Feld verpflichtend machen, wenn der Artikel ein besonderer Typ ist. Z.B, wenn der Artikel ein Veredlungsartikel ist, müssen unsere SAP-Sachbearbeiter das Feld für Veredlungslogo eingeben (Logo1 --> s. Anhang). Sonst bekommen sie eine Meldung.
Geht das? wie?
Danke für eure Hilfe.
Attachment
[url=http://www.coresystems.ch/wp-content/../wp-content/forum-image-uploads/giffits/Kundenauftrag.JPG]Kundenauftrag.JPG[/url]
Michael Egloff
Hallo,wo ist denn der Typ des Artikels hinterlegt? Auf dem Artikelstamm?
Dann geht es in etwa so:
try
{
Matrix m = Matrix.GetFromUID(pVal.Form, "38");
for(int i=0; i{
string itemCode = m.GetValue("1", i);
string query = "SELECT U_Pattern FROM OITM WHERE ItemCode='" + itemCode + "'";
//MessageBox.Show("HALLO QUERY: " + query, "OK");
using (System.Data.SqlClient.SqlDataReader sdr = SwissAddonFramework.B1Connector.GetB1Connector().ExecuteQuery(query))
{
if (sdr.Read())
{
string pattern = sdr["U_Pattern"].ToString();
// CHECK IF SPECIAL ITEM
if(pattern == "789")
{
// CHECK COLUMN LOGO
string logo = m.GetValue("U_Logo", i);
if(string.IsNullOrEmpty(logo))
{
MessageBox.Show("Bitte Logospalte ausfüllen!", "OK");
m.Columns["U_Logo"].Cells.Click(MatrixColumn.ClickTypes.Regular, MatrixColumn.Modifier.None);
return false;
}
}
}
}
}
}
catch(System.Exception ex)
{
MessageBox.Show("Unerwarteter Fehler beim Ausführen der Prüfung des Artikellogos: " + ex.Message, "OK");
}
return true;
Mache dazu eine Regel im Optimizer (CSHARP, im grünen Bereich Formtyp: 139, ItemUID: 1, Itempressed, FormModus: Modify, BeforEvent)
Passe den Code für die Spalte 'U_Logo' und für das Feld auf dem Artikelstamm entsprechend an.
Gruss
0
Please sign in to leave a comment.
Comments
0 comments