Varude kannete konsolideerimine
Aja jooksul kasvab laokannete tabel (InventTrans
) edasi ja kasutab rohkem andmebaasi ruumi. Seetõttu muutuvad tabeli kohta tehtud päringud järk-järgult aeglasemaks. See artikkel kirjeldab, kuidas saate laokannete konsolideerimisfunktsiooni kasutada laokannete andmete konsolideerimiseks süsteemi jõudluse parandamiseks.
Paberraha
Ainult finantsiliselt värskendatud laokandeid saab konsolideerida valitud suletud pearaamatu perioodis. Konsolideerimiseks peavad finantsiliselt uuendatud väljaminevate laokannete väljamineku olek olema Müüdud ja sissetulevate laokannete sissetuleku olek peab olema Ostetud .
Laokannete konsolideerimisl teisaldatakse kõik seotud kanded tabelisse InventTransArchive
. Lao väljaminekukanded ja lao sissetulekukanded konsolideeritakse eraldi, kauba ID (itemId
) ja laodimensiooni ID () kombinatsioonilinventDimId
põhinevalt ning need pannakse summeeritud väljaminekule ja summeeritud sissetulekukannetele.
Kui üks itemId
ja inventDimId
kombinatsioon sisaldab ainult ühte sissetuleku- või väljaminekkannet, siis kannet ei konsolideerita.
Paberraha
Pärast laokannete konsolideerimist saate täiendavalt optimeerida laoala ja süsteemi jõudlust, Dataverse InventTransArchive
kasutades arhiivi pikaajalise kinnipidamise funktsiooniga kirjete teisaldamiseks andmete Microsoft Azure kausta. Lisateavet vt arhiivitud laokannete andmete kohta Dynamics 365 Supply Chain Management.
Funktsiooni sisselülitamine teie süsteemis
Kui teie süsteem ei kaasa juba selles artiklis kirjeldatud funktsiooni, minge funktsioonihaldusesse ja lülitage sisse laokannete konsolideerimise funktsioon. Seda funktsiooni ei saa pärast lubamist keelata.
Mida on vaja enne laokannete konsolideerimist arvestada
Enne laokannete konsolideerimist peaksite arvestama järgmiste äristsenaariumiga, sest toiming mõjutab neid:
- Kui auditeerite laokandeid seotud dokumentidest, nt ostutellimuse ridadest, näidatakse neid konsolideeritud kannetena. Konsolideeritud kannete ülevaatamiseks peate minge varude halduse perioodilistesse > ülesannetesse > Laokannete > konsolideerimise puhastamine.
- Lao sulgemist ei saa konsolideeritud perioodideks tühistada.
- Konsolideeritud perioodideks ei saa konverteerida standardkulusid.
- Laokannetest lähtekohana aruandeid mõjutab laokannete konsolideerimise korral. Need aruanded sisaldavad laovarude ajalise jaotuse aruannet ja laovarude väärtuse aruandeid.
- Varude prognoose võib mõjutada, kui neid käitatakse konsolideeritud perioodide perioodil.
Eeltingimused
Laokandeid saab konsolideerida ainult perioodidel, kui järgmised tingimused on täidetud:
- Pearaamatu periood peab olema suletud.
- Lao sulgemine peab olema käitatud konsolideerimise kuni-perioodi kuupäeval või pärast seda.
- See periood peab olema vähemalt üks aasta enne konsolideerimise perioodi alguskuupäeva.
- Varude ümberarvutusi ei tohi olla.
Konsolideerige oma laokanded.
Laokannete konsolideerimiseks järgige neid samme.
Minge varude halduse perioodilistesse>ülesannetesse>Laokannete>konsolideerimise puhastamine.
Kuvatakse laokande konsolideerimise leht ja kuvatakse konsolideeritud protsessikirjete loend.
Tegevuspaanil valige laokannete konsolideerimine , et luua laokannete konsolideerimine.
Seadke varude kande konsolideerimise dialoogiboksis parameetrite kiirkaardil järgmised väljad:
- Suletud pearaamatuperioodi alguskuupäev – valige varaseim kande kuupäev, mis konsolideerimisse kaasata.
- Kuupäevani suletud pearaamatu perioodis – valige kõige uuem kande kuupäev, mida konsolideerimisse kaasata.
Paberraha
Valida saab ainult eeltingimustele vastavad perioodid.
Seadistage taustal käitamise kiirkaardil pakktöötluse üksikasjad vastavalt vajadusele. Järgige teenuse Microsoft Dynamics 365 Supply Chain Management tavalisi pakett-tööde etappe.
Valige nupp OK.
Saate teate, mis palub teil kinnitada, et soovite jätkata. Lugege teadet hoolikalt ja valige Jah , kui soovite jätkata.
Te saate sõnumi, mis täpsustab, et teie laokannete konsolideerimistöö lisatakse pakktöötluse järjekorda. Töö alustab laokannete konsolideerimist valitud perioodist.
Kuva konsolideeritud laokanded.
Laokande konsolideerimise lehel kuvatakse teie täielik konsolideerimise ajalugu. Igal ruudustiku real kuvatakse selline teave nagu konsolideerimise loomise kuupäev, selle loonud kasutaja ja selle olek.
Lehe ülaosas ripploendis valige üks järgmistest väärtustest ruudustikus kuvatavate konsolideerimiste filtreerimiseks:
- Aktiivne – saate kuvada ainult aktiivsed konsolideerimised.
- Kõik – saate kuvada kõik konsolideerimised.
Iga konsolideerimise kohta ruudustikus antakse järgmine teave:
- Aktiivne – märge näitab, et konsolideerimine on aktiivne.
- Alguskuupäev – vanima kande kuupäev, mille saab konsolideerimisse kaasata.
- Kuupäevani – kõige uuema kande kuupäev, mille saab konsolideerimisse kaasata.
- Plaanitud – kasutajakonto, mis lõi konsolideerimise.
- Käivitatud – konsolideerimise loomise kuupäev.
- Peata praegune uuendus – märge näitab, et konsolideerimine on pooleli, kuid see on peatatud.
- Olek – konsolideerimise töötlemise olek. Võimalikud väärtused on Ootel , Pooleli ja Lõpetatud.
Ruudustiku kohal tööriistariba pakub järgmisi nuppe, mida saate kasutada valitud konsolideerimisega töötada:
Konsolideeritud kanded – vaadake valitud konsolideerimise kõiki üksikasju. Kuvatakse konsolideeritud kannete leht, kus kuvatakse kõik konsolideerimises tehtud kanded.
Konkreetse kande kohta lisateabe vaatamiseks lehel Konsolideeritud kanded valige see ruudustikus ja seejärel valige tegevuspaanil suvand Konsolideeritud kande üksikasjad. Kuvatav konsolideeritud kande üksikasjade leht näitab sellist teavet nagu pearaamatu sisestamine, seotud alammooduli viited ja finantsdimensioonid.
Peata – peatage praegu töödeldav valitud konsolideerimine. Paus jõustub alles pärast arhiveerimise ülesande loomist. Seega võib peatamise jõustumine toimuda viivitusega. Kui konsolideerimine on peatatud, kuvatakse märge selle praeguse värskendamise peatamise väljal .
Jätka – jätkake praegu peatatud konsolideerimise töötlemist.
Koodi laiendamine kohandatud väljade toetamiseks
Kui tabel InventTrans
sisaldab ühte või mitut kohandatud välja, peate võib-olla koodi nende toetamiseks laiendama, sõltuvalt sellest, kuidas nende nimi on.
- Kui tabeli kohandatud väljadel
InventTrans
on samad välja nimedInventtransArchive
, mis tabelis, tähendab see, et need on vastendatud 1:1. Seetõttu saate kohandatud väljad lihtsalt tabeliInventoryArchiveFields
väljagruppiinventTrans
panna. - Kui tabeli kohandatud väljade
InventTrans
nimed ei ühtiInventtransArchive
tabeli väljanimedega, peate nende vastendamiseks lisama koodi. Näiteks kuiInventTrans.CreatedDateTime
teil on süsteemiväli kutsutud,InventTransArchive
peate looma tabelis välja teise nimega (InventtransArchive.InventTransCreatedDateTime
nt) ja lisama laiendeid klassidele, nagu näidatud järgmises näidiskoodisInventTransArchiveProcessTask
InventTransArchiveSqlStatementHelper
.
Järgmine näidiskood näitab näidet, kuidas lisada klassile nõutav InventTransArchiveProcessTask
laiend.
[ExtensionOf(classStr(InventTransArchiveProcessTask))]
Final class InventTransArchiveProcessTask_Extension
{
protected void addInventTransFields(SysDaSelection _selectionObject)
{
_selectionObject.add(fieldStr(InventTrans, ModifiedBy))
.add(fieldStr(InventTrans, CreatedBy)).add(fieldStr(InventTrans, CreatedDateTime));
next addInventTransFields(_selectionObject);
}
protected void addInventTransArchiveFields(SysDaSelection _selectionObject)
{
_selectionObject.add(fieldStr(InventTransArchive, InventTransModifiedBy))
.add(fieldStr(InventTransArchive, InventTransCreatedBy)).add(fieldStr(InventTransArchive, InventTransCreatedDateTime));
next addInventTransArchiveFields(_selectionObject);
}
}
Järgmine näidiskood näitab näidet, kuidas lisada klassile nõutav InventTransArchiveSqlStatementHelper
laiend.
[ExtensionOf(classStr(InventTransArchiveSqlStatementHelper))]
final class InventTransArchiveSqlStatementHelper_Extension
{
private str inventTransModifiedBy;
private str inventTransCreatedBy;
private str inventTransCreatedDateTime;
protected void initialize()
{
next initialize();
inventTransModifiedBy = new SysDictField(tablenum(InventTrans), fieldNum(InventTrans, ModifiedBy)).name(DbBackend::Sql);
inventTransCreatedDateTime = new SysDictField(tablenum(InventTrans), fieldNum(InventTrans, CreatedDateTime)).name(DbBackend::Sql);
inventTransCreatedBy = new SysDictField(tablenum(InventTrans), fieldNum(InventTrans, CreatedBy)).name(DbBackend::Sql);
}
protected str buildInventTransArchiveSelectionFieldsStatement()
{
str ret;
ret = next buildInventTransArchiveSelectionFieldsStatement();
if (inventTransModifiedBy)
{
ret += ',';
ret += strFmt('%1', new SysDictField(tablenum(InventTransArchive), fieldNum(InventTransArchive, InventTransModifiedBy)).name(DbBackend::Sql));
}
if (inventTransCreatedBy)
{
ret += ',';
ret += strFmt('%1', new SysDictField(tablenum(InventTransArchive), fieldNum(InventTransArchive, InventTransCreatedBy)).name(DbBackend::Sql));
}
if (inventTransCreatedDateTime)
{
ret += ',';
ret += strFmt('%1', new SysDictField(tablenum(InventTransArchive), fieldNum(InventTransArchive, InventTransCreatedDateTime)).name(DbBackend::Sql));
}
return ret;
}
protected str buildInventTransTargetFieldsStatement()
{
str ret;
ret = next buildInventTransTargetFieldsStatement();
if (inventTransModifiedBy)
{
ret += ',';
ret += strFmt('%1', inventTransModifiedBy);
}
if (inventTransCreatedBy)
{
ret += ',';
ret += strFmt('%1', inventTransCreatedBy);
}
if (inventTransCreatedDateTime)
{
ret += ',';
ret += strFmt('%1', inventTransCreatedDateTime);
}
return ret;
}
}