Практическое занятие 5. "Работа с MS Word-документами"
8. Настройте задачи сценариев.
По задаче сценария "ФИО сотрудника" щёлкните правой кнопкой мыши и из выпавшего меню выберите команду "Configuratescript" ("Отконфигурировать скрипт"). В поле "Handler" появившегося меню выберите "Getexecutorunfo" ("Получить информацию об исполнителе"). Меню приобретёт вид, показанный на Рис.10.7. Заполните остальные поля согласно этому рисунку и выберите кнопку "update".
Выбранный обработчик определяет полное имя (ФИО) Сотрудника и сохраняет результат в строковую переменную "ФИО сотрудника", но в служебной записке и приказе на премирование должно использоваться ФИО в дательном падеже.
Это значение позволит получить следующая задача сценария "ФИО сотрудника в дательном падеже", в конфигурации которого необходимо выбрать класс обработчика "Executeformula" ("Выполнить формулу"). В текстовое поле конфигурацию обработчика добавьте следующую формулу:
'ФИО сотрудника 3'=FIO_case_ru('ФИО сотрудника', 3, "F i o");
'ФИО сотрудника 3' - переменная, в которую будет сохранено ФИО в дательном падеже,
FIO_case_ru(fio, caseNumber, mode) - функция, склоняющая ФИО, имеет параметры:
fio - фамилия, имя и отчество в именительном падеже (в нашем случае задана с помощью переменной 'ФИО сотрудника')
caseNumber - номер падежа от 1 до 6 (в нашем случае 3 - это Дательный падеж)
mode - строка форматирования:
Символы форматирования F, I и O заменяются на фамилию, имя или отчество в соответствующем падеже
Символы форматирования f, i и o заменяются на первую букву фамилии, имени или отчества.
Т.е. данный обработчик сформирует Фамилию в дательном падеже, добавив к ней первую букву Имени и первую букву Отчества, например "Иванову И.И.".
Для облегчения вставки в конфигурацию переменных воспользуйтесь пунктом "Вставить переменную", соответственно для вставки функции используйте "Вставить функцию". Вставка производится в текущее положение курсора.
Следующая задача сценария (Рис.10.9) - это "Определение текущей даты". Здесь также используется обработчик "Executeformula" ("Выполнить формулу"). Конфигурация имеет следующее выражение
'Текущая дата' = current_date();
Функция current_date определяет текущую дату и сохраняет результат в переменную "Текущая дата".
Для узла "Проверка данных для оформления служебной записки" создайте пользовательскую форму с компонентами
ФИО сотрудника Размер премии Описание выполненных работ Текущая дата,
как показано на Рис.10.9а .
Как видно из Рис. 10.1, этот узел имеет 2 исходящих соединения: "Ошибка" и "Правильно". При обнаружении ошибки процесс будет завершён и Руководитель может снова его запустить для подачи служебной записки с правильными данными.
Следующая задача сценария "Генерация служебной записки" создаст файл служебной записки.
Предварительно в редакторе Word-файлов (они имеют расширение .DOCX) необходимо создать файл с шаблоном служебной записки, вид которого изображён на Рис. 10.10.