Добрый день.
У меня есть раздел "Материалов" в котором есть числовое поле "Количество пустых", его заполнение происходит через БП.
Иногда требуется обнуление поля "Количество пустых" для всех записей.
Я хочу добавить кнопку которая будет выполнять очистку данных, с подтверждением своего намерения очистить, дабы избежать случайного нажатия.
Подскажите, пожалуйста, как лучше реализовать эту задачу.
Нравится
Попыталась создать кнопку по статье http://www.community.terrasoft.ru/forum/topic/13848 , но у меня не получилось.
Делаю первый раз и потому не знаю как решить это, буду рада если подскажите как исправить и где можно еще почитать информацию.
define("UsrConsumablesSection1", ["GridUtilitiesV2"], function() { return { entitySchemaName: "UsrConsumables", contextHelpId: "1001", diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "parentName": "UsrConsumable", "propertyName": "items", "name": "ResetSectionButton", "values": { itemType: Terrasoft.ViewItemType.BUTTON, caption: {bindTo: "Resources.Strings.ClearQuantityEmptyButtonCaption"}, click: {bindTo: "onClearQuantityEmptyClick"}, enabled: {bindTo: "isUsrConsumablesUsrQuantityEmpty"}, "layout": { "column": 1, "row": 6, "colSpan": 1 } } } ]/**SCHEMA_DIFF*/, messages: {}, methods: { onClearQuantityEmptyClick: function() { var activeRow = this.get("ActiveRow"); if (activeRow) { var primaryID = this.get("GridData").get(activeRow).get("UsrConsumables").value; } }, isUsrConsumablesUsrQuantityEmpty: function() { var activeRow = this.get("ActiveRow"); if (activeRow) { var pc = this.get("GridDate").get(activeRow).get("UsrQuantityEmpty"); return (pc || pc !== "") ? true : false; } return false, Page.UsrQuantityEmpty.Clear(); } } }; });
Здравствуйте!
Самый простой способ - через БП.
Реализация:
1) Начальный элемент - простой
2) Вопрос пользователю:
"Вы уверены, что хотите очистить значение поля для всех записей"
Ответ:
- Не очень. Отменить.
- Just do it!
Если выбран ответ "Не очень...", то идем на конец процесса.
Иначе:
3) Изменить данные в объекте UsrConsumable (указать надо его название) с фильтром Id заполнено (то есть всем записям).
Необходимо задать полю UsrQuantityEmpty значение default(int)
4) Конец процесса.
В свойствах процесса в блоке "Доступен в разделах" выберите нужный раздел.
ЗЫ. Page.UsrQuantityEmpty.Clear() не обращается к БД, поэтому очистка не происходит.
Добрый день.
Создала БП, в странице схемы прописала код, но возникла такая проблема, если я делаю замещающую сраницу с этим кодом (код ниже), страница раздела у меня не прорисовывается. Что мне нужно сделать, что бы исправить это?
Пример запуска БП брала из http://www.community.terrasoft.ru/forum/topic/10554#comment-47944 .
define("UsrConsumablesSection1", ["GridUtilitiesV2"], function() { return { entitySchemaName: "UsrConsumables", contextHelpId: "1001", diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "parentName": "UsrConsumable", "propertyName": "items", "name": "ResetSectionButton", "values": { itemType: Terrasoft.ViewItemType.BUTTON, caption: {bindTo: "Resources.Strings.ClearQuantityEmptyButtonCaption"}, click: {bindTo: "onClearQuantityEmptyClick"}, enabled: {bindTo: "isUsrConsumablesUsrQuantityEmpty"}, "layout": { "column": 1, "row": 6, "colSpan": 1 } } } ]/**SCHEMA_DIFF*/, messages: {}, methods: { onClearQuantityEmptyClick: function() { var url = "https://" + document.domain + "/0/ServiceModel/ProcessEngineService.svc/UsrProcessEmpty"; var request = null; request = new XMLHttpRequest(); request.open("GET", url, true); request.send(null); } } }; });
Здравствуйте, Алеся!
Обратитесь к службе поддержки. Листинг кода корректный.