34. Генерація друкованої форми документа в залежності від вибраних умов.

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
}
}
}

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

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