Замена значения реквизита типа «Выбор» на «Да» в одной из строк таблицы. Во всех остальных строках этого столбца значение должно стать «Нет».
WebAccess.ready(function() {
// Проверить, что текущий справочник - "Регистрационно-контрольные карточки".
if (this.current.getReferenceCode() !== "РКК") return;
var tableDFMName = "Grid31";
var columnRequisiteName = "ДаНетТ";
var rows;
if (this.current.getReferenceCode() !== "РКК") return;
var tableDFMName = "Grid31";
var columnRequisiteName = "ДаНетТ";
var rows;
// Функция, изменяющая значения строк в зависимости от значения реквизита типа "Выбор".
function switchState(state,current_index) {
if (state != "Д") return;
for(index in rows) {
if (!isNaN(index) && index != current_index) {
var req = rows[index].getRequisites()[columnRequisiteName];
req.setValue("Н");
req.setDisplayValue("Нет");
}(index);
};}
// Функция, привязывающая обработчики событий ко всем реквизитам columnRequisiteName.
function setupBindings() {
rows = WebAccess.current.form.controls.tables[tableDFMName].getRows();
for(index in rows) {
if (!isNaN(index)) {
var reqName = rows[index].getRequisites()[columnRequisiteName].name;
$('#' + CardForm().reqID[reqName]).bind("result",{"current_index": index}, function(event,state) { switchState(state,event.data.current_index); });
};
}
};
// Применить обработчики событий для новых добавляемых строк таблицы.
$("html").bind("CardFormAddRow", function() {setupBindings();});
setupBindings();
});
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |