9 февраля 2016 в 18:24:46
(8 лет 45 недель 4 дня 16 часов назад)
5000
24.09.2015 21:47:13
Текст задания
Платформа 8.3.6+. Интерфейс "Такси", только УФ. БСП не использовать. Код должен работать и в тонком клиенте и web-клиенте. Исходный шаблон документа MS Word менять нельзя!
Описание
В конфигурации есть документ «Резюме», с флажками, строковыми реквизитами и таблицами. На локальном компьютере, по указанному пути лежит шаблон печатной формы в файле MS WORD. В шаблоне указаны маркеры начала и конца секций, маркеры данных, маркеры заголовка и строк таблицы.
Реквизиты вида «ПоказатьХХХ» включает (если «Истина») или выключает (если «Ложь») вывод секции {Блок. ХХХ} […] {/Блок. ХХХ} (это маркеры секций) в результирующем файле.
Реквизиты вида «ЭлементХХХ» выводятся вместо маркеров вида [ХХХ] (это маркеры данных) в результирующем файле.
Реквизиты вида «ПоказатьГруппуХХХ» включает (если «Истина») или выключает (если «Ложь») вывод секции с таблицей {Блок. ХХХ} […] {/Блок. ХХХ} (это маркеры таблиц) в результирующем файле. Названия колонок в документе «Резюме» соответствует названиям маркеров в результирующем файле. Строки таблицы выводятся слитно, а не с разрывами; одна строка в таблице в документе реквизит соответствует одной строке в таблице результирующего файла.
Фотография кандидата загружается из реквизита документа «Фото» и заменят маркеры [Фото] в результирующем документе.
Колонтитулы в результирующий файл должны выводиться в том виде, как они есть в шаблоне. (Если в документе «Резюме» в 1с есть заполненные реквизиты колонтитула, то проводим замену маркеров на данные документа).
Алгоритм работы
У пользователя 2 кнопки, «Отправка» и «Печать». В обычном режиме управляемых форм при нажатии кнопка «Печать», создается копия шаблона документа MS Word и после заполнения -открывается пользователю. В веб интерфейсе сообщить, что нужно пользоваться кнопкой «Отправка».
Кнопка «Отправка» в любом интерфейсе(web или уф), создает копию шаблона на сервере, запрашивает электронный адрес (куда отправить) и отправляет произвольное письмо на указанную почту, с вложением заполненной копией резюме. Учетная запись, с которой производить отправку выдается конкретному исполнителю и просто прописывается в коде 1С («жестко»).
Требования к коду
Необходимо все операции по формированию результирующего файла разбить на функции (или написать одну универсальную функцию и ее вызывать в цикле), т е например, функция ОтобразитьФИО, ОтобразитьДеньРождения и т д. Формирование должно происходить следующим образом: с документа «Резюме» перебираются все реквизиты. Если этот реквизит(или табличная часть) должен отображаться, то происходит поиск маркеров секций или данных в шаблоне. Если маркеры не были обнаружены – то ничего не выводится, если обнаружена секция – она включается к отображению и внутри секции все маркеры данных должны быть включены
Примечание
1) Нет необходимости делать интерфейс-конфетку, то что есть сейчас – достаточно для выполнения задачи
2) В файле шаблона нет части маркеров (реквизитов в документ 1с гораздо больше), но при изменении шаблона, путем добавления новых маркеров(по правилам выше) – все должно работать без изменения кода, "из коробки"
3) некоторые вопросы можно обсудить в скайпе, потом они будут добавлены в обсуждение проекта
ТЗ довольно подробное, осталось только реализовать. От желающих выполнить – сроки и сумму
Совсем недавно сделал подобное задание: http://1clancer.ru/offer/taskId=17218
Та обработка работает универсально - пользователь может сам создать файл с полями и секциями, а обработка сама найдет нужные данные и заполнить их из документа.