Geschäftspartner inaktiv setzen beim Hinzufügen
Daniel Ebi
Hallo zusammen,ich möchte eine Optimizer-Regel (Typ SQL) erstellen, mit der beim Anlegen eines Geschäftspartners dieser direkt auf Inaktiv gesetzt wird (da er noch geprüft werden soll, bevor man diesen Verwenden kann).
Hierzu habe ich eine Regel mit "SELECT 'Y'" erstellt die in das Ziel 10002045 schreibt. Leider bekomme ich beim Hinzufügen den Fehler "Fehler beim Schreiben des Wertes 'Y': Item - could not unselect item in group. [66000-35]
Ich vermute, dass dies passiert, weil gleichzeitig das Feld "Aktiv" auf 'N' gesetzt werden müsste.
Kann mir hier jemand weiter helfen?
Vielen Dank.
Liebe Grüsse
Daniel
Sebastian Schweer
Hallo Daniel,ich habe auch eine Regel, die neue Geschäftspartner nach B1 hinzufügt.
Ich gehe dabei aber über das Objekt, nicht über die Datenbank.
Meine Schritte sind die folgenden:
bool exist = oBP.GetByKey(valueList[1]);
if (exist == false)
{
#region Region: Import BP
if (!(string.IsNullOrEmpty(valueList[1]))) { oBP.CardCode = valueList[1]; }
if (!(string.IsNullOrEmpty(valueList[2]))) { oBP.CardForeignName = valueList[2]; }
if (!(string.IsNullOrEmpty(valueList[3]))) { oBP.CardName = valueList[3]; }
if (!(string.IsNullOrEmpty(valueList[4]))) { oBP.CardType = Stub_CardTypes(valueList[4]); }
if (!(string.IsNullOrEmpty(valueList[5]))) { oBP.EmailAddress = valueList[5]; }
if (!(string.IsNullOrEmpty(valueList[6]))) { oBP.Fax = valueList[6]; }
if (!(string.IsNullOrEmpty(valueList[7]))) { oBP.Phone1 = valueList[7]; }
if (!(string.IsNullOrEmpty(valueList[8]))) { oBP.Website = valueList[8]; }
// Frozen Values
oBP.Frozen = SAPbobsCOM.BoYesNoEnum.tYES;
oBP.FrozenFrom = System.DateTime.Today.AddDays(-1.0); // yesterday
oBP.FrozenRemarks = lang01;
int errCode = 0;
errCode = oBP.Add();
Danach steht der BP auf inaktiv. Das macht das Frozen.
Ich hoffe das hilft dir.
Viele Grüße,
Sebastian
Bastian Hofmeister
Hallo zusammen,Wieso macht ihr das eigentlich über SQL? Geht doch mit nem normalen CSHARP-Code viel einfacher:
try
{
Form form = Form.GetFormFromUID(customize.B1Connector.GetB1Connector().Application.Forms.ActiveForm.UniqueID);
form.Freeze(true);
form.PaneLevel = 1;
OptionButton.GetFromUID(form, "10002045").Click(Item.ClickType.Regular);
form.Freeze(false);
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ok");
return false;
}
Noch ein bisschen erweitern und fertig (funktioniert aber so auch schon).
Das Event wär der Add-Button (Form: 134, Item: 1, Add-Modus, Before Event).
HTH, Bastian
0
Please sign in to leave a comment.
Comments
0 comments