34.87. Генерація документа в атрибут “Образ документа” з умовами на формі документа.
Для атрибута “Образ документа” повинен бути встановлений шаблон генерації, який має значения, що використвуються в скрипті.
|
const fileNode = 14 // id атриубта “Образ документа”
module.exports = {
async form_51_click(event) { // скрипт выполняеться при нажатии на кнопку на форме документа. 51 – ID кнопки
const docImageControl = event.form.getNodeControl(fileNode)
const hideRoles = event.document.getAttribute(‘smplToggle’) // привязка атрибутов-условий с формы документа, атрибут типа Логический
const hideNative = event.document.getAttribute(‘sd15’) // привязка атрибутов-условий с формы документа, атрибут типа Логический
const hideCustom = event.document.getAttribute(‘a027’) // привязка атрибутов-условий с формы документа, атрибут типа Логический
const dateREG = event.document.getNativeAttribute(‘regDate’) // привязка атрибутов-условий с формы документа, дата регистрации документа
const SomeText = event.document.getNativeAttribute(‘ms01’) // привязка атрибутов-условий с формы документа, атрибут типа текст
await docImageControl.generateByTemplate(extendData) //формирование образа документа
function extendData(items) {
if (hideNative) { // Меняем значения атрибутов из шаблона генерации при отработке условия smplToggle = true
items[‘docTypeID.caption’] = ‘1’ // меняем значение на 1
items[‘stateID.name’] = ‘2’// меняем значение на 2
}
if (hideRoles) { // Меняем значения атрибутов из шаблона генерации при отработке условия sd15 = true
items[‘mi_participants.author’] = ” //очищаем значение
items[‘mi_participants.watcher’] = ”//очищаем значение
}
if (hideCustom) { // Меняем значения атрибутов из шаблона генерации при отработке условия a027= true
items[‘attrValues.ms01’] = SomeText// меняем значение на значение атрибута ms01
items[‘attrValues.ms06’] = dateREG // меняем значение на значение атрибута regDate
items[‘attrValues.ms08.caption’] = ”//очищаем значение
items[‘attrValues.ms08_1’] = ” //очищаем значение
items[‘attrValues.ms08_1.name’] = ” //очищаем значение
}
return items
}
}
}
|
34.88. Генерація документа в атрибут “Образ документа” з умовами на вспливаючій формі.
Для атрибута “Образ документа” повинен бути встановлений шаблон генерації, який має значения, що використовуються в скрипті.
|
const fileNode = 14 // id атриубта “Образ документа”
module.exports = {
async form_63_click(event) { // скрипт выполняеться при нажатии на кнопку на форме документа. 51 – ID кнопки
const docImageControl = event.form.getNodeControl(fileNode)
const generateByTemplateButton = docImageControl.getButton(‘genByTemplate’)
const popupResult = await event.openPopupForm(‘LDOC1750_Task_Custom’) // LDOC1750_Task_Custom – код всплывающей формы с условиями
if (!popupResult) {
return
}
await docImageControl.generateByTemplate(extendData) // формирование образа документа
function extendData(items) {
const attrsTable = { //привязка атрибутов шаблона генерации к атрибутам на всплывающей форме
‘attrValues.ms01’: ‘ms01’,
‘attrValues.ms02’: ‘ms02’,
‘attrValues.ms03’: ‘ms03’,
‘attrValues.ms04’: ‘ms04’,
‘attrValues.ms05’: ‘ms05’,
‘attrValues.ms08’: ‘ms08’,
‘attrValues.ms08.caption’: ‘ms08’,
‘attrValues.ms08_1’: ‘ms08_1’,
‘attrValues.ms08_1.name’: ‘ms08_1’,
}
const attrsToCheck = popupResult.attrValues
for (const item of Object.keys(items)) {
if (attrsTable[item]) {
items[item] = attrsToCheck[attrsTable[item]]
}
}
return items
}
}
}
|
34.89. Генерація документа в файл MS Word з умовами на формі документа.
Для атрибута “Образ документа” повинен бути встановлений шаблон генерації, який має значения, що використовуються в скрипті.
|
const fileNode = 14 // id атриубта “Образ документа”
module.exports = { // скрипт выполняеться при нажатии на кнопку на форме документа. 58 – ID кнопки
async form_58_click(event) {
const docImageControl3 = event.form.getNodeControl(fileNode)
const hideRoles3 = event.document.getAttribute(‘smplToggle’) // привязка атрибутов-условий с формы документа, атрибут типа Логический
const hideNative3= event.document.getAttribute(‘sd15’) // привязка атрибутов-условий с формы документа, атрибут типа Логический
const hideCustom3 = event.document.getAttribute(‘a027’) // привязка атрибутов-условий с формы документа, атрибут типа Логический
const docID3 = event.document.getNativeAttribute(‘ID’) //создаем константу с номером документа
const dateREG3 = event.document.getNativeAttribute(‘regDate’) // привязка атрибутов-условий с формы документа, дата регистрации документа
const data3 = await docImageControl3.generateDocumentByTemplate(extendData3) //вызываем генерацию в файл
if (data3) {
window.saveAs(data3, `${docID3}.docx`) // названия файла – номер документа
}
function extendData3(items) {
if (hideNative3) { // Меняем значения атрибутов из шаблона генерации при отработке условия smplToggle = true
items[‘docTypeID.caption’] = ‘1’ // меняем значение на 1
items[‘stateID.name’] = ” //очищаем значение
items[‘subject’] = ” //очищаем значение
}
if (hideRoles3) {
items[‘mi_participants.author’] = ” //очищаем значение
}
if (hideCustom3) {
items[‘attrValues.ms01’] = ’19’ // меняем значение на 19
items[‘attrValues.ms02’] = ” //очищаем значение
items[‘attrValues.ms06’] = dateREG3 // меняем значение на значение атрибута regDate
items[‘attrValues.ms09.caption’] = ” //очищаем значение
items[‘attrValues.ms10’] = ’33’ // меняем значение на 33
items[‘attrValues.ms10.name’] = ’34’ // меняем значение на 34
return items
}
}
}
}
|
34.90. Генерація документа в файл MS Word з умовами на вспливаючій формі.
Для атрибута “Образ документа” повинен бути встановлений шаблон генерації, який має значения, що використовуються в скрипті.
|
const fileNode = 14 // id атриубта “Образ документа”
module.exports = {
async form_62_click(event) { // скрипт выполняеться при нажатии на кнопку на форме документа. 62 – ID кнопки
const docImageControl = event.form.getNodeControl(fileNode)
const generateByTemplateButton = docImageControl.getButton(‘genByTemplate’)
const popupResult = await event.openPopupForm(‘DocRules1750’) // DocRules1750 – код всплывающей формы с условиями
if (!popupResult) {
return
}
const docID = event.document.getNativeAttribute(‘ID’) //создаем константу с номером документа
const data = await docImageControl.generateDocumentByTemplate(extendData) //вызываем генерацию в файл
if (data) {
window.saveAs(data, `${docID}.docx`) // названия файла – номер документа
}
function extendData(items) {
const attrsTable = { //делаем привязку атрибутов шалблона генерации с атриубутами всплывающей формы
‘docTypeID.caption’: ‘sd15’, //очищаем значение при отработке условия sd15 = true
‘stateID.name’: ‘sd15’, //очищаем значение при отработке условия sd15 = true
‘subject’: ‘sd15’, //очищаем значение при отработке условия sd15 = true
attrValues.ms01‘ : ‘ms01‘, //меняем значение на значение атрибута всплывающей формы ms01
‘attrValues.ms02‘ : ‘ms02‘, //меняем значение на значение атрибута всплывающей формы ms02
‘attrValues.ms08.caption‘: ‘ms08‘, //меняем значение на значение атрибута всплывающей формы ms08
‘attrValues.ms08_1‘: ‘a027‘, //очищаем значение при отработке условия a027= true
‘attrValues.ms08_1.name‘: ‘a027‘, //очищаем значение при отработке условия a027= true
‘attrValues.ms09‘: ‘ms09‘, //меняем значение на значение атрибута всплывающей формы ms09
‘attrValues.ms09.caption‘: ‘ms09‘ //меняем значение на значение атрибута всплывающей формы ms09
}
const attrsToCheck = popupResult.attrValues
if (!Object.keys(attrsToCheck).length) {
return items
}
for (const item of Object.keys(items)) {
if (attrsTable[item]) {
if (typeof attrsToCheck[attrsTable[item]] === ‘string‘) {
items[item] = attrsToCheck[attrsTable[item]]
} else {
if (attrsToCheck[attrsTable[item]] === true) {
items[item] = !attrsToCheck[attrsTable[item]]
}
}
}
}
return items
}
}
}
|