Kaavat ja skriptit kirjoitetaan Python-skriptikielellä.
Varatut sanat
Syntaksi | Selitys | Esimerkki |
---|---|---|
customer | Palauttaa tilauksen asiakkaan. | customer.HomePage |
product | Palauttaa tuotteen, johon komponentti kuuluu. | product.Z |
settings[<Asetuksen avain>] | Asetustaulukko. | settings["Common.Database.Version"] |
this | Viittaa itseensä. | this.X |
root | Palauttaa rakenteen juuri komponentin. | root.Y |
vars[<Muuttujan koodi>] | Tilausmuuttujataulukko. | vars["SOKKELIN_KORKEUS"].Value |
Hakufunktiot
Syntaksi | Selitys | Esimerkki |
---|---|---|
GetAllByComponentType(componentTypeName) | Palauttaa kaikki alikomponentit, joiden komponenttityypin nimi on componentTypeName. | root.GetAllByComponentType("Kalustelevy") |
GetAllByUsage(usageCode) | Palauttaa kaikki alikomponentit, joiden käyttönumero vastaa koodia usageCode. | root.GetAllByUsage("VASEN_SIVU") |
GetAncestors() | Palauttaa nimikkeen vanhemmat. | this.GetAncestors() |
GetComponentTypeAncestors() | Palauttaa nimikkeen komponenttityypin vanhemmat. | this.GetComponentTypeAncestors() |
GetDeepestByCode(code) | Etsii syvimmällä rakenteessa olevan alikomponentin, jonka koodi on code. | root.GetDeepestByCode("RUNKO") |
GetDeepestByComponentType(componentTypeName) | Etsii syvimmällä rakenteessa olevan alikomponentin, jonka komponenttityypin nimi on componentTypeName. | root.GetDeepestByComponentType("Kalustelevy") |
GetDeepestByUsage(usageCode) | Etsii syvimmällä rakenteessa olevan alikomponentin, jonka käyttönumero vastaa koodia usageCode. | root.GetDeepestByUsage("VASEN_SIVU") |
GetDeepestByTag(tag) | Etsii syvimmällä rakenteessa olevan alikomponentin, jolla on tagi tag. | root.GetDeepestByTag("Porauskoodi") |
GetFirstByCode(code) | Etsii ensimmäisen alikomponentin, jonka koodi on code. | root.GetFirstByCode("RUNKO") |
GetFirstByComponentType(componentTypeName) | Etsii ensimmäisen alikomponentin, jonka komponenttityypin nimi on componentTypeName. | root.GetFirstByComponentType("Kalustelevy") |
GetFirstById(nodeId) | Etsii ensimmäisen alikomponentin, jonka ID on nodeId. | root.GetFirstById(23) |
GetFirstByPlaceholderCode(code) | Etsii ensimmäisen alikomponentin, jonka paikkavaruksen koodi on code. | root.GetFirstByPlaceholderCode("RUNKOP") |
GetFirstByUsage(usageCode) | Etsii ensimmäisen alikomponentin, jonka käyttönumero vastaa koodia usageCode. | root.GetFirstByUsage("VASEN_SIVU") |
GetFirstByTag(tag) | Etsii ensimmäisen alikomponentin, jolla on tagi tag. | root.GetFirstByTag("Porauskoodi") |
GetProduct() | Palauttaa tuotteen, johon ko. nimike kuuluu. | this.GetProduct() |
GetRoot() | Palauttaa rakenteen juuren. | this.GetRoot() |
GetSubItems() | Palauttaa kaikki alikomponentit. | root.GetSubItems() |
GetThisAndSubItems() | Palauttaa itsensä ja kaikki alikomponentit. | root.GetThisAndSubItems()
|
TryGetWorkflow() | Palauttaa reitin, johon komponentti kuuluu, jos mihinkään (None). Tarkastelee myös vanhempiensa reittiä, jos ei ole itselleen asetettuna. | this.TryGetWorkflow() |
GetColor(colorCode) | Palauttaa annetun värikoodin colorCode mukaisen värin. Funktiota voidaan kutsua suoraan ilman instanssia. | vari = GetColor("VALKOINEN") |
GetQty() | Palauttaa komponentin kokonaismäärän ottaen huomioon vanhempien lukumäärät. Rivin lukumäärä ei vaikuta. | this.GetQty() |
GetTotalQty(QtyScope) | Palauttaa komponentin kokonaismäärän. Parametri kertoo mihin tasoon tarkasteltuna määrä lasketaan. Mahdolliset arvot QtyScope:lle ovat: ParentComponent, ProductionComponent, Product, Row, Room ja Transaction. HUOM! Vaatii skriptin alkuun rivin: from FuturaPlan.Script import * |
|
TryGetStockItemSuffix() | Palauttaa komponentin nimikelistasta sopivan nimikkeen tarkenteen. Nimikettä yritetään hakea kutsun hetkellä olevilla arvoilla. | tarkenne = this.TryGetStockItemSuffix() |
TryGetPredictedCostPrice() | Palauttaa nykyisen kustannushinnan. HUOM! Mittamuutokset ja kaikki muut mitä myöhemmät skriptit voivat tehdä saattavat muuttaa lopullista kustanushintaa. | hinta = this.TryGetPredictedCostPrice() |
GetOrder() | Palauttaa tilauksen. | tilaus = this.GetOrder() |
GetSpecialColorToneQty() (2020.4+) | Voidaan kutsua vain tilaukselle, kts. GetOrder(). Palauttaa manuaalisesti lisättyjen värien määrän tilauksessa. Näitä värejä ei siis ole listattuna tuotehallinnassa. | maara = this.GetOrder().GetSpecialColorToneQty() |
GetStandardColorToneQty() (2020.4+) | Voidaan kutsua vain tilaukselle, kts. GetOrder(). Palauttaa standardi värien määrän tilauksessa. Sisältää kaikki FuturaPlanissa määritellyt värit poislukien GetSpecialColorToneQty() kohdassa kuvatut värit. | maara = this.GetOrder().GetStandardColorToneQty() |
GetQty(componentTypeCode) (2020.4+) | Voidaan kutsua vain tilaukselle, kts. GetOrder(). Palauttaa annetun komponenttityyppi koodin mukaisten komponenttien määrän. Ei sisällä alikomponenttityyppejä. | maara = this.GetOrder().GetQty("OVI") |
Apufunktiot
Syntaksi | Selitys | Esimerkki |
---|---|---|
AddChild(code) | Lisää komponentin ilman mittoja. Lisättävä komponentti haetaan code-parametrin perusteella. | this.AddChild("VS") |
AddChild(code, x, y, z, amount) | Lisää komponentin, jonka koodi on code, mitat (x, y, z) ja lukumäärä amount. | this.AddChild("VS", 1000, 800, 600, 1) |
AddChild(code, x, y, z, amount, usageCode) | Lisää komponentin, jonka koodi on code, mitat (x, y, z), lukumäärä amount ja käyttönumero usageCode. | this.AddChild("VS", 1000, 800, 600, 1, "VASEN_SIVU") |
AddChild(code, workAmount) | Lisää työajan, jonka koodi on code ja työmäärä yksiköinä workAmount. | this.AddChild("PORAUS", 2) |
AddError(reason, isUnrecoverable) | Lisää yleisen virheen komponentille. Parametreina annetaan virheen syy (reason) ja tieto, onko virhe kuitattavissa (isUnrecoverable, oletusarvo False). | this.AddError("Virhe, jonka voi kuitata.", False) |
AddError(reason, message, isUnrecoverable) | Lisää virheen, varoituksen tai informaation komponentille. Parametreina annetaan virheen syy numerona (reason), viesti (message) ja tieto, onko virhe kuitattavissa (isUnrecoverable, oletusarvo False). Virheet välillä 1-100, varoitukset välillä 101-200 ja informaatiot välillä 201-300. | this.AddError(102, "Tämä on WarningSizeNotMatch-varoitus, jota ei voi kuitata.", True) |
Change(newCode, keepTags, keepDiscount, keepColor) | Vaihtaa ko. komponentin komponenttiin, jonka koodi on newCode. Funktio palauttaa uuden objektin, koska this -muuttuja on käyttökelvoton vaihdon jälkeen. Parametrina annetaan koodin lisäksi tieto (keepTags, oletusarvo True) halutaanko alkuperäisen komponentin tagit säilyttää. Vaihtoehtoisena parametrina voi asettaa keepDiscount (oletusarvo False) joka määrittää pidetäänkö edelliselle komponentille määritetty alennus. Funktio säilyttää oletuksena edellisen komponentin värin, mutta tähän voi vaikuttaa lisäämällä keepColor=False skriptiin. | uusi = this.Change("A10") |
IsStockItemAvailable() | Palauttaa true , jos komponentin nimikelistasta löytyy nimike kutsun hetkellä olevilla arvoilla. |
|
Remove() | Poistaa ko. komponentin rakenteesta. | this.Remove() |
SetColor(colorCode) | Asettaa komponentin värin. Parametrina colorCode annetaan halutun värin koodi. | this.SetColor("VALKOINEN") |
SetStockItem(suffix) | Asettaa komponentin nimikkeen. Nimike haetaan liitteen suffix perusteella. | this.SetStockItem("MAALATTU")
|
SetWorkFlow(int index) | Asettaa komponentin reitin indeksin perusteella. | this.SetWorkFlow(10) |
Ominaisuudet
Kaikille yhteiset
Syntaksi | Selitys | Esimerkki |
---|---|---|
Code | Komponentin koodi. | |
Comment | Komponentin kommentti merkkijonona. | |
Desciption | Komponentin kuvaus. | |
DiscountMultiplier | Alennus kerroin. | |
Error | Komponentin virheobjekti (vain luku). | |
FactoryMultiplier | Komponentin tehtaan hinnan kerroin. | |
FusionIndexPath | Komponentin indeksipolku Fusionissa (vain luku). | |
Indeksi | Komponentin indeksi (vain luku). | |
IsFusionItem | Palauttaa tosi, jos komponentti on luotu Fusion-rakenteen perusteella (vain luku). | |
IsRemoved | Palauttaa tosi, jos komponentti on poistettu (vain luku). | |
IsRoot | Palauttaa tosi, jos komponentti on juuri (vain luku). | |
IsSelectedAccessory | Palauttaa tosi, jos komponentti on valittu lisävaruste. | |
Name | Komponentin nimi. | |
NodeId | Komponentin ID (vain luku). | |
Level | Komponentin taso (vain luku, juurelle taso on 0). | |
Parent | Komponentin vanhempi (vain luku). | |
ProductionInfo | Komponentin tuotanto info. | |
ProfitMultiplier | Komponentin kate kerroin | |
Tags | Komponentin tagi-lista (vain luku). |
Artikkelille, osalle ja tuotteelle
Syntaksi | Selitys | Esimerkki |
---|---|---|
Qty | Lukumäärä | |
Color.Code | Värin koodi | |
Color.Name | Värin nimi | |
Color.GroupCode (2021.6: Color.Group.Code) | Väriryhmän koodi, johon väri kuuluu (vain luku). | Lisäkentät tyylillä Color.Group.CF.Kiiltoaste |
Color.GroupName (2021.6: Color.Group.Name) | Väriryhmän nimi, johon väri kuuluu (vain luku). | |
Color.ColorBase | Värin pohjaväri. | |
Color.ColorMapName | Värikartan nimi. | |
Color.ColorMapCode | Värikartan koodi. | |
Color.IsSpecialColor | Onko erikoisväri. | |
Color.ColorDirection | Värin suunta. Value kertoo suunnan numerona (0 = ei mitään, 1 = pysty, 2 = vaaka) ja ToString() antaa suunnan käännettynä tekstinä. | |
Color.SplittedCodes | Jos värejä on useita, palauttaa koodit listana (vain luku). Esim. "X105/X106/X107" --> { "X105", "X106", "X107" }. Komponentilla voi olla useita värejä, jos se on siirretty Fusionista. | |
Color.SplittedNames | Jos värejä on useita, palauttaa nimet listana (vain luku). Esim. "Punainen/Harmaa/Ruskea" --> { "Punainen", "Harmaa", "Ruskea" }. Komponentilla voi olla useita värejä, jos se on siirretty Fusionista. | |
ComponentTypeName | Komponenttityypin nimi. | |
CustomFields[customFieldCode] | Palauttaa lisäkentän koodin perusteella. |
|
CF.customFieldCode | Palauttaa lisäkentän koodin perusteella. | this.CF.PAKSUUS.Value |
FusionPrice | Fusionista mahdollisesti komponentille tullut hinta. | |
HandednessCode | Kätisyys numerona (0 = ei mitään, 1 = vasen, 2 = oikea, 4 = yläsaranoitu, 8 = alasaranoitu, 16 = tuotteelta, 32 = vanhemmalta, 64 = ei porausta, 128 = vasen ja oikea, 256 = etupaneeli, 512 = leikkuulauta) | if this.HandednessCode == 2: |
IsDefaultSized | Palauttaa tosi, jos komponentti on oletusmittainen (vain luku). | |
IsListedPriceAdditional | Palauttaa tosi, jos komponentin hinta lisätään tuotteen hintaan. | |
IsProductionComponent | Onko nimike tuotantokomponentti. | |
IsSpecialSized | Onko nimike erikoismittainen (vain kirjoitus). | |
IsSpecialComponent | Onko nimike erikoinen (vain kirjoitus). | |
IsStockItemSelectionSkipped | Jos Tuotantokomponentista tulee erikoisia, jos arvo on | this.IsStockItemSelectionSkipped = True |
ListedPrice | Hinnastohinta (vain kirjoitus). | |
PlaceholderMessage | Valinnaisen paikkavarauksen viesti (vain luku). | |
PriceUnitCode | Hinnoitteluyksikkö (vain luku, mahdollisia arvoja ovat m , m2 , m3 , l , pcs , pair ja box ) | |
PricingGroupName | Komponenttityyppi pohjaisen hinnoitteluryhmän nimi. | |
OC.ComponentsPerLabel | Kertoo kuinka monta seurattavaa komponenttia mahtuu yhteen tarraan. Jos arvo on esim. 3, tulostuu kolmesta samanlaisesta komponentista vain yksi tarra, jonka lukumäärä kentässä on arvo 3. | |
OC.Id | Seurattavan komponentin ID (vain luku). | |
OC.IsFrame | Palauttaa true , jos seurattava komponentti on runko, eli tarra tulostetaan "runkolinjalta". | |
OC.NumberOfLabels | Tulostettavien tarrojen lukumäärä. | |
OC.ParcelType | Kollin tyyppi (merkitsevä vain yhdistelmätarroille). | this.OC.ParcelType = "Ovia" |
OC.TypeCode | Seurattavan komponentin tyyppi (0 = ei tarraa, 1 = yhdistelmätarra (kolli), 2 = komponenttitarra, 3 = helatarra). | |
OC.WorkstationIndex | Kertoo mistä tulostuspisteeltä seurattava komponentti eli tarra on määrä tulostaa (arvot määritellään asetuksissa). | |
StockUnitCode | Varasto- ja ostotilausyksikkö (vain luku, mahdollisia arvoja ovat m , m2 , m3 , l , pcs , pair ja box ) | |
UsageCode | Käyttönumeron koodi. | |
X | Leveys | |
Y | Korkeus | |
Z | Syvyys | |
Volume | Seurattavan komponentin tilavuus (m³). | this.Volume = (this.X/1000) * (this.Y/1000) * (this.Z/1000) |
Weight | Seurattavan komponentin paino (kg). | this.Weight = this.Volume * 50 |
RealComponentInstructions | Voidaan hallinnoida komponentilla olevia ohjeita. Lista tyyppinen (Add, Remove, jne. käytettävissä). RealComponentInstructions Add ja Remove vaativat parametriksi listan sisältämän tyypin. | RealComponentInstructions.Remove(ohje) |
RealComponentInstructions.Workstation | Työohjeen työpiste. | |
RealComponentInstructions.WorkTime | Työohjeen työvaihe. | |
RealComponentInstructions.DbFile | Sisältää tiedostoviittauksen työohjeeseen. |
Osalle ja tuotteelle
Syntaksi | Selitys | Esimerkki |
---|---|---|
ActiveChildren | Palauttaa vain aktiiviset (IsRemoved = false ) lapset (vain luku). | |
Children | Palauttaa myös poistetut lapset (vain luku). | |
IsAssembled | Palauttaa tosi, jos osa tai tuote kasataan tehtaalla (vain luku). |
Artikkelille
Syntaksi | Selitys | Esimerkki |
---|---|---|
CalcUnitCode | Laskentayksikkö (vain luku, mahdollisia arvoja ovat m , m2 , m3 , l , pcs , pair ja box ) | |
CostPrice | Kustannushinta (vain kirjoitus) | |
MaterialFixedCostFactor | Kiinteän kulun kerroin (vain luku) | |
TargetProfitPercentage | Tavoitekateprosentti (vain luku) | |
UnitRatio | Muuntokerroin | |
WastePercentage | Hukkaprosentti |
Osalle
Syntaksi | Selitys | Esimerkki |
---|---|---|
IsReusable | Palauttaa tosi, jos osa on uudelleenkäytettävä |
Tuotteelle
Syntaksi | Selitys | Esimerkki |
---|---|---|
InstallationUnits | Asennusyksiköt |
Tilaukselle
tilauksen tiedot saadaan tilaus = this.GetOrder()
Syntaksi | Selitys | Esimerkki |
---|---|---|
Title | Tilauksen otsikko | tilaus = this.GetOrder() |
IsReclamation | Onko reklamaatio | |
CF | Tilauksen lisäkentät | samalla lailla kuin komponenteille |
Työajalle
Syntaksi | Selitys | Esimerkki |
---|---|---|
CostPrice | Kustannushinta (vain kirjoitus) | |
Duration | Työvaiheen kesto (palauttaa TimeSpan objektin, vain luku) | |
DurationMsec | Työvaiheen kesto millisekunteina (ms, vain luku) | |
GroupName | Työryhmän nimi (vain luku) | |
HourPrice | Tuntihinta | |
MeasureUnitCode | Yksikkö (vain luku, mahdollisia arvoja ovat m , m2 , m3 , l , pcs , pair ja box ) | |
SupportTimeFactor | Apuaikakerroin | |
WorkAmount | Työn määrä yksikköinä (vain kirjoitus) | |
WorkFixedCostFactor | Kiinteän kulun kerroin (vain luku) |
Lisähinnalle
Syntaksi | Selitys | Esimerkki |
---|---|---|
this | Lisähinta | |
Transaction | Tilaus, johon lisähinta kuuluu | |
Transaction.Customer | Tilauksen asiakas | |
Transaction.DeliveryMethod | Tilauksen toimitustapa |
|
Transaction.DeliveryAddress.IsConsumerAddress | Onko osoite kuluttajaosoite | |
Transaction.IsFrameAssembled | Onko tilauksella kasattuja runkoja | |
CustomerPrice | Asiakkaan hinta | |
CustomerAgreedPrice | Sovittu hinta | |
AccumulatedDeliveryCosts | Aiemmat päiväkohtaiset toimituskulut summattuna jos toiminto on asetettu päälle. Skripti suoritetaan jokaiselle tilaukselle erikseen tilausnumeron mukaan nousevassa järjestyksessä. Muuttujan arvona on aiempien tilausten toimituskulut yhteensä, ensimmäisella tilauksella luonnollisesti arvo on 0. Toisella tilauksella on ensimmäisen tilauksen kulut. Kolmannella tilauksella 1. ja 2. tilauksen kulut yhteensä jne. Muuttuja on "vain luku"-tyyppinen. (asetus "OrderManager.Scripting.BundleRelatedTransactions" pitää olla päällä, jotta toimituskuluja summataan ja päivitetään useammalle tilaukselle) |
|
IndexOfSameDayOrders | Monesko käsiteltävistä saman päivän tilausksista tämä tilaus on. Toimii jos asetus OrderManager.Scripting.BundleRelatedTransactions on ruksittuna. | |
TotalCountOfSameDayOrders | Montako saman päivän tilausta on käsiteltävissä yhteensä. Toimii jos asetus OrderManager.Scripting.BundleRelatedTransactions on ruksittuna. | |
FactoryPrice | Tilauksen tehdashinta | hinta = FactoryPrice * 0.1 |