Всем привет!
Для начала, хотел бы предупредить, что хотя ниже и упоминается конкретно модуль Испытания, но этот "Лайфхак" пригодится в любом другом месте. Поэтому смело окунайтесь в пост.
WINNUM SDK предлагает довольно обширное количество различных методов для разработки приложений. Однако, я недавно натолкнулся на некоторую проблему. В модуле Winnum Испытания мне хотелось получить информацию по испытаниям и вообще пользоваться стандартными отчетами у себя. Испытания предлагают два варианта нахождения прошедших испытаний:
1. Отчет об испытаниях;
2. Отчет по оборудованию;
Второй вариант легко повторить у себя в приложении, для этого не обязательно получать весь отчет. В поле ввода вводится стенд, а так же время, по которому и производится поиск. Не очень трудно догадаться, что выполнив функцию getSignal и указав конкретный сигнал, а можно и сразу несколько - мы получим все данные по прошедшим испытаниям, и даже больше чем в отчете, если нам это надо.
Сложность возникает, когда мы смотрим на Отчет об испытаниях.
Отчет отрабатывает довольно быстро а данные из этой таблицы были бы очень полезны в моем приложении.
Я хотел найти путь, по которому смог бы что-то получить из этой таблицы, но решение оказалось простым и изящным.
Далее просто описываю путь, повторяйте за мной
Нажимаем F12
Переходим на вкладку Сеть
Далее (выражаясь общими словами) выполняем запрос:
Далее нажимаю два раза на запрос в WinnumAjaxAuthHandler и вижу:
т.е. если в браузере отправить такой запрос, то я сразу получу все данные для этой таблицы. И даже ссылки и картинки присутствуют в ответе.
Осталось дело за малым - научиться работать с Ajax:
Делаем кнопку и в нее - событие:
Запускаем, нажимаем:
Теперь у вас есть данные и вы можете соорудить таблицу, графики, мини-отчеты, использовать дальше для любых своих целей.
Hello World!:
- Сообщений не найдено.
Для начала, хотел бы предупредить, что хотя ниже и упоминается конкретно модуль Испытания, но этот "Лайфхак" пригодится в любом другом месте. Поэтому смело окунайтесь в пост.
WINNUM SDK предлагает довольно обширное количество различных методов для разработки приложений. Однако, я недавно натолкнулся на некоторую проблему. В модуле Winnum Испытания мне хотелось получить информацию по испытаниям и вообще пользоваться стандартными отчетами у себя. Испытания предлагают два варианта нахождения прошедших испытаний:
1. Отчет об испытаниях;
2. Отчет по оборудованию;
Второй вариант легко повторить у себя в приложении, для этого не обязательно получать весь отчет. В поле ввода вводится стенд, а так же время, по которому и производится поиск. Не очень трудно догадаться, что выполнив функцию getSignal и указав конкретный сигнал, а можно и сразу несколько - мы получим все данные по прошедшим испытаниям, и даже больше чем в отчете, если нам это надо.
Сложность возникает, когда мы смотрим на Отчет об испытаниях.
Отчет отрабатывает довольно быстро а данные из этой таблицы были бы очень полезны в моем приложении.

Я хотел найти путь, по которому смог бы что-то получить из этой таблицы, но решение оказалось простым и изящным.
Далее просто описываю путь, повторяйте за мной

Нажимаем F12
Переходим на вкладку Сеть
Далее (выражаясь общими словами) выполняем запрос:
Далее нажимаю два раза на запрос в WinnumAjaxAuthHandler и вижу:
т.е. если в браузере отправить такой запрос, то я сразу получу все данные для этой таблицы. И даже ссылки и картинки присутствуют в ответе.
Осталось дело за малым - научиться работать с Ajax:
Делаем кнопку и в нее - событие:
Код:
$('#FC204DC3-2522-438C-B523-09B4C85ABEBF').click(function(event){
const baseUrl = 'http://127.0.0.1/Winnum/servlets/WinnumAjaxAuthHandler';
const params = {
cmdclass: 'winnum.views.pages.app.tts.reports.TestingSearchHandler',
cmdmethod: 'performSearch',
appid: 'winnum.org.app.WNApplicationInstance:1',
callerId: 'refreshLoadingList',
barCode: '',
testingNumber: '',
year: '2025',
number: '',
mode: 'yes',
order: 'asc',
offset: '0',
limit: '100',
_: ''
};
const url = `${baseUrl}?${new URLSearchParams(params).toString()}`;
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json(); // или response.text() если данные не в JSON
})
.then(data => {
console.log('Полученные данные:', data);
// Здесь вы можете работать с полученными данными
})
.catch(error => {
console.error('Произошла ошибка:', error);
});
});Запускаем, нажимаем:
Теперь у вас есть данные и вы можете соорудить таблицу, графики, мини-отчеты, использовать дальше для любых своих целей.
Hello World!:
- Сообщений не найдено.

