Rückgabe: [Variant], Holt eine Interne ID aus der Tabelle X14 der Systemtabellen. tcSearch = 'ID'+
[,tnAnzahl = 2-n]
Variant = My.Clients.Numbers.GetInternX14Id(tcSearch as String,tnAnzahl as Integer)
Variant = My.Clients.Numbers.GetInternX14Id(tcSearch,tnAnzahl)
GetInternX14Nr() - ID aus X14 ermitteln ohne LV
Rückgabe:[Integer], Wie GetInternX14Id() jedoch ohne LV-Größe. Siehe auch GetInternX12Nr()
Rückgabe:[Integer], Wie GetInternX14Id() jedoch ohne LV-Größe. Siehe auch GetInternX12Nr()
Integer = My.Clients.Numbers.GetInternX14Nr(tcSearch as String,tnAnzahl as Integer)
Integer = My.Clients.Numbers.GetInternX14Nr(tcSearch,tnAnzahl)
GetMoreIds() - Rückgabe einer ID
Rückgabe: [String], Holt mehrere Interne ID's auf einmal. Rückgabe ist immer die (erste) gültige ID als String.
Rückgabe: [String], Holt mehrere Interne ID's auf einmal. Rückgabe ist immer die (erste) gültige ID als String.
String = My.Clients.Numbers.GetMoreIds(tcId as String,tnAnzahl as Integer)
String = My.Clients.Numbers.GetMoreIds(tcId,tnAnzahl)
*/ Beispiel:
LOCAL lni,loNumbers
*/ einen Cursor erstellen
loNumbers = My.Clients.Numbers
SELECT 0
CREATE CURSOR temp (id C(8))
FOR m.lni = 1 TO 1000
INSERT INTO temp (id) VALUES (loNumbers.GetMoreIds("My.ID",1000))
NEXT m.lni
*/ Dieses Programm kann im SQL-Manager ausgeführt werden!
GetProperty() - Abrufen einer Property in der Klasse
Rückgabe der benannten Property der Klasse. tnAsXML... kann sein: 0=Value, 1=C-Structure, 2=XML
Ruft die Value einer Property in der Klasse ab.
Die Parameter: tcProperty as String
tcProperty: Name der Property in der Klasse
Variant = My.Clients.Numbers.GetProperty(tcProperty as String,tnAsXMLStructure as Variant)
Variant = My.Clients.Numbers.GetProperty(tcProperty,tnAsXMLStructure)
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lnError AS Number
lnError = My.Clients.Numbers.GetProperty('nError')
GetValue() - Abrufen einer Variablen in der Klasse
Führt das genannte Script aus. Vorhandene Zeiger: poThis=oKlasse, poCom=oNameSpace
Ruft die Value einer Variablen in der Klasse ab.
Die Parameter: tcVariable as String
Variant = My.Clients.Numbers.GetValue(tcScript as String)
Variant = My.Clients.Numbers.GetValue(tcScript)
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcIdx02 AS String
lcIdx02 = My.Clients.Numbers.GetValue('My.cIdx02')
IF !ISNULL(m.lcIdx02)
WAIT WINDOW m.lcIdx02
ELSE
*/ My in der Klasse nicht bekannt!
ENDIF
NextEANCode() - EAN Code
Rückgabe: [String], Gibt die nächste EAN - Zählnummer zurück. Rückgabe fängt bei 0 an!
Rückgabe: [String], Gibt die nächste EAN - Zählnummer zurück. Rückgabe fängt bei 0 an!
String = My.Clients.Numbers.NextEANCode(tcKreis as String,tnLength as Integer,tlMoreNumbers as Boolean)
String = My.Clients.Numbers.NextEANCode(tcKreis,tnLength,tlMoreNumbers)
NextNr() - Langnummer ermitteln
Rückgabe: [Variant], Gibt eine Langnummer aus den Nummernkreisen zurück.
Rückgabe: [Variant], Gibt ein Langnummern Script aus den Nummernkreisen zurück.
Variant = My.Clients.Numbers.NextNr(tcKreis as String,tdDatum as Date,tlNoLoch as Boolean,tlSave as Boolean)
Variant = My.Clients.Numbers.NextNr(tcKreis,tdDatum,tlNoLoch,tlSave)
SetProperty() - Setzen einer Property in der Klasse
Setzt die Value an die benannte Property. tnAsObject kann sein: 0=Value, 1=C-Structure, 2=XML
Setzt die Value an die benannte Property.
Die Parameter: tcProperty as String,tvValue as Variant,tnAsObject as Integer
tcProperty: Name der Property in der Klasse
tvValue: Value der Property
tnAsObject: 0=Value, 1=C-Structure, 2=XML
Wird tnAsObject nicht angegeben, so wird 0=Value vorausgesetzt
Variant = My.Clients.Numbers.SetProperty(tcProperty as String,tvValue as Variant,tnAsObject as Integer)
Variant = My.Clients.Numbers.SetProperty(tcProperty,tvValue,tnAsObject)
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
=My.Clients.Numbers.SetProperty('nError',0,0)
*/ oder auch...
=My.Clients.Numbers.SetProperty('nError',0)
StoreLongNumber() - Langnummer in Löcherverwaltung speichern
Rückgabe: [Boolean], Speichert eine vergebene Langnummer aus X12 in X13. Alle Parameter sind anzugeben!
Rückgabe: [Boolean], Speichert eine vergebene Langnummer aus X12 in X13. Alle Parameter sind anzugeben!
Boolean = My.Clients.Numbers.StoreLongNumber(tcKreis as String,tcNumber as String,tdDatum as Date)
Boolean = My.Clients.Numbers.StoreLongNumber(tcKreis,tcNumber,tdDatum)
Terminate() -
Den COM+ Server vor dem Release im Aufrufer beenden.
Variant = My.Clients.Numbers.Terminate()
WriteSettings() - Schreiben div. Informationen in ein LOG-File
Mit dieser Methode kann eine Protokollierung div. Informationen in einem LOG File erfolgen.
Mit dieser Methode kann eine Protokollierung div. Informationen in einem LOG File erfolgen.
Diese Methode ist 'nur' bei den NameSpace Servern von PMS zu finden!
Variant = My.Clients.Numbers.WriteSettings(tcWann as String)
Variant = My.Clients.Numbers.WriteSettings(tcWann)
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
=My.Clients.Numbers.WriteSettings('Heute um 15:00Uhr')
*/ oder auch...
=My.Clients.Numbers.WriteSettings(TTOC(DATETIME(),1)) && Ausgabe: JJJJMMTThhmmss
_Clsid - CLS-ID des COM+ Servers
CLS-ID des COM+ Servers. Wird im INIT() ermittelt.
Diese Property gibt es nur bei NameSpace Servern, dies sind Programmteile, die in einem geschützten Speicherbereich ablaufen. Sollten Sie mal von außen auf den NameSpace von PMS32 zugreifen und es fehlt Ihnen die Aufrufinformationen, so kann obiger String aus der Registry ermittelt werden.
String = My.Clients.Numbers._Clsid
LOCAL lcClsID AS String
lcClsID = My.Clients.Numbers._Clsid
WAIT WINDOW m.lcClsID
_ComServer - Pfad und Name des COM+ Servers
Dateiname und Pfad des gestarteten COM+ Servers
Diese Property gibt es nur bei NameSpace Servern, dies sind Programmteile, die in einem geschützten Speicherbereich ablaufen.
String = My.Clients.Numbers._ComServer
LOCAL lcComServer AS String
lcComServer = My.Clients.Numbers._ComServer
WAIT WINDOW m.lcComServer
_Isreleased_ -
Boolean = My.Clients.Numbers._Isreleased_
_Name - Name der COM+ Klasse
Name der COM+ Klasse. MUSS angegeben werden. Dieser _Name wird übertragen und ist von außen abfragbar. Diese Property ist ReadOn
Dateiname der Applikation. Wenn unter Vfp gestartet wird! sind diese Werte NICHT gesetzt! Die Property _Name gibt den Klassennamen der EXE bzw. DLL zurück.
Mit diesem Namen und dem Namen der EXE/DLL kann dann die COM+ Klasse instanziiert werden. Gleiches kann man auch aus den Eigenschaften der Programmklasse
EXE/DLL herausfinden.
String = My.Clients.Numbers._Name
LOCAL lcComName AS String
lcComName = My.Clients.Numbers._Name
WAIT WINDOW m.lcComName
_Pcreleaselog_ -
Variant = My.Clients.Numbers._Pcreleaselog_
_ServerName - Name der COM+ Server Datei
Name des Servers, wie bei der Initialisierung
Die Property _ServerName gibt den kompletten Klassennamen der EXE bzw. DLL zurück.
Mit diesem Namen und dem Namen der EXE/DLL kann dann die COM+ Klasse instanziiert werden.
Gleiches kann man auch aus den Eigenschaften der Programmklasse EXE/DLL herausfinden.
String = My.Clients.Numbers._ServerName
LOCAL lcServerName AS String
lcServerName = My.Clients.Numbers._ServerName
WAIT WINDOW m.lcServerName
_StartMode - Startmodus des aufrufenden Servers
Startmode des externen Aufrufers. Derjenige, der den COM+ Server initialisiert. _StartMode='cMode,cNumber'
Die Property gibt den Startmodus des Aufrufers zurück. Es gibt insgesamt 6 Modi:
0 - Unter VFP Entwicklung
1 - Unter VFP-COM Steuerung
2 - Start als COM.EXE
3 - Start als COM.DLL in Singleprocess
4 - Start als EXE (Standard Programmaufruf)
5 - Start als COM.DLL in Multiprocess
Number = My.Clients.Numbers._StartMode
*/ Abfrage des Modus
WAIT WINDOW My.Clients.Numbers._StartMode
_Sys1016 - Verwendeter Speicher
Verwendeter Speicher in Byte
Gibt den verwendeten Speicher des Namespace zurück.
Rückgabe ist Byte.
Integer = My.Clients.Numbers._Sys1016
LOCAL liBytes AS Integer
*/ Abfrage des Speichers
liBytes = My.Clients.Numbers._Sys1016
WAIT WINDOW LTRIM(STR(m.liBytes/1024))+" kB"
_Version - Version der Programmdatei
Versionsnummer des Servers im Format H.U.DD.V1V2.BBBB
Versionsnummer nach PMS32 Konvention. H.U.DD.SSHH.bbbb
Die Property _Version gibt die Programmversion (gilt für DLL, EXE und auch für APP) zurück.
H - Hauptversion
U - Unterversion
DD - Datenbankversion
SS - Servicepack
HH - Hotfix
bbbb- Buildnumber
String = My.Clients.Numbers._Version
WAIT WINDOW My.Clients.Numbers._Version
_VfpVersion - VFP Version
Version von Visual FoxPro
VFP Version der VFP-9 dll.
String = My.Clients.Numbers._VfpVersion
WAIT WINDOW My.Clients.Numbers._VfpVersion
cAppNameExe - Name der Applikation
Übertragen des Application.Servername
Mit dieser Property kann der Name der Applikation abgerufen werden.
String = My.Clients.Numbers.cAppNameExe
*/ Als Beispielcode für eine Klasse in einem COM+ Server
*/ Vorausgesetzt wird, dass My bekannt ist...
LOCAL lcName AS String
lcName = My.Clients.Numbers.cAppNameExe
cClass -
String = My.Clients.Numbers.cClass
cDbfDir - Mandantenverzeichnis
Verzeichnis der Mandantentabellen aus PMS32
Pfad der Mandantentabellen
Normalerweise zu finden unter \\server\freigabe\...\pms32\daten\mandant\
String = My.Clients.Numbers.cDbfDir
IF !DIRECTORY(My.Clients.Numbers.cDbfDir)
*/ Benötigte Pfade sollten eigentlich da sein!
=MESSAGEBOX("Pfad fehlt:" + My.Clients.Numbers.cDbfDir,64,"Mandanten Verzeichnis")
ENDIF
cIdx02 - Mandanten ID
Mandanten ID aus PMS32. Weist dem Pfadserver PMS_08.PmsPath den Mandanten zu. Setzen aller Pfade.
Mandanten-ID. Diese ist in der Datei pms32.pth gespeichert und dient dort zur Zuordnung des Mandante und dessen Pfade.
Auszug aus der Pfaddatei pms32.pth:
*/ Verzeichnis der Microcube - Dateien. Wenn leer dann gleich: cDbfdir
cCubdir = ""
*/ Ein 'anderes' Dokumentenverzeichnis kann angegeben werden. Wenn nicht angegeben dann gleich: cDbfdir+'docs\'
*/ cDocDir = ""
*/ Verzeichnis der Mandantentabellen. Hier ein Beispiel mit UNC Pfaden.
*/ Wird die Freigabe auf dem Server 'versteckt' \pms$\ angegeben, so kann ein Cryptovirius das Verzeichnis nicht finden!
cDbfdir = "\\server\pms$\pms32\daten\demo.32\"
*/ Verzeichnis der Reporttabellen
*/ Gibt man Bilddateien in einem Report mit My.Clients.Path.cFrxDir+'BILDNAME.JPG' an, so kann PMS32 einfach auf einen anderen Rechner kopiert werden!
cFrxdir = "\\server\pms$\pms32\reports\demo.32\"
*/ Beschreibung des Mandanten
cIcx02 = "TESTMANDANT DEMO"
*/ ID der Firmenparameter zum Mandant.
cIdx09 = "DEMO"
*/ Kann unter der Mandanteninformation leer sein, wenn für mehrere Mandanten das 'gleiche' Systemverzeichnis gültig ist.
cSysdir = ""
*/ Willkommens-Information als Hintergrundbild in PMS32
cWelcome= "pms32.htm"
*/ Nummer des Mandanten, beim Einsatz eines BarcodeScanners sollte diese Nummer EINDEUTIG sein!
nNumber = 1
<>
String = My.Clients.Numbers.cIdx02
*/ Abfrage der Mandanten-ID
WAIT WINDOW My.Clients.Numbers.cIdx02
*/ Wenn man mittels VFP Zugriff auf die Applikation braucht:
*/ 1. vfp9.exe öffenen
*/ 2. In das Startverzeichnis von PMS32 wechseln (MUSS)
CD c:\pms\pms32
*/ 3. My Instanziieren
My = NEWOBJECT("pmsmy","pmsmyhandler.vcx","pmsmyhandler.app")
*/ 4. Den letzten aktuellen Mandanten zuweisen
My.cIdx02 = My.cIdx02
*/ 5. Los gehts...
cMethod - Methode des letzten Fehlers
Methode, in der der Fehler auftrat
Methode in der der letzte Fehler auftrat.
Aufbau: [Fehlernummer] [Methode] [Zeilennummer] [Message]
String = My.Clients.Numbers.cMethod
*/ Abruf...
WAIT WINDOW My.Clients.Numbers.cMethod
cResetInfos - Reset C-Structure
Zurücksetzen von beliebigen Informationen in einem COM+ Server!
Reset C-Structure
Diese Property ist normalerweise WriteOnly! Sie dient zum Zurücksetzen verschiedener Informationen.
#DEFINE CRI_REMOVE_MENUES "REMOVE-MENUES"
#DEFINE CRI_REMOVE_CSFILES "REMOVE-CS-FILES"
#DEFINE CRI_REMOVE_SCRIPTS "REMOVE-CS-SCRIPTS"
#DEFINE CRI_CHANGE_IDX09 "CHANGE-IDX09"
#DEFINE CRI_LOGIN "USER_LOGIN"
String = My.Clients.Numbers.cResetInfos
*/ Verschiedene RESET Befehle...
My.Clients.Numbers.cResetInfos = "REMOVE-MENUES"
My.Clients.Numbers.cResetInfos = "REMOVE-CS-FILES"
My.Clients.Numbers.cResetInfos = "REMOVE-CS-SCRIPTS"
My.Clients.Numbers.cResetInfos = "CHANGE-IDX09"
My.Clients.Numbers.cResetInfos = "USER_LOGIN"
*/ Je nach Klasse wird ein entsprechender RESET ausgeführt!
cSysDir - Systemverzeichnis
Verzeichnis der Systemtabellen von PMS32
Verzeichnis der Systemtabellen von PMS32
Das Verzeichnis ist normalerweise unter: \\server\pms$\pms32\dbf\ zu finden...
String = My.Clients.Numbers.cSysDir
IF !DIRECTORY(My.Clients.Numbers.cSysDir)
*/ Benötigte Pfade sollten eigentlich da sein!
=MESSAGEBOX("Pfad fehlt:" + My.Clients.Numbers.cSysDir,64,"Systemverzeichnis")
ENDIF
cUser - Benutzer
Benutzer, der am System angemeldet ist oder Benutzer aus PMS32.
Angemeldeter Benutzer unter PMS32 bzw. Windows
String = My.Clients.Numbers.cUser
WAIT WINDOW My.Clients.Numbers.cUser
lLVActive - LV aktiv?
LV Kopplung aktiv?
LV Kopplung aktiv?
Boolean = My.Clients.Numbers.lLVActive
nError - Fehlernummer des letzten Fehlers
Fehlernummer: VFP+, PMS-, 0 Kein Fehler!
Fehlernummer des letzten Fehlers.
Ist der Wert kleiner null, so handelt es sich um einen logischen Fehler.
Number = My.Clients.Numbers.nError
WAIT WINDOW My.Clients.Numbers.nError
nLine - Zeilennummer des letzten Fehlers
Zeilennummer des Fehlers. Kann auch 0 sein!
Zeilennummer, in der der letzte Fehler auftrat
Number = My.Clients.Numbers.nLine
WAIT WINDOW My.Clients.Numbers.nLine
oNewLong - Spezielle Funktion
Diese Property kann mit einer C-Structure gesetzt werden, um die Vorgabewerte bei der Neuanlage einer Langnummer zu definieren..
Diese Property kann mit einer C-Structure gesetzt werden, um die Vorgabewerte bei der Neuanlage einer Langnummer zu definieren..
Object = My.Clients.Numbers.oNewLong
Siehe auch :
Hauptmenü /
Hauptindex /
Such Index /
Cursor Index /
Programm Module /
Tabellen Index /
Tabellenmodule /
Masken Index /
Programmcode Index /
Servicepacks /
My.Struktur /
Funktionen /
Sonstiges Index
Lokale Benutzerhilfe : Meine eigene Hilfe /
Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022
Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen
PMS32 WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt. Unbefugtes Weiterleiten,
Veröffentlichen, Kopieren usw. sind untersagt und werden gerichtlich verfolgt.
© PMS Compelec GmbH 2022 ® el-Projekt