9. Управление атрибутами run-time (блокирование, обязательность, show/hide).

9.23. Документ. Блокування атрибута за умови, якщо певне поле заповнено. Виконується за допомогою конструкції event.form.setNodeProperty (….’disabled’…..). enabled не існує, тому якщо потрібно enabled ставимо заперечення на disabled зо допомогою знака оклику.

// Не позволять редактировать атрибут Attrdict11 (nodeId = 6), пока атрибут Attrdict10 пустой

module.exports = {
loaded(event) {
// Блокирует атрибут Attrdict11 в случае если атрибут Attrdict10 пустой при загрузке формы
const value = event.document.getAttribute(‘Attrdict10’)
event.form.setNodeProperty(6,
‘disabled’,!value)
},
document_attributeChanged_Attrdict10(event) {
// Разблокирует атрибут Attrdict11 в случае если атрибут Attrdict10 заполнен
event.form.setNodeProperty(6,
‘disabled’,!event.value)
}
}

     

9.24. Документ. Блокування атрибута за умови, якщо певне поле заповнено певним значенням. Приклад аналогічний з попереднім, разниця тілько в тому, що в попередньому прикладі блокування спрацювувало при введені будь-якого значення, в даному випадку тільки при введені певного значення. В даному прикладі поле від якого залежить блокування – текстове.

// Блокировать атрибут Attrdict11 (nodeId = 6) в случае если в атрибут Attrtext01 внесено значение “Запрещено”

module.exports = {
document_attributeChanged_Attrtext01(event) {
if (event.document.getAttribute(‘Attrtext01’) === ‘Запрещено’) {
event.form.setNodeProperty(6,
‘disabled’,!!event.value)
}
else {event.form.setNodeProperty(6,‘disabled’,!event.value)}
}
}

9.25. Документ. Блокування атрибуту за умови, якщо певне поле заповнене певним значенням. Приклад аналогічний з попереднім, різниця тільки в тому, що в попередньому прикладі блокування спрацьовувало при введенні будь-якого значення, в даному випадку тільки при введенні певного значення. В даному прикладі поле від якого залежить блокування – поле з довідником.

module.exports = {
async document_attributeChanged_Attrdict10(event) {
if (event.value) {
const valueTextCode = await UB.Repository(‘cdn_currency’)
.attrs(
‘code3’)
.where(
‘ID’‘=’, event.value)
.selectScalar()
if (valueTextCode === ‘AED’) {
event.form.setNodeProperty(6,
‘disabled’,!!event.value)
}
else {event.form.setNodeProperty(6,‘disabled’,!event.value)}
}
}

9.26. Документ. Встановлення обов’язковості для атрибута. Виконується за допомогою конструкції event.document.setAttributeRequiredRule(…..’*.*’…..).

// Атрибут Attrdict11 становится обязательным в случае если атрибут Attrdict10 заполнен. ‘*.*’ означает что обязательность распостраняется на все состояния, все действия

module.exports = {
loaded(event) {
// Установка обязательности для атрибута Attrdict11 при открытии документа, на основании анализа состояния атрибута Attrdict10
const valuee = event.document.getAttribute(‘Attrdict10’)
event.document.setAttributeRequiredRule(
‘Attrdict11’,‘*.*’,!!valuee)
},
document_attributeChanged_Attrdict10(event) {
// Установка обязательности для атрибута Attrdict11 при заполнении атрибута Attrdict10
event.document.setAttributeRequiredRule(
‘Attrdict11’,‘*.*’,!!event.value)
}
}

9.27. Документ. Встановлення обов’язковості для всіх атрибутів секції. Аналогічно попередньому прикладу, різниця тілько в тому, що в попередньому прикладі вплив був тільки один обраний атрибут, а поточному прикладі всі атрибути заданої секції. Виконується за допомогою конструкції event.form.setNodeRequiredRule(…..’*.*’…..). ‘*.*’ означає всі ролі, всі стани.

// Все атрибуты секции с nodeid = 10 становятся обязательными в случае если атрибут Attrdict10 заполнен. ‘*.*’ означает что обязательность распостраняется на все состояния, все действия

module.exports = {
loaded(event) {
// Установка обязательности для всех атрибутов секции при открытии документа, на основании анализа состояния атрибута Attrdict10
const valuee = event.document.getAttribute(‘Attrdict10’)
event.form.setNodeRequiredRule(10,
‘*.*’,!!valuee)
},
document_attributeChanged_Attrdict10(event) {
// Установка обязательности для всех атрибутов секции при заполнении атрибута Attrdict10
event.form.setNodeRequiredRule(10,
‘*.*’,!!event.value)
}
}

   

9.28. Задача. Встановлює обов’язковість для атрибуту документа. Виконується за допомогою конструкції event.document.setAttributeRequiredRule

module.exports = {
document_attributeChanged_Attrdict10(event) {
event.document.setAttributeRequiredRule(
‘Attrdict11’,‘*’,!!event.value)
}
}

   

9.29. Завдання. Встановлює обов’язковість для нативного атрибута задачі при зміні нативних атрибутів задачі. Виконується за допомогою конструкції event.task.setNativeAttributeRequiredRule

module.exports = {
task_nativeAttributeChanged_description(event)  {
event.task.setNativeAttributeRequiredRule(
‘comment’,‘*’,!!event.value)
}
}

9.30. Завдання. Встановлює обов’язковість для всіх атрибутів секції. Виконується за допомогою конструкції event.form.setNodeRequiredRule. ‘*’ означає Усі Дії.

module.exports = {
document_attributeChanged_Attrdict10(event) {
event.form.setNodeRequiredRule(18,
‘*’,!!event.value)
}
}

9.31. Документ. Встановлює відображення/приховування атрибута. Виконується за допомогою конструкції event.form.setNodeProperty(9, ‘hidden’, true), вказується id атрибута.

module.exports = {
async document_attributeChanged_a00013(event) {
if (event.value) {
event.form.setNodeProperty(9, 
‘hidden’true)
}
else {event.form.setNodeProperty(9, ‘hidden’, !true)}
}
}

9.32. Документ. Встановлює відображення/приховування всіх атрибутів секції. Виконується аналогічно як для атрибута, за допомогою конструкції event.form.setNodeProperty(10, ‘hidden’, true), тільки вказується id секції.

module.exports = {
async document_attributeChanged_a00013(event) {
if (event.value) {
event.form.setNodeProperty(10, 
‘hidden’true)
}
else {event.form.setNodeProperty(10, ‘hidden’, !true)}
}
}

     

9.33. Завдання. Встановлює відображення/приховування атрибута. Виконується за допомогою конструкції event.form.setNodeProperty(9, ‘hidden’, true), вказується id атрибута.

module.exports = {
async document_attributeChanged_a00013(event) {
if (event.value) {
event.form.setNodeProperty(9, 
‘hidden’true)
}
else {event.form.setNodeProperty(9, ‘hidden’, !true)}
}
}

9.34. Завдання. Встановлює відображення/приховування всіх атрибутів секції. Виконується аналогічно як для атрибута, за допомогою конструкції event.form.setNodeProperty(10, ‘hidden’, true), тільки вказується id секції.

module.exports = {
async document_attributeChanged_a00013(event) {
if (event.value) {
event.form.setNodeProperty(10, 
‘hidden’true)
}
else {event.form.setNodeProperty(10, ‘hidden’, !true)}
}
}

Отримайте персональну пропозицію

    Цей сайт захищено reCAPTCHA, а також застосовуються Політика конфіденційності та Умови надання послуг Google.
    +38 (044) 323 00 86