ChangedFileReport формирует и рассылает отчет ChangedFileReport.trdp по измененным документам в проектах.Для работы отчета и утилиты SQL-часть должна быть интегрирована в систему. (Набор скриптов ChangedFileReport.sql)
N дней;config.json, параметры SMTP - из mail.json.config.jsonРасполагается рядом с исполняемым файлом утилиты.
Пример актуального файла:
{
"WebUrl": "https://vitroappnew.cds.spb.ru",
"Login": "admin",
"Password": "********",
"LibraryName": "Файлы",
"ReportLibraryName": "Отчеты",
"DayCount": 1,
"IsOnlyRDStage": false,
"StatusIdList": [],
"ExtensionList": [],
"PublishFolderName": "Опубликовано",
"ReportItemId": "b46049b4-05dc-47fb-b6be-a4aa40c1e05f",
"ProjectListId": "d40525d0-da3f-43e0-98f9-eccf7177bdde",
"AddressField": "report_addressto",
"MailSubject": "Отчет по выпуску в производство работ",
"MailBody": "Сформирован отчет по выпуску в производство работ по проекту «{0}» от системы ViroCAD (СОД). {1}/site/{2}/list/{3}/item/{4}"
}
| Параметр | Пример | Описание |
|---|---|---|
WebUrl | https://vitroappnew.cds.spb.ru | URL Vitro MP, используется для API и ссылки в письме |
Login | admin | Логин технической учетной записи |
Password | ******** | Пароль технической учетной записи |
LibraryName | Файлы | Имя библиотеки с проектными файлами |
ReportLibraryName | Отчеты | Имя библиотеки, куда сохраняются сгенерированные отчеты |
DayCount | 1 | Глубина выборки в днях (изменения за последние N дней) |
IsOnlyRDStage | false | true - формировать только по документам стадии РД |
StatusIdList | [] | Список GUID статусов документов; пусто - без фильтра по статусу |
ExtensionList | [] | Список расширений без точки (["pdf","dwg"]); пусто - без фильтра |
PublishFolderName | Опубликовано | Имя папки, из которой собираются проекты |
ReportItemId | b46049b4-... | GUID шаблона отчета (TRDP/файл отчета в системе) |
ProjectListId | d40525d0-... | GUID списка проектов для определения адресатов |
AddressField | report_addressto | Internal name поля проекта с получателями рассылки |
MailSubject | Отчет по выпуску... | Тема письма |
MailBody | Отчет по {0} сформирован и сохранен в {1}/site/{2}/list/{3}/item/{4} | Тело письма с шаблоном подстановки |
MailBodyПодстановки выполняются в следующем порядке:
{0} - имя пространства, по которому сформирован отчет;{1} - WebUrl;{2} - идентификатор сайта;{3} - идентификатор библиотеки отчетов;{4} - идентификатор созданного элемента отчета.mail.jsonИспользуется для SMTP-настроек отправки писем.
Пример:
{
"Host": "smtp.example.com",
"Port": 25,
"Login": "smtp_user",
"Password": "********",
"FromAddress": "noreply@example.com",
"FromName": "Vitro",
"EnableSsl": false,
"UseDefaultCredentials": false
}
| Параметр | Описание |
|---|---|
Host | SMTP-сервер |
Port | SMTP-порт (если 0, используется по умолчанию) |
Login / Password | Учетные данные SMTP (опционально) |
FromAddress | Email отправителя |
FromName | Отображаемое имя отправителя |
EnableSsl | Использовать SSL/TLS |
UseDefaultCredentials | Использовать системные credentials |
config.json и mail.json.WebUrl/Login/Password.LibraryName и ReportLibraryName.PublishFolderName.DayCount (с учетом StatusIdList и ExtensionList).ReportItemId.ReportLibraryName.ProjectListId и поля AddressField.MailSubject, текстом MailBody и вложением отчета.WebUrl/Login/Password - ошибки авторизации и доступа к API.LibraryName/ReportLibraryName/PublishFolderName - сайт пропускается, отчет не формируется.ReportItemId - не загружается шаблон отчета.ProjectListId или AddressField - не определяются адресаты рассылки.mail.json) - отчет сохраняется, но письмо не отправляется.DayCount = 1. Для ежемесячной DayCount = 30ExtensionList указывать расширения без точки (pdf, dwg).StatusIdListDayCount (cron - Linux, планировщик задач - Windows)