HELP! Klein scripje voor PDF formulier

  • Onderwerp starter Onderwerp starter mumm
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

mumm

Gebruiker
Lid geworden
11 mrt 2010
Berichten
7
Wie kan mij helpen met een klein scripje, ben zelf niet zo thuis in Java.

Ik heb een PDF formulier gemaakt met een totaalprijsveld.
Dit totaalprijsveld is aantal x prijs.
Alleen prijs is afhankelijk van aantal, <500 is andere prijs.

Ik kan in het veld bij eigenschappen een aangepast berekend Java-script invullen.
Script zou moeten kijken naar Aantal en dan juiste prijs erbij.
iets van: if aantal <500 then Prijs = x else Prijs = Y
Maar dan in script.

Wie o wie kan mij helpen :thumb:

Bvd Maarten
 
Mocht je dit in JavaScript willen kan dit op de volgende manier

[JS]var aantal;
var Prijs;
var y, x;
...
/* Bepaal aantal, x en y */
...
if (aantal < 500) {
Prijs = x;
} else {
Prijs = y;
}[/JS]

groeten vreugde
 
Beste Vreugde,

Dank je voor de reactie,
dit is ongeveer wel wat ik dacht zit alleen met het volgende:
In het formulier staan al als VELD prijs1 (<500) en prijs2 zijn vaste waarden
Daarnaast is er een VELD aantal (waarin aantal gegeven wordt is dus variabel).
In VELD totaalprijs komt het script die dus kijkt naar invulling van VELD aantal.

In je script staat de regel: /* Bepaal aantal, x en y */
hierop geeft hij syntax error 4:
waarbij ik denk dat je bedoeld om hier de gegevens dan in te vullen of uit de velden te halen. Zou hij de gegevens dan uit de velden moeten halen met een soort get functie?

Even voor de goede orde de juiste VELD namen:
aantal = A1
prijs x = Pr1
prijs y = Pr1a
totaalprijs = TP1

Ik hoop dat je me verder kunt en wilt helpen :thumb:
 
In je script staat de regel: /* Bepaal aantal, x en y */
hierop geeft hij syntax error 4:
waarbij ik denk dat je bedoeld om hier de gegevens dan in te vullen of uit de velden te halen. Zou hij de gegevens dan uit de velden moeten halen met een soort get functie?

Normaal is alles wat tussen /* */ staat comment, hiermee bedoelde ik inderdaad dat je daar je eigen code in moet zetten.

Om terug te komen op je vraag:
Je wilt dus bij houden hoe hoog aantal is. Aantal kan hoger of lager worden in de loop der tijd en dit moet gebeuren met javascript. Nu moet er ook een check in zitten die controleert of het aantal hoger of lager is dan 500 en hierop de prijs aanpassen.

Hierbij heb je 2 parameters en 2 variabele
aantal = A1 = variabele
prijs 1 = Pr1 = parameter
prijs 2 = Pr1a = parameter
totaalprijs = TP1 = variabele

Zelf kan je dus een JavaScript aan toe kennen die de totaalprijs uitrekent? Of is het een Java programma wat je nodig hebt (is tamelijk een groot verschil)?

groeten vreugde
 
Beste Vreugde,

Even voor de duidelijkheid:
Ik heb je script gepakt en aangepast met de veldnamen zie onder.

var a1;
var TP1;
var Pr1, Pr1a;

if (a1 < 500) {
TP1 = (Pr1 * a1);
} else {
TP1 = (Pr1a * a1);
}

Dit komt in een veld in een PDF-formulier waar je dus een waarde kunt berekenen voor dat veld dmv een "aangepast berekend script" een script die je in kunt vullen met een javascript editor. Ik denk dat als hij het veld moet berekenen dan het script draait.
Ik mis alleen de regels die de gegevens uit de andere velden ophaald, regel nr 5.
TP1 is ook de naam van het veld waar script in komt misschien kan dit niet.

Het is dus zo dat het formulier bestelregels heeft met vaste artikelregels met vaste bijbehorende prijzen (Pr1 voor <500 en Pr1a 500>). Dus alleen het veld aantal wordt ingevuld waarbij dan veld totaalprijs (TP1) berekend wordt met aantal en juiste prijs.

Ik hoop dat je hier genoeg informatie hebt om het missende deel aan te vullen.

BVD Maarten :thumb:
 
Beste Vreugde,

ben er al uit na wat spitten in de reference guide van Adobe.

Script dat werkt ziet er als volgt uit:

var A1 = this.getField("A1");
var Pr1 = this.getField("Pr1");
var Pr1a = this.getField("Pr1a");
var P;

if (A1.value < 500) {
P = Pr1;
} else {
P = Pr1a;
}

event.value = (P.value * A1.value)/100;

Dit werkt.

In ieder geval bedankt voor je moeite en tijd:thumb:
 
Ow super

zat al wat te zoeken naar getfield of iets in die vorm maar dan hoeft da nie meer


bedankt voor het melde en suc6 er nog mee

groete vreugde
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan