Репозиторий с шаблоном разработки "Печатная форма входящего письма".
Шаблон позволяет реализовать на заказном слое формирование печатной формы входящего письма со штампами электронной подписи и регистрационных данных в формате PDF.
В печатную форму проставляются штамп регистрационных данных входящего документа, штамп регистрационных данных исходящего документа из поля "В ответ на", штамп электронной подписи.
Координаты и размеры штампов запрашиваются через диалоговое окно.
Печатная форма сохраняется в новую версию с примечанием "Версия для печати" либо в последнюю существующую версию с таким примечанием.
Состав объектов разработки:
- Клиентская функция GeneratePrintableForm.
Note
Замечания и пожеланию по развитию шаблона разработки фиксируйте через Issues. При оформлении ошибки, опишите сценарий для воспроизведения. Для пожеланий приведите обоснование для описываемых изменений - частоту использования, бизнес-ценность, риски и/или эффект от реализации.
Внимание! Изменения будут вноситься только в новые версии.
- Перекрыть документ "Входящее письмо" (имя IncommingLetter).
- Добавить новое действие. В событии "Выполнение" вызвать функцию
if (_obj.Versions.Where(x => Signatures.Get(x).Where(s => s.SignatureType == SignatureType.Approval).Any()).Any() == false)
e.AddWarning(PrintableTemplate.Resources.NoExistsSignedVersion);
else
{
var result = PrintableTemplate.PublicFunctions.Module.GeneratePrintableForm(_obj);
if (result.IsSuccess)
e.AddInformation(PrintableTemplate.Resources.ActionResult);
else
result.Errors.ForEach(e.AddWarning);
}
- В событии "Возможность выполнения" задать условие доступности действия
return !_obj.State.IsInserted && _obj.HasVersions && !_obj.State.IsChanged && _obj.AccessRights.CanUpdate() && !Locks.GetLockInfo(_obj).IsLockedByOther;
Для работы требуется установленный Directum RX и решение Интеграция с МЭДО версии 4.7.
А так же неоходимо обновить стороннюю библиотеку MEDOSerializingXML в модуле "PrintableTemplate". Необходимо взять эту библиотеку из модуля "MEDO" решения Интеграция с МЭДО.
- Склонировать репозиторий IncommingLetterPrintable в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
<repository folderName="Base" solutionType="Base" url="" />
<repository folderName="RX" solutionType="Base" url="<адрес локального репозитория>" />
<repository folderName="<Папка из п.1>" solutionType="Work"
url="https://github.com/DirectumCompany/rx-template-inletterprintable />
</block>
Возможные варианты:
A. Fork репозитория
- Сделать fork репозитория IncommingLetterPrintable для своей учетной записи.
- Склонировать созданный в п. 1 репозиторий в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
<repository folderName="Base" solutionType="Base" url="" />
<repository folderName="<Папка из п.2>" solutionType="Work"
url="<Адрес репозитория gitHub учетной записи пользователя из п. 1>" />
</block>
B. Подключение на базовый слой.
Вариант не рекомендуется, так как при выходе версии шаблона разработки не гарантируется обратная совместимость.
- Склонировать репозиторий IncommingLetterPrintable в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES">
<repository folderName="Base" solutionType="Base" url="" />
<repository folderName="<Папка из п.1>" solutionType="Base"
url="<Адрес репозитория gitHub>" />
<repository folderName="<Папка для рабочего слоя>" solutionType="Work"
url="https://customdevtfs.directum.ru/tfs/GovernmentDepartmentsRX/GovernmentStSol/_git/IncommingLetterPrintable" />
</block>
C. Копирование репозитория в систему контроля версий.
Рекомендуемый вариант для проектов внедрения.
- В системе контроля версий с поддержкой git создать новый репозиторий.
- Склонировать репозиторий IncommingLetterPrintable в папку с ключом
--mirror
. - Перейти в папку из п. 2.
- Импортировать клонированный репозиторий в систему контроля версий командой:
git push –mirror <Адрес репозитория из п. 1>