peruuta
Näytä tulokset kohteelle 
Hae sen sijaan kohdetta 
Tarkoititko: 
Jhns Hnls
CONTRIBUTOR **

Tietokantakentän LSTIL.TEKSTIT ehdollistaminen Crystal Reports ohjelmassa

tekijä Jhns Hnls (Päivitetty ‎08-10-2020 15:08 tekijä Jhns Hnls )

Terve,

 

myyntitarjouksen raporttitiedostossa on tietokantakenttä LSTIL.TEKSTI, joka tulostaa raportille tarjouksen lisätekstit joita ovat "Alkuteksti", "Lopputeksti" sekä tuote-/rivikohtainen teksti. Minun ongelmana on, että nämä tekstit tulostuvat raportille samaan paikkaan leveys-suunnassa. Tahtoisin alkutekstien ja lopputekstien olevan raportin vasemmassa reunassa, mutta rivi-/tuotekohtaisen tekstin olevan tuotekoodin nimi -kentän alapuolella. Tämä tuo selvyyttä tarjouksen lukuun.

 

Olen nyt ehdollistanut tuotekoodin tekstin siirtymään x-akselilla, jos teksti alkaa sanalla "desc". Haluaisin kuitenkin ehdollistaa sen muulla tavalla, sillä en halua että tuote-/rivikohtaiseen tekstiin kuuluu aina kirjoittaa "desc".

Koodin pätkä LSTIL.TEKSTI -kentän 'Size and position':n kohdan X lisäehdoissa:

 

 

if InStr (currentfieldvalue, "desc", 1) = 1 then 2490 else DefaultAttribute

 

 

Siis, onko alku- ja lopputekstit jotenkin vielä erikseen eroteltu tietokannassa, jonka avulla voisin ehdollistaa tuon tekstin paikan?

 

Alla kuva nykytilanteesta, tahto olisi saada sama mutta ilman että tarvitsee lisätä "desc" -teksti.

LSTIL-TEKSTI.png

Ilman ehtokoodia, myös tuotekohtainen teksti olisi samalla x-akselilla kuin lopputeksti.

 

Samalla voinen kysyä, onko olemassa ohjetta, josta näkisi mikä L7:n arvo on mikäkin tietokantakenttä? Eli vaikka Tuoterekisterin tuotekoodi on kannassa HINSTO.TUOTEKOODI. Tai mikä on Tuoterekisterin 'Mitat' ikkunassa näkyvän Fyysiset mitat/Nettopaino:n kenttä, jolla sen saa näkymään raportissa?

2 VASTAUSTA2
Accepted solution
Henri Karhama
VISMA

tekijä Henri Karhama

Hei!

 

Tasauksen haastetta voisi lähestyä hieman yksinkertaisemmin, kuin ehdollisella muotoilulla. Itse perustaisin uuden formulan nimeltä "selite_Alkuteksti", johon asettaisin:

if {LSTIL.GROUP}=1 then {LSTIL.TEKSTI} else ""

 

Tällä kaavalla kyseiseen kenttään tulostuu aina vain alkuteksti ja sen voi pitää samassa Details osiossa, kuin alkuperäinenkin LSTIL.TEKSTI kenttä oli. Näin voit muotoilla ja asetella sen mihin haluat x-akselilla ilman erillistä ehdollista muotoilua. Kentät voivat mennä päällekkäin, mutta se ei haittaa.

Lopputekstille LSTIL.GROUP arvo on aina 900 ja rivin tekstille jotain muuta kuin 1 tai 900.

2020-10-08 16_23_57-SAP Crystal Reports - [Tarjous _ välisummat].png

 

Käyttöliittymän kentässä voi olla useasta tietokannasta dataa, joten ihan esimerkkisi tavalla ei päästä kiinni tietyn kentän arvoihin. On kuitenkin mahdollista selata sovelluksen sen hetkisiä avoimia tietokantayhteyksiä ja löytää sama tieto. Tämä vaatii kirjautumisen Admin tunnuksella ja halutun sovelluksen avaamisen esimerkiksi mainitsemaltasi Tuoterekisteri | Mitat ruudulta.

Kun haluttu ruutu on auki, voidaan palata päävalikkoon sulkematta tuoterekisteriä ja valita sovelluksen käynnistyskuvakkeen oikeasta alalaidasta Info-painike ja tämän jälkeen "DB-dump". Avautuva ikkuna näyttää vasemmassa reunassa avoimet tietokantataulut ja oikealla kohdistetun  tietueen. Lisäksi vasemman reunan listasta näkee mahdollisesti käytetyt relaatiot taulusta hakemiseen.

2020-10-08 16_34_57-Visma L7 - Oy Testi Ab.png

 

 

 

Jhns Hnls
CONTRIBUTOR **

tekijä Jhns Hnls

Terve!

 

Tuohan onkin paljon parempi ratkaisu, kunpa olisin tuon ryhmänumeron keksinyt jostain repiä!

 

Kiitos avusta!