Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Piezīmes
Kopienas interešu grupas tagad ir pārvietotas no Yammer uz Microsoft Viva Engage. Lai pievienotos Viva Engage kopienai un piedalītos jaunākajās diskusijās, aizpildiet veidlapu Pieprasīt piekļuvi Finance and Operations Viva Engage Community un izvēlieties kopienu, kurai vēlaties pievienoties.
Šajā rakstā ir aprakstītas sesijas izpildlaika funkcijas.
curExt
Izgūst paplašinājumu, ko izmanto pašreizējais uzņēmums.
str curExt()
Atgrieztā vērtība
Pašreizējā uzņēmuma pagarinājums.
Piemērs
static void curExtExample(Args _arg)
{
str s;
// Sets s to the extension of the current company.
s = curExt();
print "Current extension is " + s;
}
curUserId
Izgūst ID, kas nav skaitlisks, kas apzīmē pašreizējo lietotāju.
str curUserId()
Atgrieztā vērtība
ID, kas nav skaitlisks, kas apzīmē pašreizējo lietotāju.
Piemērs
static void curUserIdExample(Args _arg)
{
str s;
s = curUserId();
print "Current user ID is " + s;
}
funcName
Izgūst virkni, kas satur pašreizējo funkcijas kontekstu.
str funcName()
Atgrieztā vērtība
Tās metodes nosaukums, kas izpilda šo metodi.
Atzīmes
Ja izpilde pašlaik notiek tabulas vai klases dalībniekā, metodes nosaukumam ir šīs tabulas vai klases nosaukums.
Piemērs
static void funcNameExample(Args _arg)
{
print "Current function context is " + funcName();
}
getCurrentPartition
Izgūst pašreizējā nodalījuma īso nosaukumu.
str getCurrentPartition()
Atgrieztā vērtība
Pašreizējā nodalījuma īsais nosaukums.
Atzīmes
Atgrieztā datu nodalījuma nosaukuma maksimālais garums ir astoņas rakstzīmes.
Piemērs
Šajā koda piemērā ir parādīti X++ valodas funkcijas getCurrentPartition izsaukumi un izvade no tās, kā arī saistītās funkcijas vai metodes.
static public void Main(Args _args) // X++ method.
{
int64 iPartition;
str sPartition;
SelectableDataArea oSelectableDataArea; // System ExDT.
iPartition = getCurrentPartitionRecId();
sPartition = getcurrentpartition();
oSelectableDataArea = Global::getCompany( tableNum(BankAccountTable) );
Global::info( strFmt(
"getCurrentPartitionRecId =%1 , getCurrentPartition =%2 , getCompany =%3",
iPartition, sPartition, oSelectableDataArea) );
}
/**** Pasted from Infolog window:
Message_@SYS14327 (03:42:38 pm)
getCurrentPartitionRecId =5637144576 , getCurrentPartition =initial , getCompany =ceu
****/
getCurrentPartitionRecId
Izgūst pašreizējā nodalījuma lauku RecId .
int64 getCurrentPartitionRecId()
Atgrieztā vērtība
Pašreizējā datu nodalījuma lauks RecId .
Atzīmes
Lai skatītu koda piemēru, kas balstās uz funkciju getCurrentPartitionRecId , skatiet rakstu Kā: nodalījuma filtra iekļaušana programmā Direct Transact-SQL.
Piemērs
Tālāk sniegtajā koda piemērā ir parādīti X++ valodas funkcijas getCurrentPartitionRecId izsaukumi un izvade no tās, kā arī saistītās funkcijas vai metodes.
static public void Main(Args _args) // X++ method.
{
int64 iPartition;
str sPartition;
SelectableDataArea oSelectableDataArea; // System ExDT.
iPartition = getCurrentPartitionRecId();
sPartition = getcurrentpartition();
oSelectableDataArea = Global::getCompany( tableNum(BankAccountTable) );
Global::info( strFmt(
"getCurrentPartitionRecId =%1 , getCurrentPartition =%2 , getCompany =%3",
iPartition, sPartition, oSelectableDataArea) );
}
/**** Pasted from Infolog window:
Message_@SYS14327 (03:42:38 pm)
getCurrentPartitionRecId =5637144576 , getCurrentPartition =initial , getCompany =ceu
****/
getPrefix
Izgūst pašreizējo izpildes prefiksu pēc secīgiem funkcijas setPrefix izsaukumiem.
str getPrefix()
Atgrieztā vērtība
Pašreizējais izpildes prefikss.
Atzīmes
Prefiksa mehānisms ļauj vienkāršāk rakstīt precīzus kļūdu ziņojumus par lietojumprogrammas veiktajiem darījumiem. Tā kā informācijas žurnālā ir izveidots hierarhisks attēlojums, var būt vieglāk noteikt, no kurienes radusies katra kļūda.
Piemērs
static void getPrefixExample(Args _arg)
{
setPrefix("Prefix");
setPrefix("Another prefix");
print getPrefix();
}
sessionId
Izgūst pašreizējās sesijas numuru.
int sessionId()
Atgrieztā vērtība
Pašreizējās sesijas skaitliskais ID.
Atzīmes
Piešķiriet sesijas numuru, startējot klientu un izveidojot savienojumu ar lietojumprogrammu objektu serveri (AOS). Katrs šīs funkcijas izsaukums klienta dzīves laikā atgriež to pašu veselu skaitli. Atgrieztā vērtība ir saderīga ar paplašināto datu tipu SessionID . Satur metodes atgriež informāciju par atsevišķām lietotāju sesijām.
Piemērs
static void sessionIdExample(Args _arg)
{
int session;
session = sessionId();
print "This session ID is number " + int2Str(session);
}
prmIsDefault
Nosaka, vai pašreizējai metodei norādītajam parametram ir noklusējuma vērtība.
int prmIsDefault(anytype argument)
Parametri
| Parametrs | Apraksts |
|---|---|
| Arguments | Pārbaudāmais parametrs. |
Atgrieztā vērtība
1 , ja tika izmantota parametra noklusējuma vērtība; pretējā gadījumā 0 (nulle).
Piemērs
static void prmIsDefaultExample(Args _arg)
{
void fn(boolean b = true, int j = 42)
{
if (prmIsDefault(b) == 1)
{
print "First parameter is using the default value.";
}
else
{
print "First parameter is not using the default value.";
}
}
fn();
fn(false);
}
runAs
Ļauj zvanītājam palaist X++ metodi cita lietotāja drošības kontekstā. Šo funkciju visbiežāk izmanto ar partijas apstrādi.
container runAs(
str userId,
int classId,
str staticMethodName
[,
container params,
str company,
str language,
str partition
])
Parametri
| Parametrs | Apraksts |
|---|---|
| userId | Lietotājs, kas jāuzdodas. |
| classId | Klase, kas jāizsauc uzdošanās sesijā. |
| staticMethodName | Klases metode, kas jāizsauc jaunajā lietotāja kontekstā. |
| params | Parametri, kas jānodod metodei; Neobligāti. |
| sabiedrība | Uzņēmums, kas ir atlasīts uzdošanās sesijai; Neobligāti. |
| valoda | Valoda, kas ir atlasīta uzdošanās sesijai; Neobligāti. |
| Nodalījumu | Tāda veida nodalījuma atslēga, ko atgriež funkcija getCurrentPartition ; Neobligāti. |
Atgrieztā vērtība
Konteiners, kurā ir atgrieztā vērtība vai vērtības metodei, ko izsauc funkcija runAs , ja tiek atgrieztas kādas vērtības.
Atzīmes
Šī funkcija ļauj palaist kodu kā citu lietotāju. Šī iespēja rada draudus drošībai. Tāpēc šī funkcija darbojas sadaļā Koda piekļuves drošība. Šīs funkcijas izsaukumiem serverī ir nepieciešama atļauja no klases RunAsPermission . Katram šīs lietojumprogrammu interfeisa (API) lietojumam jābūt apdraudētam. Ja tiek atklāta drošības ievainojamība, pārbaudiet ievadi šajā API. Atkļūdotājs var ignorēt pārtraukuma punktus, kas atrodas metodē, ko izsauc funkcija runAs . X++ kodam, ko izpilda funkcija runAs , ir jādarbojas kā Microsoft .NET Framework Common Intermediate Language (CIL). Ja mērķa statiskajai metodei netiek ģenerēts CIL, kļūdas ziņojums norāda, ka metode nav atrasta. Sistēmas tips PartitionKey ir precīzs nodalījuma parametra tips. PartitionKey ir virkne, kuras maksimālais garums ir astoņas rakstzīmes.
Piemērs
Tālāk sniegtajā piemērā tiek izsaukta metode runDueDateEventsForUser klasē EventJobDueDate . Kods darbojas lietotāja drošības kontekstā. Palaidiet šo kodu, lietojot to jaunas klases metodei.
server static public void Main(Args _args)
{
RunAsPermission perm;
UserId runAsUser;
SysUserInfo userInfo;
userInfo = SysUserInfo::find();
runAsUser = userInfo.Id;
perm = new RunAsPermission(runAsUser);
perm.assert();
runAs(runAsUser, classnum(EventJobDueDate), "runDueDateEventsForUser");
CodeAccessPermission::revertAssert();
}
setPrefix
Iestata pašreizējā izpildes tvēruma prefiksu.
int setPrefix(str _prefix)
Parametri
| Parametrs | Apraksts |
|---|---|
| _priedēklis | Pašreizējā izpildes tvēruma prefikss. |
Atgrieztā vērtība
0 , ja prefikss ir veiksmīgi iestatīts.
Atzīmes
Izmantojiet funkciju getPrefix , lai iegūtu pilnu izpildes prefiksu. Kad tvērums beidzas, prefikss automātiski tiek atiestatīts iepriekšējā līmenī. Prefiksa mehānisms atvieglo precīzu kļūdu ziņojumu rakstīšanu par lietojumprogrammas veiktajām transakcijām. Piemēram, AA metode izsauc BB metodi, un katra metode izsauc funkciju setPrefix . Ziņojumi, ko BB metode raksta informācijas žurnālā, tiek parādīti ligzdoti hierarhijā. Kad BB metode beidzas un vadība atgriežas pie AA metodes, prefikss, ka BB metodes kopa nav pievienota nākamajiem ziņojumiem.
Piemērs
static void setPrefixExample(Args _arg)
{
int i;
i = setPrefix("Prefix");
print i;
}