2014-10-28 4 views
1

У меня есть сложный ценовой вид, который я создал в Excel использовать для всех моего квотирования, однако цитирования становится все больше и больше отнимает много времени, и я хотел создать PDF версии, что люди могут подправить варианты в соответствии с их бюджетом.комплекс Adobe Acrobat расчет

Я попытался выяснить, Javascript, но форматирование чужое, и я не могу найти никого, кто создал подобный расчет, может ли кто-нибудь помочь?

Будет множество «разделов», где итоговые значения каждого раздела будут вычисляться в общую сумму, но каждый «раздел» в основном то же самое.
Но фокус в том, что я хотел бы, чтобы каждый «раздел» имел базовую стоимость, которая отображается только после ввода действительного количества (например, 25+).
Каждый переключатель «выбор» должен также иметь уникальное значение, например. SizeChoice1 = 1, SizeChoice2 = 2, SizeChoice3 = 3.
Так краткое содержание (Excel стиль) является:

если QTY> 25 (250+ (SizeChoice (1,2or3) * КОЛ) + (ColourChoice (1,2or3) * КОЛ) + StockChoice (1,2 или 3) * QTY), если QTY < 25 = 0

А также желательно, чтобы сумма была округлена, если это возможно.

+0

На мой взгляд, ваш вопрос слишком широк, может быть, вы можете разделить его на несколько более мелких вопросов? – yms

+0

Самая важная часть: – ncman

+0

, если QTY> 25 (250+ (SizeChoice (1,2or3) * QTY) + (ColourChoice (1,2or3) * QTY) + StockChoice (1,2or3) * QTY), если QTY <25 = 0 Я не понимаю, как сделать это меньше, это все часть того же уравнения. – ncman

ответ

1

Являются ли варианты взаимоисключающими? Возможно нет. Но если это так, вы должны использовать флажки вместо переключателей, давать те, которые принадлежат одному имени, но другое возвращаемое значение. И они ведут себя как переключатели.

Это очень хорошая идея не просто перевести формулу Excel в (Acrobat) JavaScript, потому что концепции формул Excel и Acrobat JavaScript слишком далеки, и это только вопрос, когда вы ужасно падаете на ваш нос (я знаю, о чем говорю, я слишком много горел, когда был в хорошем настроении, и согласился превратить электронную таблицу клиента в PDF-форму.

Вместо этого вы сделаете Имейте в виду, что (Acrobat) JavaScript позволяет создавать циклы (идеально, когда у вас есть функциональные блоки, и использовать счетчик в их имена полей) или функции (которые вы можете вызывать везде, где вам нужно, аргументы). Также имейте в виду последовательность событий поля, которая имеет большой побочный эффект, который позволяет объединить всю логику в одно поле, которое даже не является частью полей, участвующих в вычислении.

В вашем случае расчет действительно зависит от выбора названий полей. Сделайте это хорошо, ваш код короткий и элегантный, сделайте это не так хорошо, ваш код будет беспорядок.

Теперь для вашего примера недостаточно информации о том, что он должен делать. Таким образом, может быть хорошей идеей добавить результаты вашего быстрого анализа к вопросу.

Я думаю, что знаю, что вы хотите сделать, и в этом случае все становится довольно простым.

+0

Спасибо Макс. Я не уверен, что вы подразумеваете под что я выбрал радиокнопки над флажками, это тот факт, что я не хочу, чтобы люди могли выбирать два варианта: они должны быть A, B или C. Если они случайно проверили два и не понимают цену будет некорректно. Существует базовая плата, которая идет с опцией размера. Затем цена поднимается в зависимости от количества, выбора запаса, других дополнений и т. д. Каждый из них имеет значение Х для каждого отдельного элемента. Но нам нужен минимальный заказ QTY также так как невозможно заказать только один. – ncman

+0

Также причина, по которой я включил оператор IF, состоял в том, что если переключатель был отмечен (и не может быть снят), вся форма не нужно очищать и начинать заново. Если оператор IF возвращался к нулю, когда вводилось значение QTYzero, это означает, что они не являются влияя на общую сумму. – ncman

+0

взаимоисключающий действительно означает, что возможен только один из вариантов: A, B или C, и выбор не выбранного выбора приведет к сбросу других. –

Смежные вопросы