кнопка
реестр
Технические вопросы
7.x

Очистить значения в разделе

Добрый день.

У меня есть раздел "Материалов" в котором есть числовое поле "Количество пустых", его заполнение происходит через БП.
Иногда требуется обнуление поля "Количество пустых" для всех записей.
Я хочу добавить кнопку которая будет выполнять очистку данных, с подтверждением своего намерения очистить, дабы избежать случайного нажатия.
Подскажите, пожалуйста, как лучше реализовать эту задачу.

Нравится

4 комментария

Попыталась создать кнопку по статье http://www.community.terrasoft.ru/forum/topic/13848 , но у меня не получилось.
Делаю первый раз и потому не знаю как решить это, буду рада если подскажите как исправить и где можно еще почитать информацию.
[javascript]
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();
}
}
};
});
[/javascript]

Здравствуйте!

Самый простой способ - через БП.
Реализация:
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 .

[javascript]
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);
}
}
};
});
[/javascript]

Здравствуйте, Алеся!

Обратитесь к службе поддержки. Листинг кода корректный.

Показать все комментарии