Синтаксис предотвращает заполнение вычисляемых полей с помощью @DbLookup
У меня есть поле со списком, в котором перечислены несколько продуктов. У некоторых из этих продуктов есть кавычки в их именах, обозначающие дюймы (то есть 12"перевязочный стержень). Вот моя проблема. У меня есть событие" При изменении ", которое обновляет несколько вычисляемых полей с помощью @DbLookup, заполняющего Product Cost, Unit of Measure & & Item Число. Когда я выбираю любой продукт, который использует кавычку для обозначения дюймов, вычисленные поля не заполняются. Каково значение кавычки в названии продукта и как это исправить? Вот код из поля со списком.
try {
var vendor = getComponent("POVendor").getValue();
var list = @DbLookup(@DbName(), "VPL", vendor, 2);
if (@IsError(list))
return "Select a Vendor first|";
else
return list;
} catch (e) {
return "Please select a vendor first (Error)|";
}
Вот код из вычисляемого поля (на самом деле это поле для редактирования, которое доступно только для чтения, а код является значением по умолчанию), которое заполняется стоимостью элемента:
var item = getComponent("Item1").getValue();
var cost = @DbLookup(@DbName(), "PL", item, 2);
return cost;
2 ответа
Так как список продуктов был импортирован, мне нужен был способ изменить "на" в. ". Я сделал это с помощью агента и изменил все названия продуктов, содержащие" ", и заменил их на" в. ". Это сработало. Сейчас я просто собираюсь написать скрипт, который запрещает использование "метки для дюймов".
Вы используете дюймовый символ? Если это так, вы можете попробовать заменить его эквивалентным шестнадцатеричным кодом \u2033.
var item = getComponent("Item1").getValue();
var cost = @DbLookup(@DbName(), "PL", @ReplaceSubstring(item, '″', '\u2033'), 2);
return cost;
Если вы используете правую двойную кавычку, ваш шестнадцатеричный код будет \u201D.
Пожалуйста, просмотрите эту ссылку, http://www.javascripter.net/faq/mathsymbols.htm чтобы найти различные типы кодов для данного символа.
Пожалуйста, попробуйте и дайте нам знать.