Создать сценарий:
// Загрузить описание поиска и получить список критериев.
SearchFactory = Application.SearchFactory
SearchDesciption = SearchFactory.Load('EDOCUMENT_SEARCH')
Criteria = SearchDesciption.SearchCriteria
// Отобрать документы, автором которых является текущий пользователь.
AuthorCriterion = Criteria.Add('ISBEDocAuthor')
UserName = Application.Connection.UserName
AuthorCriterion.Add(ServiceFactory.GetUserByName(UserName).Code)
// Отобрать документы, созданные за последнюю неделю.
CreatedCriterion = Criteria.Add('ISBEDocCreateDate')
CreatedCriterion.AddRange(Today() - 7; Today())
// Получить данные, найденные поиском.
FindDocs = SearchDesciption.Execute()
// Заполнить массив, состоящий из ИД найденных документов.
DocsId = ArrayOf()
i = 0
foreach Doc in FindDocs
DocsId = AddElementToArray(DocsId; Doc.ID)
i = i + 1
endforeach
// Вернуть массив с ИД документов.
Result = DocsId
Обработать полученные от сценария данные:
WebAccess.services.script.run("NewReferenceRecord",{})
.success(function (result) {
// Проверить полученные из сценария данные.
if (typeof result === 'undefind' || result.Count === 0) {
// Если за последнюю неделю не было измененных документов,
// вывести сообщение, что документы не найдены.
var toast = new WA.CMP.NTF.Toast()
toast.showMessage("Документы не найдены.");
} else {
// Сгенерировать форму с найденными документами и показать ее в диалоге.
var CP = WA.CMP;
var form = new CP.forms.FormBuilder("last_edit_edoc");
var docObjectLinks = [];
// Для каждого найденного значения сформировать ссылку на документ.
result.forEach(function (item) {
docObjectLinks.push({ "ID": item, "Kind": OBJECT_TYPE.EDOCUMENT });
});
form.addObjectList("Docs", OBJECT_TYPE.EDOCUMENT, docObjectLinks, true);
var dialog = new CP.dialogs.BaseDialog();
dialog.title = L("LAST_OPENED_DOCS");
dialog.html = form.render();
dialog.isShowCancelButton = true;
dialog.show();
};
})
.fail(function (res) {
console.log('FAIL');
})
© Компания DIRECTUM, 2018 | Сообщество пользователей DIRECTUM |