14. Скрипт для файлових атрибутів.

14.42. Образ документа. Отримати назву файла.

module.exports = {
loaded(event) {
const docFile = event.document.getNativeFileAttribute()
const fileName = docFile.fileInfo.fileName
console.log(‘Образ документа:’,fileName)
}
}

14.43. Файловий атрибут. Отримати назву файла.

module.exports = {
loaded(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
const fileName = docFile.fileInfo.fileName
console.log(‘Файловый атрибут:’,fileName)
}
}

14.44. Додатки документа/колекція файлів. Отримати назви всіх файлів (назви оригінальних файлів, origFileName).origFileName origFileNameorigFileName

module.exports = {
loaded(event) {
const docAttachments = event.document.getAttachments()
for (const attachment of docAttachments) {
console.log(‘Название файла приложения:’,attachment.fileInfo.origFileName)
}

}
}

14.45. Очищення файлового атрибута. clearItem() В даному випадку при редагуванні атрибуту Attrtext01 файловий атрибут Attrfile22_20Mb очищається.

module.exports = {
document_attributeChanged_Attrtext01(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
docFile.clearItem()
}
}

14.46. Інформація про підписи. Виводиться список усіх підписантів.

module.exports = {
loaded(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
const signers = docFile.signatures.map(signature => signature.signer)
console.log(signers.join(‘, ‘) + ‘подписали этот документ’)
}
}

     

14.47. Виводиться список усіх підписантів та час підписання.

module.exports = {
loaded(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
console.log(‘Все подписи’,docFile.signatures)
}
}

Такий скрипт поверне:

    1. 0: {timeStamp“2020-09-11 15:08:13”signer“Чугай Роман Олександрович”}
    2. 1: {timeStamp“2020-09-18 14:12:38”signer“Нечипоренко Ірина Петрівна”}

14.1. Отримання комплексної інформації про завантажений файл (структура, розмір, назва).

        Оригінальний файл

module.exports = {
loaded(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
console.log(‘Данные о файле-оригинале’,docFile.originalFileInfo)
}
}

Такий скрипт поверне:

Данные о файле-оригинале {size: 11603, fileName: “dfxAtc-original30000007001693288.docx”, origFileName: “0676079818.docx”, contentType: “application/vnd.openxmlformats-officedocument.wordprocessingml.document”}

Перетворений файл

module.exports = {
loaded(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
console.log(‘Конечный файл’,docFile.fileInfo)
}
}

Такий скрипт поверне:

Конечный файл {size: 9234, fileName: “dfxAtc-attachment3000000700169327e.pdf”, origFileName: “0676079818.pdf”, contentType: “application/pdf”}

14.2. Перевірка чи підписано файл. isSigned

module.exports = {
loaded(event) {
const docFile = event.document.getFileAttribute(‘Attrfile22_20Mb’)
const isSigned = docFile.isSigned
if (isSigned === true){
event.document.setAttribute(
‘Attrtext01’‘Файл подписан’)
}
else{
event.document.setAttribute(
‘Attrtext01’‘Файл не подписан’)
}
}
}

14.3. Додатки документаВидалення файла за умовою (description = file15032021)

module.exports = {
loaded(event) {
const docAttachments = event.document.getAttachments()
for (const attachment of docAttachments) {
if(attachment.description === ‘file15032021’){
attachment.deleteItem()
}

}

}
}

14.4. Виклик кнопки дії в файлових атрибутах

За допомогою конструкції event.form.getNodeControl(4).getButton(‘someCode’).click() є можливість із скрипта імітувати натискання кнопок в файлових атрибутах. Може використовуватись для нативних та кастомних кнопок.

Приклад використання. В атрибуті відключена кнопка «Підписати». Підписання запускається перед виконанням дії за допомогою скрипта.

module.exports = {
action_beforeExecute_approve(event) {
event.form.getNodeControl(5).getButton(
‘signDoc’).click()    //запускаем подписание файла в атрибуте образ документа (5 = ID документа на форме),  signDoc – код кнопки действия “Подписать”        
}
}

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

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