Systemmeldung
Daniel 25
Hi zusammen,wäre super wenn ich einen Kundenauftrag anlege und es gibt hierzu eine Eingangs- bzw. Abschlussbemerkung das SAP eine Systemmeldung ausgibt in der es heißt Vorsicht: Eingangs- bzw. Abschlussbem. ist vorhanden!
Das klappt auch alles recht gut bei mir bis auf 2 Kleinigkeiten! Erstens: Klicke ich aber Hinzufügen oder Aktualisieren kommt wenn Bemerkung vorhanden eine Systemmeldung, aber: mit den falschen Bemerkungen! der Bezug stimmt hierzu leider nicht!
Zweitens hab ich das Problem: Das System speichert nicht bzw. aktualisiert nicht immer wieder kommt die Systemmeldung! glaub des wäre nur eine kleine Einstellung aber ich finde das nicht!
kann mir jemand bitte einen kleinen Tipp geben?
Hab den code mal gepostet:
Optimizer: VBCode, Change Values: Form Type: 149,139,133; Item UID: 1
EventTyp:click, Modify
Try
Dim DocNum As String
DocNum = customize.UI.Components.TextEdit.GetFromUID(pVal.Form, "8").Value
Dim query As String
query = "SELECT ISNULL(REPLACE(CAST(Header AS VARCHAR(100)),CHAR(13),CHAR(10)),''), ISNULL(REPLACE(CAST(Footer AS VARCHAR(8000)),CHAR(13),CHAR(10)),'') FROM OQUT WHERE DocNum=@DocNum"
Dim cmd As System.Data.SqlClient.SqlCommand
cmd = New System.Data.SqlClient.SqlCommand(query)
cmd.Parameters.AddWithValue("@DocNum", DocNum)
Using sdr As System.Data.SqlClient.SqlDataReader = customize.B1Connector.GetB1Connector().ExecuteQuery(cmd)
If sdr.Read() Then
Dim outputString As String
Dim text1 As String
Dim text2 As String
text1 = sdr(0).ToString()
text2 = sdr(1).ToString()
If Not String.IsNullOrEmpty(text1) Then
If Not String.IsNullOrEmpty(text2) Then
outputString = "Eingangsbemerkung: " & text1 & System.Environment.NewLine & " -------------------------------- " & System.Environment.NewLine & "Abschlussbemerkung: " & text2
Else
outputString = "Eingangsbemerkung: " & text1
End If
Else
If Not String.IsNullOrEmpty(text2) Then
outputString = "Abschlussbemerkung: " & text2
Else
Return True
End If
End If
customize.UI.Dialogs.MessageBox.Show(outputString, "OK")
End If
End Using
Catch ex As Exception
customize.Messaging.StatusBar.WriteError("Error in coresuite customize Rule (Bemerkungsinfo): " & ex.ToString())
customize.Messaging.Debug.WriteMessage("Error in coresuite customize Rule (Bemerkungsinfo): " & ex.ToString(), customize.Messaging.Debug.DebugLevel.Exception)
End Try
Return True
Manuel Marhold
Hi Daniel,wenn der Bekeg noch nicht hinzugefügt ist, dann kannst du die Daten nicht in der Datenbank-Tabelle finden.
Gehe doch auf die Form DBDataSource (Standard SDK Name, wie das mit cs aussieht, weiss ich nicht) und hole dir da die Werte raus.
Daniel 25
1.Wie meinst du das genau mit Standart SDK Name?2. Jetzt wenn die Systemmeldung erscheint und ich ok drücke sollte er mir trotzdem speichern und er weitermachen!
Problem hierzu ist: das die Meldung immer und immer wieder kommt! Die soll einmal erscheinen als Hinweis dann soll SAP weitermachen wie normal!
Super wäre natürlich bei der Systemmeldung: "Bemerkung: ....."
Wollen Sie die Bemerkung bearbeiten: JA oder Nein
bei Ja erscheint die Eingangs bzw. Abschlussbemerkung bei nein speichert SAP und beendet die Maske!
Aber das wäre ein Traum! Mir würde schon genügen wenn ich auf OK klicke das SAP ganz normal weitermacht!
Manuel Marhold
Hi Daniel,1)
das SDK von coresystems basiert auf dem von SAP.
Und in dem von SAP heisst das Form.DataSources.DBDataSources.
Wie das beim cs-SDK heisst, weiss ich nicht.
2)
Dann musst du dir in einer variable abspeichern, ob die frage schon gestellt wurde.
a) als UDF im Beleg, dann hat er das auhc für die nächsten Male gespeichert
b) als variable (wieder zurücksetzen, wenn der beleg wechselt -> also schlecht)
c) als UserDataSource in der Form
Da handling, dass die Frage dann nicht mehr kommt musst du dann nat. auch machen.
Eine Frage kannst du stellen:
Bei der Messagebos kannst du bis zu 3 Möglichkeiten angeben. Zurück bekommt du die Nummer des bestätigten Button. Je nach dem, kannst du ja verfahren.
Warum SAP nicht weiter macht kann ich dir nicht sagen, ich erkenne keinen fehler.
Daniel 25
Ok Danke!nun ja ich greife ja auf den Button ItemUID = 1 zu!
habs versucht mit anderen Feldern! beim Kundenauftrag funktionierts noch einwandfrei, ich kann mich auf das Lieferdatum beziehen denn das muss ich ja noch ändern! aber bei der Ausgangsrechnung hab ich das Problem das ich hier kein Feld habe das ich vorm Speichern ändern muss!
Fällt dir eine andere Lösung ein???
Manuel Marhold
Hi Daniel,ween du nichts ändern muss, dann baue doch eine Abfrage auf dem FormType ein und schließe die Rechnungen aus.
0
Please sign in to leave a comment.
Comments
0 comments