Kreditlimit
Daniel 25
Hallo zusammen,ich würde gerne im Geschäftspartner das Feld "Kreditlimit" für Benutzer sperren die nicht "Superuser" sind.
Ein Feld sperren ist ja soweit kein Problem, aber diese für gewisse Benutzer sperren ist nicht so ohne.
Gibt es ein Sample für eine Abfrage nach gewissen Benutzern? Bitte um Unterstützung.
Vielen Dank
Gruß
Daniel
Sascha Balke
Hallo Daniel,dein Einstieg dabei ist:
// Reading a ID from LoginUser
string LoginUserId = SwissAddonFramework.B1Connector.GetB1Connector().UserId.ToString();
Damit kannst du dann weitere Validierungen durchführen und zum gewünschten Ziel kommen.
Bei Fragen melde dich einfach.
hth
Daniel 25
Hi,ich habs so gelöst. Habe mir diese Funktion so weit auf meine Bedürfnisse angepasst.
Recht cool. Somit kannst du jedes Feld in SAP nach gewissen Kriterien abfragen
Aber danke für die Hilfe!
try
{
// Parameter
string userID = customize.B1Connector.GetB1Connector().UserId.ToString();
// Get current user and linked sales person
string isSuperUser = "N";
System.Data.SqlClient.SqlCommand sqlSlp = new System.Data.SqlClient.SqlCommand();
sqlSlp.CommandText = @"SELECT
OHEM.userId,
OUSR.superUser
FROM OHEM
INNER JOIN OUSR ON OHEM.userId = OUSR.USERID
WHERE OHEM.SalesPrson IS NOT NULL AND OHEM.userID = @userID";
sqlSlp.Parameters.AddWithValue("@userID", userID);
System.Data.SqlClient.SqlDataReader sdr = SwissAddonFramework.B1Connector.GetB1Connector().ExecuteQuery(sqlSlp);
//SwissAddonFramework.B1Connector.GetB1Connector().ExecuteQuery(sqlSlp);
if(sdr.Read())
{
//salesPersonCode = sdr["SalesPrson"].ToString();
//employee = sdr["firstName"].ToString() + " " + sdr["lastname"].ToString();
isSuperUser = sdr["superUser"].ToString();
//System.Windows.Forms.MessageBox.Show("" + isSuperUser + "");// == "Y" ? true : false;
}
// What shall happen with super users
if(isSuperUser == "N")
{
string[] itemsToLock = new string[]{ "85" };
LockFields(pVal.Form, itemsToLock);
//System.Windows.Forms.MessageBox.Show("gesperrt");
}
else
{
//System.Windows.Forms.MessageBox.Show("nicht gesperrt" + "OK");
return true;
}
// Test if the user is linked to a sales person (on the screen employee)
//if(string.IsNullOrEmpty(salesPersonCode) || salesPersonCode == "-1")
// Modify all choosefromlists on the current form, which are linked to the business partner table (objectType = "2")
}
catch(System.Exception ex)
{
MessageBox.Show("Exception: " + ex.Message, "OK");
}
return true;
Andreas Scherer
Hallo zusammenEs gibt noch einen weiteren Weg.
Ihr könnt über das Rechtsklick Menü ein Feld sperren. Die angelegte Regel könnt ihr einer Berechtigungsgruppe vom customize zuordnen.
Bei allen User, welche das Feld nicht bearbeiten können, müssen Volle Berechtigung auf diese Gruppe haben (Benutzerberechtigung vom SAP).
Grüsse
Andy
0
Please sign in to leave a comment.
Comments
0 comments