Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Tässä artikkelissa kuvataan istunnon suorituksenaikaiset funktiot.
curExt
Hakee nykyisen yrityksen käyttämän laajennuksen.
str curExt()
Return value
Nykyisen yrityksen laajennus.
Example
static void curExtExample(Args _arg)
{
str s;
// Sets s to the extension of the current company.
s = curExt();
print "Current extension is " + s;
}
curUserId
Hakee nykyistä käyttäjää edustavan muun kuin numeerisen tunnuksen.
str curUserId()
Return value
Nykyistä käyttäjää edustava muu kuin numeerinen tunnus.
Example
static void curUserIdExample(Args _arg)
{
str s;
s = curUserId();
print "Current user ID is " + s;
}
funcName
Hakee merkkijonon, joka sisältää nykyisen funktiokontekstin.
str funcName()
Return value
Sen menetelmän nimi, joka suorittaa tämän menetelmän.
Remarks
Jos suoritus on tällä hetkellä taulukon tai luokan jäsenessä, -menetelmän nimessä on etuliitteenä kyseisen taulukon tai luokan nimi.
Example
static void funcNameExample(Args _arg)
{
print "Current function context is " + funcName();
}
getCurrentPartition
Hakee nykyisen osion lyhyen nimen.
str getCurrentPartition()
Return value
Nykyisen osion lyhyt nimi.
Remarks
Palautetun tietoosion nimen enimmäispituus on kahdeksan merkkiä.
Example
Seuraavassa koodiesimerkissä näytetään kutsut ja tuloste X++-kielen getCurrentPartition-funktiosta ja siihen liittyvistä funktioista tai menetelmistä.
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
Hakee nykyisen osion RecId-kentän .
int64 getCurrentPartitionRecId()
Return value
Nykyisen tieto-osion RecId-kenttä .
Remarks
Jos haluat nähdä koodiesimerkin, joka on riippuvainen getCurrentPartitionRecId-funktiosta , katso Ohjeet: Sisällytä osion suodatin Direct Transact-SQL:ään.
Example
Seuraava koodiesimerkki näyttää X++-kielen getCurrentPartitionRecId-funktion kutsut ja tulokset sekä liittyvät funktiot tai menetelmät.
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
Noutaa nykyisen suorituksen etuliitteen setPrefix-funktion peräkkäisten kutsujen jälkeen.
str getPrefix()
Return value
Nykyinen suorituksen etuliite.
Remarks
Etuliitemekanismi helpottaa tarkkojen virhesanomien kirjoittamista sovelluksen suorittamista tapahtumista. Koska Infolog-lokiin luodaan hierarkkinen näyttö, voi olla helpompi selvittää, mistä kukin virhe on peräisin.
Example
static void getPrefixExample(Args _arg)
{
setPrefix("Prefix");
setPrefix("Another prefix");
print getPrefix();
}
sessionId
Hakee nykyisen istunnon istunnon numeron.
int sessionId()
Return value
Nykyisen istunnon numeerinen tunnus.
Remarks
Määritä istunnon numero, kun käynnistät asiakkaan ja muodostat yhteyden Application Object Serveriin (AOS). Jokainen tämän funktion kutsu asiakkaan elinkaaren aikana palauttaa saman kokonaislukuarvon. Palautettu arvo on yhteensopiva sessionID :n laajennetun tietotyypin kanssa. Sisältää-menetelmät palauttavat tietoja yksittäisistä käyttäjäistuntoista.
Example
static void sessionIdExample(Args _arg)
{
int session;
session = sessionId();
print "This session ID is number " + int2Str(session);
}
prmIsDefault
Määrittää, onko nykyisen menetelmän määritetyllä parametrilla oletusarvo.
int prmIsDefault(anytype argument)
Parameters
| Parameter | Description |
|---|---|
| Argument | Testattava parametri. |
Return value
1 , jos parametrin oletusarvoa on käytetty, muussa tapauksessa 0 (nolla).
Example
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
Tämän avulla soittaja voi suorittaa X++-menetelmän toisen käyttäjän suojauskontekstissa. Tätä funktiota käytetään useimmiten erän käsittelyssä.
container runAs(
str userId,
int classId,
str staticMethodName
[,
container params,
str company,
str language,
str partition
])
Parameters
| Parameter | Description |
|---|---|
| userId | Käyttäjä, joksi tekeydytät. |
| classId | Luokka, joka käynnistetään tekeydytyssä istunnossa. |
| staticMethodName | Luokkamenetelmä, joka käynnistää uudessa käyttäjäkontekstissa. |
| params | -menetelmään välitettavat parametrit. valinnainen. |
| company | Yritys, joka on valittu toiseksi istunnoksi tekeytymiseen; valinnainen. |
| language | Kielelle, joka on valittuna tekeydytylle istunnolle. valinnainen. |
| partition | GetCurrentPartition-funktion palauttaman tyypin osioavain. valinnainen. |
Return value
Säilö, joka sisältää runAs-funktion kutsuman menetelmän paluuarvon tai arvot, jos mitään arvoja palautetaan.
Remarks
Tämän funktion avulla koodia voidaan suorittaa toisena käyttäjänä. Tämä ominaisuus on suojausuhka. Siksi tämä funktio suoritetaan kohdassa Code Access Security. Tämän funktion kutsut palvelimessa edellyttävät lupaa RunAsPermission-luokasta . Jokaisen tämän sovellusohjelmointirajapinnan käytön on oltava uhkien mallinnusta. Jos suojausheikkoutta havaitaan, tarkista syöte tähän ohjelmointirajapintaan. Virheenkorjaus voi ohittaa keskeytyspisteet, jotka ovat menetelmässä, jota runAs-funktio kutsuu. RunAs-funktion suorittaman X++-koodin on toimittava muodossa Microsoft .NET Framework Common Intermediate Language (CIL). Jos CIL:tä ei luoda staattiselle kohdemenetelmälle, virheilmoitus ilmaisee, että menetelmää ei löydy. Osioavain-järjestelmätyyppi on osioparametrin tarkka tyyppi. PartitionKey on merkkijono, jonka enimmäispituus on kahdeksan merkkiä.
Example
Seuraavassa esimerkissä kutsutaan runDueDateEventsForUser-menetelmääEventJobDueDate-luokassa . Koodi suoritetaan käyttäjän suojauskontekstissa. Suorita tämä koodi käyttämällä sitä uuden luokan menetelmässä.
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
Määrittää nykyisen suoritusalueen etuliitteen.
int setPrefix(str _prefix)
Parameters
| Parameter | Description |
|---|---|
| _prefix | Nykyisen suoritusalueen etuliite. |
Return value
0 , jos etuliite on määritetty onnistuneesti.
Remarks
GetPrefix-funktiolla saat suorituksen täydellisen etuliitteen. Kun vaikutusalue päättyy, etuliite palautuu automaattisesti edelliselle tasolle. Etuliitemekanismi helpottaa tarkkojen virhesanomien kirjoittamista tapahtumista, joita sovellus suorittaa. Esimerkiksi AA-menetelmä kutsuu BB-menetelmää ja kukin menetelmä kutsuu setPrefix-funktiota . Sanomat, jotka BB-menetelmä kirjoittaa Infologiin, näkyvät sisäkkäin hierarkiassa. Kun BB-menetelmä päättyy ja ohjausobjekti palaa AA-menetelmään , BB-menetelmän asettamaa etuliitettä ei liitetä seuraaviin viesteihin.
Example
static void setPrefixExample(Args _arg)
{
int i;
i = setPrefix("Prefix");
print i;
}