Varastotapahtumien konsolidointi
Ajan mittaan varastotapahtumataulu (InventTrans
) kasvaa ja kuluttaa enemmän tietokantatilaa. Tästä syystä taulukolle tehdyt kyselyt hidastuvat ajan myötä. Tässä artikkelissa kuvataan, miten varastotapahtumien konsolidointitoiminnon avulla voidaan konsolidoida varastotapahtumien tietoja järjestelmän suorituskyvyn parantamiseksi.
Muistiinpano
Vain taloudellisesti päivitetyt varastotapahtumat voidaan konsolidoida valitulta suljetulta kirjanpitojaksolta. Jotta konsolidointi olisi käytettävissä , lähtevien lähtevien tapahtumien varasto-oton tilana on oltava Myyty, ja saapuvien varastotapahtumien vastaanoton tilana on oltava Ostettu.
Kun konsolidoit varastotapahtumia, kaikki liittyvät tapahtumat siirretään tauluun InventTransArchive
. Varasto-ottotapahtumat ja varasto-ottotapahtumat konsolidoidaan erikseen nimikkeen tunnuksen () ja varastodimensionitemId
tunnuksen (inventDimId
) yhdistelmän perusteella, ja ne laitetaan yhteenveto-ottoon ja yhteenveto vastaanottotapahtumista.
Jos ja itemId
yhdistelmä inventDimId
sisältää vain yhden vastaanotto- tai varasto-ottotapahtuman, tapahtumaa ei konsolidoida.
Muistiinpano
Kun varastotapahtumat on konsolidoinnin jälkeen, Dataverse InventTransArchive
Microsoft Azure voit optimoida varastointia ja järjestelmän suorituskykyä edelleen arkistointitoiminnon avulla, jotta tietueita voidaan siirtää dataan. Lisätietoja on kohdassa Varastotapahtumatietojen arkistoiminen kohteessa Dynamics 365 Supply Chain Management.
Toiminnon ottaminen käyttöön järjestelmässä
Jos järjestelmässä ei ole vielä tässä artikkelissa kuvattua ominaisuutta, siirry ominaisuuksien hallintaan ja ota varastotapahtumien konsolidointitoiminto käyttöön. Tätä toimintoa ei voi poistaa käytöstä, kun se on otettu käyttöön.
Ennen varastotapahtumien konsolidointia huomioon otettavat asiat
Ennen varastotapahtumien konsolidointia on otettava huomioon seuraavat liiketoimintaskenaariot, koska toiminto vaikuttaa niihin:
- Kun kirjaat varastotapahtumia toisiinsa liittyvistä asiakirjoista, kuten ostotilausriveistä, ne näytetään konsolidointina. Voit tarkistaa konsolidointitapahtumat varastonhallinnan kausittaisten tehtävien > > avulla. Voit tarkistaa varastotapahtumien konsolidoinnin. >
- Varaston sulkemista ei voi peruuttaa konsolidoiduilla kausilla.
- Standardikustannusmuunnosta ei voi tehdä konsolidoiduille kausille.
- Varastotapahtumista lähteneet varastoraportit vaikuttavat siihen, kun konsolidoit varastotapahtumia. Nämä raportit sisältävät varaston erääntymisraportin ja varaston arvon raportit.
- Varastoennusteet saattavat vaikuttaa, jos ne suoritetaan konsolidointikausien aikahorisontissa.
Edellytykset
Varastotapahtumia voi konsolidoida vain kausina, joiden seuraavat ehdot täyttyvät:
- Kirjanpitokauden on oltava suljettu.
- Varaston sulkeminen on suoritettava konsolidoinnin kauden loppupäivämääränä tai sen jälkeen.
- Kauden on oltava vähintään yksi vuosi ennen konsolidoinnin aloituskauden päivämäärää.
- Varaston uudelleenlaskentoja ei sallita.
Varastotapahtumien konsolidointi
Noudata seuraavia ohjeita, kun haluat konsolidoida varastotapahtumia.
Siirry Varastonhallinnan kausittaiset >tehtävät ->Puhdista varastotapahtuman>konsolidointi.
Näkyviin tulee varastotapahtumien konsolidointisivu , joka sisältää konsolidointiprosessitietueiden luettelon.
Luo varastotapahtuman konsolidointi valitsemalla toimintoruudussa varastotapahtuman konsolidointi.
Määritä seuraavat kentät Varastotapahtuman konsolidointi - valintaikkunan Parametrit-pikavälilehdessä:
- Suljetun kirjanpitokauden aloituspäivämäärä – Valitse konsolidointiin sisällytettävä aikaisin tapahtumapäivämäärä.
- Päivämäärään suljettuun kirjanpitokauteen – Valitse viimeisin konsolidointiin sisällytettävä tapahtumapäivämäärä.
Muistiinpano
Voit valita vain kausia, jotka täyttävät edellytykset.
Määritä eräkäsittelyn tiedot tarpeen mukaan Suorita taustalla -pikavälilehdestä. Noudata erätöiden tavallisia vaiheita Microsoft Dynamics 365 Supply Chain Management.
Valitse OK.
Näet viestin, joka pyytää sinua vahvistamaan, että haluat jatkaa. Lue viesti huolellisesti ja valitse Kyllä, jos haluat jatkaa.
Näyttöön tulee sanoma, jonka mukaan varastotapahtuman konsolidointityö lisätään eräjonoon. Työn avulla voidaan konsolidoida varastotapahtumia valilta jaksolta.
Konsolidointivarastotapahtumien tarkasteleminen
Varastotapahtumien konsolidointi -sivulla näkyy koko konsolidointihistoriasi. Jokaisella ruudukon rivillä näkyy tietoja, kuten konsolidoinnin luontipäivämäärä, sen luonut käyttäjä ja sen tila.
Valitse sivun yläosan avattavasta luettelosta jokin seuraavista arvoista, kun haluat suodattaa ruudukossa näkyvät konsolidoinnit:
- Aktiivinen – Näytä vain aktiiviset konsolidointit.
- Kaikki : Näytä kaikki konsolidoinnit.
Kutakin ruudukon konsolidointia varten annetaan seuraavat tiedot:
- Aktiivinen – Valintamerkki ilmaisee, että konsolidointi on aktiivinen.
- Aloituspäivämäärä – Vanhimpaan konsolidointiin sisällytettävän tapahtuman päivämäärä.
- Päivämäärään – Viimeisimmän konsolidointiin sisällytettävän tapahtuman päivämäärä.
- Ajoitettu – Konsolidoinnin luonut käyttäjätili.
- Suoritettu: Päivämäärä, jolloin konsolidointi luotiin.
- Pysäytä nykyinen päivitys – Valintamerkki ilmaisee, että konsolidointi on meneillään, mutta konsolidointi on keskeytetty.
- Tila – Konsolidoinnin käsittelytila. Mahdolliset arvot ovat Odottaa, Käynnissä ja Valmis.
Ruudukon yllä oleva työkalurivi sisältää seuraavat painikkeet, joita voit käyttää valitun konsolidoinnin kanssa:
Konsolidointitapahtumat – Tarkastele valitun konsolidoinnin yksityiskohtaisia tietoja. Näyttöön tuleva konsolidointitapahtumien sivu, jossa näkyvät kaikki konsolidoinnin tapahtumat.
Jos haluat lisätietoja tietystä tapahtumasta Konsolidointitapahtumat-sivulla , valitse tapahtuma ruudukosta ja valitse sitten toimintoruudusta Konsolidointitapahtuman tiedot. Näkyviin tulevalla konsolidointitapahtuman tietosivulla näkyy esimerkiksi kirjanpidon kirjauksia, liittyviä alareskontran viitteitä ja taloushallinnon dimensioita.
Keskeytys : Keskeytä valittu parhaillaan käsiteltävä konsolidointi. Tauko tulee voimaan vasta arkistointitehtävän luomisen jälkeen. Tästä syystä ennen keskeytyksen alkamista voi olla lyhyt viive. Jos konsolidointi on keskeytetty, Pysäytä nykyinen päivitys -kenttään tulee valintamerkki .
Jatka – Parhaillaan keskeytettyjen valitun konsolidoinnin jatkaminen.
Koodin laajentaminen mukautettujen kenttien tueksi
Jos taulu InventTrans
sisältää vähintään yhden mukautetun kentän, koodia on ehkä laajentaa niin, että se tukee kenttiä sen mukaan, miten ne on nimetty.
- Jos taulun mukautetuilla
InventTrans
kentillä on samatInventtransArchive
kenttien nimet kuin taulussa, ne on yhdistetty 1:1:ksi. Näin ollen voit vain laittaa mukautetut kentät taulukoninventTrans
kenttäryhmäänInventoryArchiveFields
. - Jos taulukon
InventTrans
mukautetut kenttien nimet eivät vastaa taulukonInventtransArchive
kenttien nimiä, ne on liitettävä lisäämällä koodi. Jos esimerkiksi järjestelmäkenttä on nimeltäänInventTrans.CreatedDateTime
, sinun on luotava taulukkoonInventTransArchive
kenttä, jolla on eri nimi (esimerkiksiInventtransArchive.InventTransCreatedDateTime
) ja lisättävä alanumerot luokkiinInventTransArchiveProcessTask
jaInventTransArchiveSqlStatementHelper
seuraavan esimerkkikoodin mukaisesti.
Seuraava esimerkkikoodi näyttää, kuinka tarvittava laajennus lisätään luokkaan InventTransArchiveProcessTask
.
[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);
}
}
Seuraava esimerkkikoodi näyttää, kuinka tarvittava laajennus lisätään luokkaan InventTransArchiveSqlStatementHelper
.
[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;
}
}