BG Development


  Reply to this topicStart new topicStart Poll

> API ТJavaScript - Acrobat pro, Молба за помощ
Гъска
Публикувано на: 17-07-2023, 17:56
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 1
Регистриран на: 17.07.23



Здравейте,
Имам нужда от малко помощ за един сккрип който ме измъчва от няколко часа.
Уточнявам, че не съм програмист, а счетоводител, който се опитва да направи бланка в PDF, която да може да се попълва. Идеята е следната: Когато колегите ми носят множество отчетни документи за получен служебен аванс в лв., но самите документи са в различни валути, то те следва да се опишат в една форма, която представлява № на документа, дата на същия, кратко описание, следва графа "сума в лв" , която се формира от още две графи - едната е TextField, който е форматиран така, че да приема само числови стойности, другата е Drodown меню в която са изброени повечето валути които се ползват или евентуално ще се ползват.
графата "сума в лв" е fill, настроено така, че да приема числови стойности, закръглени до втория знак след десетичната точка и да изписва накрая лв. (след стойността, без разстояние)
За пример: В полето fill_7 в "Calculate"> 'Custom calculation script' съм въвела следния код:
var currencyValue = this.getField("Dropdown1.0").value;
var textValue = this.getField("Text1.0").value;

if (textValue && currencyValue === "BGN") {
var calculatedValue = parseFloat(textValue) * 1;
this.getField("fill_7").value = calculatedValue.toFixed(2);
}
var currencyValue = this.getField("Dropdown1.0").value;
var textValue = this.getField("Text1.0").value;

if (textValue && currencyValue === "EUR") {
var calculatedValue = parseFloat(textValue) * 1.95583;
this.getField("fill_7").value = calculatedValue.toFixed(2);
}
var currencyValue = this.getField("Dropdown1.0").value;
var textValue = this.getField("Text1.0").value;

if (textValue && currencyValue !== "EUR" && currencyValue !== "BGN") {
var promptTitle = "Въведете стойност за " + currencyValue;
var promptMessage = "Моля, въведете стойност за " + currencyValue + ":";
var userValue = app.response(promptMessage, promptTitle);

if (userValue === null) {
event.value = "";
} else {
var enteredValue = parseFloat(userValue);
if (!isNaN(enteredValue)) {
var calculatedValue = parseFloat(textValue) * enteredValue;
event.value = calculatedValue.toFixed(2);
} else {
app.alert("Невалидна стойност за " + currencyValue + ". Моля, въведете валидно число.");
event.value = "";
}
}
}
Идеята е когато някой въведе в Text1.0 някаква стойност и избере съответната валута (BGN, EUR, USD, RSD и т.н, във fill_7 автоматично да се пресметне стойносттта в лв. като, когато е избрано EUR или BGN автоматично да смята съответно за BGN по стойност 1, а за EUR по фиксинга 1.95583. За всички останали валути трябва да излиза арлет в който потребителя на бланката да нанесе курса за деня, след като провери на сайта на БНБ съответния курс. Скрипта работи, но срещнах следния проблем, при копирането му в следващия fill ( в случая fill_12, който пресмята стойностите съответно от Drodown1.1 и Text1.1 се получава следната какавофия... исзкача арлета от предходния fill_7 и иска препотвърждаване на стойностите ако вече в него е нанесено примерно някаква стойност в USD или нещо. Изгледах си очите в настройките да не би некъде нещо да е отишло за валидация, гледах настройките на самия джава скрипт... и не виждам причина това да се случва - редовете във формата са 12 и ще се побъркам ако при нанасянето непрекъснато ми изскачат тия ужасни арлети... те не са ужасни, по-скоро аз съм проста, но това е положението. Надявам се да не ми се смеете много. И да ме посъветвате защо се случва това.

Това мнение е било редактирано от Гъска на 17-07-2023, 18:03
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0