Onko meidän perhe ainoa joka ei aina jaksa tai muista suunnitella viikon ruokahuoltoa etukäteen? Maanantaina töistä tullessa on 30 minuuttia aikaa kehitellä perheelle ruokaa eikä ole aavistustakaan mitä ruokaa tehtäisiin. Tuttua?
Meillä oli aiemmin jääkaapin ovessa lista kivoista arkiruoista. Viikonloppuna päätettiin mitä niistä seuraavalla viikolla tehdään ja haettiin raaka-aineet valmiiksi.
Määrittelemättömänä ajankohtana ruuhkavuosia lista katosi ja hieno käytäntö sen mukana.
Tartutaan härkää sarvista ja laitetaan ruokahuolto kuntoon hyödyntäen Office 365:n palveluja.
Viikon ruokalistan suunnittelu
Haluan valita ensi viikon ruoat perheen arkiluokavalikoimasta. Tehdään tätä varten Planner-suunnitelma (plan). Yksi säilö (bucket) resepteille ja sieltä sitten kätevästi raahataan ruoka kutakin viikonpäivää vastaavaan säilöön. Helppoa kuin mikä.
Havaitaan heti ettei toimi. Sivua joutuu vierittämään, jotta perjantaille voi lisätä ruoan. Eivätkä omat säilöt viikonpäiville tuo mitään lisäarvoa. Osaan päättää ilmankin mitä ruokaa minäkin päivänä tehdään. Tehdäänkin viikonpäivien tilalle viikon menu -säilö, johon kaikki seuraavan viikon ruoat raahataan valikoimasta.
Ruokaohjeita tulee paljon. Voisi olla mielekästä jaotella niitä eri säilöihin. Pyrimme syömään 2-3 kertaa viikossa kasvis- tai kalaruokaa. Jaetaan reseptit kahteen säilöön (liharuoat ja kala/kasvisruoat). Merkitään lisäksi liha ja kala/kasvisruoat omilla väreillään.
Ratkaisu näyttää nyt tältä.
Kätevää. Seuraavan viikon ruokalistan suunnittelu on nyt helppoa. Raahataan arkiruokavalikoimasta mieleiset viikon menu -säilöön. Värien avulla hahmottaa nopeasti onko viikossa sopivassa suhteessa liha-, kala- ja kasvisruokia.
Kauppalistan muodostaminen
Olemme pitkään käyttäneet OneNotea perheen jaettuna kauppalistana. Kauppalistaa voi muokata kaikilla kodin laitteilla. Perheenjäsenillä on aina puhelimessaan ajantasainen kauppalista. Suosittelen.
Voisiko juuri tekemästämme viikon ruokalistasta muodostaa automaattisesti kauppalistan?
Tietenkin voi.
Reseptien raaka-aineiden tallennus
Jotta kauppalistan automaattinen muodostus on mahdollista, pitää kutakin ruokaa vastaavat raaka-aineet olla tallennettuna jonnekin. Lisätään ne Planner-korttien (cards) kuvauskenttiin.
Raaka-aineiden poimiminen viikon ruokalistasta
Seuraavaksi tehdään Flow:lla työnkulku, joka hakee Plannerista viikolle valitut ruoat ja tallentaa ruokiin tarvittavat raaka-aineet SharePoint-listaan (kauppalista_tmp). Jokaista ruokaa vastaa yksi rivi SharePoint-listassa.
Työnkulun sisältö:
- Käynnistetään työnkulku painikkeesta
- Haetaan perheen ruokalista -suunnitelman kaikki tehtävät
- Poimitaan niistä ne joiden säilön id on sama kuin viikon menun id. (Id:n selvittäminen on työnkulun tekemisen hankalin osuus)
- Haetaan tehtävän lisätiedot
- Tehdään uusi rivi kauppalista_tmp -listalle ja tallennetaan sen otsikoksi tehtävän kuvauskentän sisältö, eli raaka-ainelista.
Työnkulun suorittamisen jälkeen kauppalista_tmp -lista näyttää seuraavalta.
Ostoslistan luominen raaka-ainelistasta
Seuraavaksi pitää päättää mihin työkaluun ostoslista muodostetaan. Olisin halunnut käyttää tuttua OneNotea, mutta Flow:n työkalut eivät ole OneNoten suhteen vielä riittävän hyvät (tehtävälistan luonti puuttuu). Google taskien selainversio on niin ankea että hylkään sen heti. Päädyn käyttämään Todoist-palvelua, johon löytyy Flow:sta valmiit palikat.
Tehdään työnkulku, joka luo Todoist-palveluun tehtäviä aina kun kauppalistat_tmp -listaan luodaan uusi rivi.
Työnkulun monimutkaisin kohta on raaka-ainelistan (maito, muna, jauhot) pilkkominen split-lausekkeen avulla matriisi-tyyppiseen muuttujaan.
Valmis ratkaisu käytännössä
Valmis ratkaisu näyttää seuraavalta.
Plannerissa muodostetaan viikon ruokalista raahaamalla reseptejä viikon ruokalista -säilöön.
Kun ruokalista on valmis, käynnistetään kauppalistan muodostaminen kännykästä.
Valmis ostoslista ilmestyy minun ja vaimon kännyköihin Todoist-sovellukseen.
Ratkaisu lisää tehtäviä Todoist:in Ostokset-listaan. Listaan voi lisätä käsin viikon ruokalistan ulkopuolelta kaikkea muutakin kaupasta haettavaa. Aivan toimiva konsepti.
Yhteenveto ja kehitysideat
Ratkaisussa meni aikaa kahteen asiaan:
- Päättää mihin työkaluun tehtävät tuodaan
- Keksiä mihin kunkin reseptin raaka-aineet tallennetaan ja miten ne työnkulussa saa purettua yksittäisiksi tehtäviksi ostoslistaan
Jälkimmäistä vaikeutti se ettei Flow:ssa ole edelleenkään mahdollista tehdä sisäkkäisiä silmukoita. Tämän vuoksi työnkulku oli jaettava kahteen osaan.
Ratkaisua voisi täydentää SharePoint-listalla, joka sisältäisi tiedon raaka-aineiden sijainnista käyttämissämme kaupoissa. Kauppalistan luonnin käynnistyksen yhteydessä kertoisin mihin kauppaan olen menossa. Todoist-tehtävien järjestys-kenttään poimittaisiin tuotteen kauppakohtainen järjestysnumero.
Todoist-sovelluksessa kauppalistan voisi tämän jälkeen järjestää järjestysnumeron perusteella. Tuotteet olisivat kauppalistassa suurin piirtein samassa järjestyksessä kuin ne ovat kaupassakin. Helpottaa kummasti asiointia silloin kun kauppalista on pitkä.
Tämä kirjoitus on osa laajempaa sarjaa jossa käyn läpi Office 365:n työkaluja. Mistä niissä on kyse ja miten niitä voisi hyödyntää.
Moi Timo! Aloitin rakentamaan samanlaista ratkaisua antamasi ohjeen mukaan 🙂 Jäin kuitenkin jumiin tuohon raaka-ainelistan pilkkomiseen. Voisitko kertoa tarkemmin käyttämästäsi split-lausekkeesta?
TykkääTykkää
Moi,
Jos raaka-aine lista on esimerkiksi SharePoint listan Title-sarakkeessa (raaka-aineet pilkulla eroteltuina), niin Split-lause on:
split(triggerBody()?[’Title’], ’,’)
Luo työnkulkuun uusi muuttuja (action: initialize variable). Nimeä se ja vaihda tyypiksi Array.
Kun klikkaat sen arvoa, tulee näkyviin ponnahdusvalikko mistä voi valita dynaamista sisältöä. Vaihda välilehdeksi ”Expression”, jossa voit käyttää erilaisia lauseita. Sinne kopioit tuon Split-lauseen ja vaihdat kentän nimen oikeaksi.
Onnistuiko?
TykkääTykkää
No nyt toimii! Kiitos paljon avusta ja teksteistäsi.
TykkääLiked by 1 henkilö
Tämä olisi loistava jos saisin toimimaan..
Kauppalista_tmp muodostuu oikein, Otsikko-sarakkeeseen tulee raakaaineet pilkulla erotettuina, mutta todoist luo vain tehtäviä nimellä ”Kauppalista”, eli ei raakaaineina.. Mikähän meni pieleen?
Alusta muuttuja osiossa: Nimi: raakaaineet, Tyyppi: Matriisi ja Arvo: split(triggerBody()?[’Title’],’,’)
Tämän jälkeen on toiminto ”Käytä kaikkiin, ja Valitse tulosta edellisestä vaiheista: ”raakaaineet”.
Sitten luodaan tehtävä todoist (v2), projekti tunnus: Ostokset ja Otsikko: ei löydy tuollaista dynaamista ”Kohde”, niin kuin sinulla, tähän kirjoitin väliaikaisesti Kauppalista, eli tästä lienee tuo tehtävien nimeäminen..?
TykkääTykkää
Täytyy myöntää että tämä on niin vanha juttu että koko ratkaisu on minulta hävinnyt jossain kohtaa ympäristöjä siivoillessa. 2v aikana Flow:n kontrollit ovat kehittyneet (ja muuttuneet) ja tuo todoist:in connectorikin on saattanut muuttua. Eli en ihmettele yhtään ikävää tilannettasi.
Pitäisi katsoa läpi joskus, miten tämä tehtäisiin tänään. Valitettavasti en voi luvata milloin tähän palaisin.
TykkääTykkää