Skip to main content
Version: 51.0.0

Робота з атрибутами

Спеціальні типи атрибутів​

Довідникові атрибути​

Керування списком значень атрибутів Dropdown​

Для системного довідника. Керування списком доступних для вибору значень в атрибутів Dropdown. 8 це id атрибута – довідника. В результаті в зазначеному атрибуті будуть доступні тільки записи, код яких починається з 010. Може бути застосовано для single choice, так і для multi choice довідників.

module.exports = {
form_8_getRepository(event) {
event.repository.where('code', 'startsWith', '010')
}
}

Для системного довідника​

module.exports = {
async loaded(event) {
if (event.value) {
const valueTextCode = await UB.Repository('cdn_currency')
.attrs('code3')
.where('ID', '=', event.value)
.selectScalar()

if (valueTextCode === 'AED') {
console.log('Обрана місцева валюта AED')
} else {
console.log('Обрана інша валюта')
}
}
}
}

Для класифікатора​

module.exports = {
async loaded(event) {
if (event.value) {
const valueTextCode = await UB.Repository('cdn_classifieritem')
.attrs('code')
.where('ID', '=', event.value)
.selectScalar()

if (valueTextCode === 'active') {
console.log('Обрано значення active')
}
}
}
}

Інші типи​

Скрипт для поля типу Гіперпосилання​

Встановлення значення атрибута типу Гіперпосилання.

module.exports = {
loaded(event) {
event.document.setAttribute('a026', {
caption: '3232',
url: 'https://www.caringmedical.com/prolotherapy-news/arthroscopic-knee-surgery-for-osteoarthritis/'
})
}
}

Валідація атрибутів​

Файлові атрибути​

Примітка:

Установка обов'язковості для атрибута "Додатки документа" за допомогою скриптів не є актуальною, оскільки в цілому обов'язковість не актуальна і не встановлюється для цього атрибута.

Обов'язковість файлового атрибута документа​

У разі збереження документа файловий атрибут повинен бути заповнений (Attrfile22 файловий атрибут). Якщо він не заповнений, видається відповідне повідомлення у правому верхньому куту, а також кастомізоване повідомлення біля самого атрибута.

module.exports = {
document_validateAttribute_Attrfile22(event) {
const docFile = event.document.getFileAttribute('Attrfile22')
if (!docFile.fileInfo) {
return 'Для збереження документа необхідно додати файл'
}
}
}

Обов'язковість образу документа​

module.exports = {
document_validateNativeAttribute_docImage(event) {
const docFile = event.document.getNativeAttribute('docImage')
if (!docFile.fileInfo) {
return 'Для збереження документа необхідно додати файл'
}
}
}

Обов'язковість файлового атрибута таблиці​

module.exports = {
documentItem_validateAttribute_Attrfile22(event) {
const docFile = event.documentItem.getFileAttribute('Attrfile22')
if (!docFile.fileInfo) {
return 'Для збереження рядка таблиці необхідно додати файл'
}
}
}

Обов'язковість підпису для файлового атрибута документа​

Виконується тільки в тому випадку, якщо сам файловий атрибут заповнений.

module.exports = {
document_validateAttribute_Attrfile22(event) {
const docFile = event.document.getFileAttribute('Attrfile22')
if (docFile.fileInfo) {
if (docFile.signatures.length < 1) {
return 'Для збереження документа необхідно підписати файл'
}
}
}
}

Обов'язковість файлового атрибута документа та підпису до нього​

module.exports = {
document_validateAttribute_Attrfile22(event) {
const docFile = event.document.getFileAttribute('Attrfile22')
if (!docFile.fileInfo) {
return 'Для збереження документа необхідно додати файл'
}
if (docFile.signatures.length < 1) {
return 'Для збереження документа необхідно підписати файл'
}
}
}

Обов'язковість файлового атрибута таблиці та підпису до нього​

module.exports = {
documentItem_validateAttribute_Attrfile22(event) {
const docFile = event.documentItem.getFileAttribute('Attrfile22')
if (!docFile.fileInfo) {
return 'Для збереження пункта таблиці необхідно додати файл'
}
if (docFile.signatures.length < 1) {
return 'Для збереження пункта таблиці необхідно підписати файл'
}
}
}

Перевірка обов'язковості файлового атрибута документа та кількості підписів​

В даному прикладі 4.

module.exports = {
document_validateAttribute_Attrfile22(event) {
const docFile = event.document.getFileAttribute('Attrfile22')
if (!docFile.fileInfo) {
return 'Для збереження документа необхідно додати файл'
}
if (docFile.signatures.length < 4) {
return 'Для збереження документа необхідно 4 підписи для файла'
}
}
}

Контроль розміру файлу, що завантажується (для файлового атрибута)​

module.exports = {
document_validateAttribute_a001(event) {
const docFile = event.document.getFileAttribute('a001')
if (docFile.fileInfo && docFile.originalFileInfo.size > 12288) {
return 'Розмір файла, що завантажується, більше ніж 12Кб'
}
}
}

Cкалярні атрибути​

Контроль значення у числовому полі​

module.exports = {
document_validateAttribute_Attrnumeric077(event) {
if (event.value > 1200) {
return 'Число не повинно перевищувати 1200'
}
}
}

Контроль значення у текстовому полі​

module.exports = {
document_validateAttribute_Attrtext01(event) {
if (event.value == 'Не погоджено') {
return 'Неможливо зберегти документ якщо він не погоджений'
}
}
}