Tämä on uusi liittymä poissaolotapahtumien viemiseksi Mepcoon. Liittymän avulla siirretään ainoastaan uudet ja muuttuneet poissaolot, kun aiemmassa liittymätoteutuksessa siirrettiin aina kaikki tapahtumat. Tämä vähentää manuaalista työtä palkanlaskennassa. Olethan yhteydessä Nepton-yhteyshenkilöösi, mikäli haluat ottaa uuden liittymän käyttöön.
Accountor Mepco HRM poissaolojen vienti -liittymällä poissaolot siirretään reaaliajassa SFTP-palvelimelle Mepcoon, kun ne tallennetaan Neptonissa. Liittymä käyttää Mepcon poisto- ja lisäysmerkintöjä ("P" ja "U"). Poissaoloa muokattaessa lähetetään molemmat.
Hyvä tietää
- Työntekijät työntekijänumerolla 0 eivät tule osaksi aineistoa.
- Liittymä käsittelee ainoastaan poissaoloja. Huomaathan tämän, kun teet poimintasääntöä. Esim. työtapahtumia ei käsitellä mutta tapahtumatyyppi, jonka käyttäytymiseksi on valittu "poissaolo", otetaan mukaan (liittymä käsittelee siis tapahtumia, joiden activitytypecategoryid = '2').
- Mikäli poissaolotapahtuma aloitetaan kalenterissa ilman lopetusaikaa, liittymä ei käsittele sitä. Liittymä käsittelee poissaolotapahtuman, kun se lopetetaan ja sille määrittyy lopetusaika.
- Poissaolotapahtuman tallennuksen yhteydessä käsitellään vain kyseinen poissaolotapahtuma ja se viedään SFTP-palvelimelle. Muut saman päivän tapahtumat eivät tule osaksi aineistoa.
- Poissaolotapahtuma siirretään ainoastaan, jos se on uusi, poistettu tai siihen on tehty sellainen muutos, joka koskee aineistossa siirrettävää tietoa. Tarkista aineiston tietueet -kohdasta alta, mitkä tiedot siirretään. Esimerkiksi kommentin lisääminen poissaolotapahtumaan ei muodosta uutta aineistoa.
- Poissaolotapahtuman voi tallentaa vaikka liittymän suorittamisessa ilmenisi ongelmia. Esim. virheellinen poimintasääntö tai ongelma SFTP-palvelimella ei estä poissaolotapahtuman tallentamista. Virheestä annetaan käyttäjälle varoitus.
- Jokaista poissaolotapahtumaa ja sääntöjoukkoa kohden muodostetaan oma tiedosto, joka siirretään SFTP-palvelimelle. Mikäli sama poissaolotapahtuma muodostaa aineistoa kahdessa eri sääntöjoukossa, luodaan kaksi eri tiedostoa.
- Poistettu poissaolotapahtuma tai muokatun poissaolotapahtuman edellinen versio muodostuu aineistolle poistomerkinnällä "P".
- Uusi tapahtuma tai muokatun poissaolotapahtuman viimeisin versio muodostuu aineistolle lisäysmerkinnällä "U".
- Poissaolotapahtuman muokkaus muodostaa kaksi riviä. Ensimmäisellä rivillä on poissaolon ennen muokkausta ollut versio tunnisteella ”P”. Jälkimmäisellä rivillä on poissaolon päivitetty versio tunnisteella “U".
- Liittymää varten on mahdollista määritellä useampi sääntöjoukko. Mikäli liittymälle on määritelty useita sääntöjoukkoja, tapahtuman tallennus voi kestää hieman kauemmin.
- Mikäli poissaolotapahtumia poistetaan henkilön kalenterista massatoimintojen kautta, muodostuvat poistettavat rivit yhteen tiedostoon, vaikka poissaolotapahtumia olisi useampi. Poissaolotapahtumia kopioidessa jokaista tapahtumaa kohden muodostuu oma tiedosto.
Määrittäminen
1. Henkilöiden tunnusten määrittäminen
Henkilötunnisteet voidaan määrittää kohdassa Työsuhde > Henkilön tiedot > Tunnisteet.
Mikäli henkilön Mepco-tunnusta ei ole asetettu, käytetään henkilönumeroa.
2. Liittymän asetukset
Liittymän käyttöönottoa varten tulee määrittää sääntöjoukko, jolla muodostetaan poissaoloaineisto. Sääntöjoukon asetuksissa valitaan viennin tiedostomuodoksi Accountor Mepco poissaolojen vienti (Poissaolo) tai Accountor Mepco poissaolojen vienti (Vuosiloma).
SFTP-asetuksissa tulee määrittää vähintään SFTP-palvelimen osoite, SFTP-käyttäjätunnus sekä SFTP-salasana (tai public key -autentikointi). Vientitiedoston nimeen tulee lisätä tarkka aikaleima [timestamp-ms], kuten alla olevassa esimerkissä. Mikäli aikaleimaa ei käytetä, jokaisella tiedostolla on sama nimi ja ne ylikirjoittavat toisensa.
Osio Työaika > Hallinta > Työyhteisön asetukset > Liittymät > Accountor Mepco HRM poissaolojen vienti sisältää tulosten sisältöön liittyvät asetukset, jotka on kuvattu täällä.
Tiedostomuoto
Siirtotiedosto on UTF-8 muotoista puolipisteellä (;
) eroteltua tekstimuotoista dataa. Kenttien pituuksille ei ole määritelty ylärajaa. Mepcoon määritellään tiedoston luentaan tätä aineistoa vastaavat sarakkeet ja käsittelysäännöt.
Tiedonsiirto on mahdollista ottaa käyttöön myös vain yhdellä projektikohdenteella.
Aineiston tietueet
Sarake | Kenttä | Sääntöjoukon kentän nimi | Muoto | Kuvaus |
---|---|---|---|---|
A | Henkilönumero | Lisätään automaattisesti, ei korvattavissa | string | Henkilön Mepco-tunnus / henkilönumero. |
B | Poissaolon alkamispvm | StartDateTime | date | Poissaolon alkamispäivämäärä. |
C | Poissaolon päättymispvm | EndDateTime | date | Poissaolon päättymispäivämäärä. |
D | Henkilön nimi | Lisätään automaattisesti, ei korvattavissa | string | Henkilön suku- ja etunimet |
E | Projektikoodi 1 | ProjectCode1 | string | Voidaan ohittaa sääntöjoukon säännössä kentällä OverrideProjectCode1
|
F |
Projektikoodi 2 |
ProjectCode2 | string | Voidaan ohittaa sääntöjoukon säännössä kentällä OverrideProjectCode2
|
G |
Projektikoodi 3 |
ProjectCode3 | string | Voidaan ohittaa sääntöjoukon säännössä kentällä OverrideProjectCode3
|
H |
Projektikoodi 4 |
ProjectCode4 | string | Voidaan ohittaa sääntöjoukon säännössä kentällä OverrideProjectCode4
|
I |
Projektikoodi 5 |
ProjectCode5 | string | Voidaan ohittaa sääntöjoukon säännössä kentällä OverrideProjectCode5
|
J | Palkkalajikoodi | SalaryCode | string | Voidaan ohittaa sääntöjoukon säännössä kentällä OverrideSalaryCode
|
K | Määrä | Amount | decimal | Poissaolon pituus, voidaan esittää tunteina tai päivinä. Desimaalierottimena on piste (. ) |
L | Rivin tyyppi | Lisätään automaattisesti, ei korvattavissa | string |
Määrittää, onko tieto Mepcosta poistettava vai Mepcoon lisättävä. Poisto: Lisäys: |
Alla oleva aineisto kuvastaa muokattua poissaoloa. 6 tunnin pituinen poissaolo on muokattu 8 tunnin pituiseksi. Edellisestä versiosta luodaan poistorivi ("P") ja uudesta version lisäysrivi ("U").
1918;2024-12-12;2024-12-12;Meikäläinen Matti;1001;;;;;123;6.00;P 1918;2024-12-12;2024-12-12;Meikäläinen Matti;1001;;;;;123;8.00;U
Liittymän suorittaminen tapahtuman tallentamisen yhteydessä
Alla olevassa esimerkissä on kalenterinäkymässä kopioitu poissaolotapahtuma viidelle päivälle.
Tallennuksen yhteydessä SFTP-palvelimelle muodostuu jokaisesta tapahtumasta oma tiedosto, jossa on sääntöjoukon muodostama aineisto. Huomaathan, että on tärkeää määrittää tapahtuman nimeen tarkka aikaleima [timestamp-ms], jotta tiedostot eivät ylikirjoita toisiaan.
Liittymän suorittaminen manuaalisesti
Liittymän voi suorittaa manuaalisesti kohdassa Hallinta > Liittymät > Accountor Mepco HRM poissaolojen vienti. Tämä voi olla tarpeellista esimerkiksi silloin, kun halutaan ajaa tietyn aikavälin aineisto kokonaan uudelleen tai poistaa se. Manuaalisesti suoritettu liittymä muodostaa ainoastaan lisäysrivejä ("U").
Mikäli tarkoitus on poistaa Mepcosta rivejä, voidaan manuaalisen suorituksen luomaa tiedostoa muokata korvaamalla "U" -rivit "P" -riveillä.
Alla olevassa esimerkissä käytetään aiemmin luotua poimintasääntöä "Mepco poissaolot". Poimintasääntö on pakollinen.
Rivityypin ohittaminen poimintasäännössä
Joskus saattaa olla tarpeellista ohittaa "P" tai "U" -rivien muodostuminen, kun käsitellään tiettyjä poissaolotyyppejä. Tätä varten poimintasäännössä voidaan käyttää kolmea eri muuttujaa:
- :integrationContext - konteksti, jossa liittymää suoritetaan ("P" tai "U")
- :integrationContextForDeletedOrEditedActivities - Rivin "P" muodostus
- :integrationContextForNewActivities - Rivin "U" muodostus
Alla oleva esimerkki kuvaa yksinkertaistetusti, kuinka isyysvapaalle muodostetaan ainoastaan lisäysmerkinnät "U", mutta poiston tai muokkauksen yhteydessä ei muodosteta poistomerkintää "P".
SELECT *, SUM(Amount) AS OverrideAmount,
MIN(SalaryRenderingDate) As OverrideStartDatetime,
MAX(SalaryRenderingDate) AS OverrideEndDatetime,
CASE
WHEN AbsenceTypeId = 11 THEN 'KERTAUS' --Kertausharjoitukset
WHEN AbsenceTypeId = 3 THEN 'ISYYSVAPAA' -- Isyysvapaa
ELSE
'MUU VAPAA'
END AS OverrideSalaryCode
FROM UserSalaryData
WHERE CompensationType = 'BasicTime'
AND
AbsenceTypeId IS NOT NULL
AND
(AbsenceTypeId != 3 OR :integrationContext != :integrationContextForDeletedOrEditedActivities) -- Lähetä ainostaan U-rivit isyysvapaalle
GROUP BY ActivityId
Kun kalenteriin lisätään uusi isyysvapaa, muodostetaan aineisto, joka sisältää isyysvapaan lisäysmerkinnällä "U". Mikäli isyysvapaata muokataan, muodostetaan uusi aineisto lisäysmerkinnällä "U", mutta edellistä versiota poissaolosta ei muodosteta poistomerkinnällä "P". Mikäli isyysvapaaa poistetaan kokonaan, ei aineistoa muodosteta.
Mikäli kalenteriin lisätään kertausharjoitukset (tai mikä tahansa muu poissaolo), se käsitellään liittymän normaalin toimintatavan mukaisesti.
Ongelmatilanteet
Poissaolojen lisäys ja poistaminen Mepcosta
Mikäli Mepcosta halutaan kerralla poistaa suurempi määrä sinne vietyjä poissaoloja tietyllä ajanjaksolla, voi sen tehdä suorittamalla liittymän manuaalisesti. Manuaalista liittymän suoritusta voi käyttää samalla tavalla myös poissaolojen lisäämiseen.
Asetusmuutokset
Palkka-aineistoon vaikuttavia asetusmuutoksia ei ole suositeltavaa tehdä jälkikäteen. Esimerkiksi työpäivän pituuden muuttaminen päiväkohtaisesti kalenterinäkymässä voi muuttaa myös palkallisia tunteja. Tällaisia muutoksia tehdessä liittymää ei suoriteta ja Mepcoon jää sinne mahdollisesti aiemmin viety tieto poissaolon palkallisesta kestosta. Tällaisessa tilanteessa tulee toimia seuraavasti:
- Poista Mepcosta aiemmin luotu poissaolo.
- Poista Neptonista nykyinen poissaolo. Tämä lähettää "P" -rivin, jolle ei ole vastinetta Mepcossa.
- Lisää poissaolo uudelleen. Tämä luo "U" -rivin muodostaen aineiston käyttäen nykyisiä asetuksia.