Скрипт добавляет кнопку на страницу для пакетного направления ответов об отсутствии задолженности. Перед использованием необходимо отфильтровать задолженности по статусу “ответ не направлен”. Ответы будут направлены на все запросы на странице при нажатии соответствующей кнопки. Можно выбрать пагинацию по 100 запросов, это максимально возможное на данный момент значение в ГИСе. При желании, вы можете открыть 10 вкладок и запустить скрипт на каждой из них, предварительно перейдя на соответствующую вкладке позицию пагинации. В этом случае рекомендую увеличить задержку между запросами с 500 до 1000. Таким образом можно будет отправить ответы на 1000 запросов за интерацию действий.
// ==UserScript== // @name Ответы на задолженности // @namespace http://tampermonkey.net/ // @version 0.1 // @description Скрипт добавляет кнопку на страницу для пакетного направления ответов об отсутствии задолженности. Перед использованием необходимо отфильтровать задолженности по статусу "ответ не направлен". Ответы будут направлены на все запросы на странице при нажатии соответствующей кнопки. Можно выбрать пагинацию по 100 запросов, это максимально возможное на данный момент значение в ГИСе. При желании, вы можете открыть 10 вкладок и запустить скрипт на каждой из них, предварительно перейдя на соответствующую вкладке позицию пагинации. В этом случае рекомендую увеличить задержку между запросами с 500 до 1000. Таким образом можно будет отправить ответы на 1000 запросов за интерацию действий. // @author besfamilnij // @match https://my.dom.gosuslugi.ru/* // @require https://code.jquery.com/jquery-3.7.1.min.js // @icon https://www.google.com/s2/favicons?domain=dom.gosuslugi.ru // @grant none // ==/UserScript== window.addEventListener('load',() => { setTimeout(function(){ addBlockAndButton(); }, 2500); }); window.addEventListener('hashchange',() =>{ addBlockAndButton(); }); function addBlockAndButton(){ if(window.location.href == 'https://my.dom.gosuslugi.ru/organization-cabinet/#!/debts/received-requests'){ $('body > div.page-wrapper > div.app-content-wrapper > div > div > div:nth-child(2) > div.section-base__header').append('<div class="row" style="margin: 35px 0px;padding: 15px 5px;background:#fffaf0;"><div class="col-xs-6"><span style="margin-right: 35px;">Блок и кнопка добавлены скриптом Tampermonkey. Перед использованием кнопки, отфильтруйте запросы без ответов. Ответы будут направлены на все запросы из списка ниже.</span></div><div class="col-xs-6"><button type="button" id="nodebtallcustom" class="btn btn-action ng-scope">Направить на все запросы на странице ответы об отсутствии задолженности</button></div></div>'); } } $(document).on('click', 'button#nodebtallcustom', function(){ let links = $('a.register-card__header-title[ui-sref="debtreq-view-received({ guid: request.id })"]'); for(let i = 0; i < links.length;i++){ let url = links[i].href; let guid = url.split('/'); guid = guid.pop(); setTimeout(function(){ let req = new XMLHttpRequest(); let reqsend = {"debtSubReqId":guid,"version":0,"debtPresent":false}; reqsend = JSON.stringify(reqsend); req.open("PUT", "https://my.dom.gosuslugi.ru/debtreq/api/rest/services/debtreq/sub/", true); req.setRequestHeader('Content-Type', 'application/json;charset=utf-8'); req.setRequestHeader('Accept', 'application/json; charset=utf-8'); req.addEventListener("load", function(i) { let request = new XMLHttpRequest(); let requestsend = {"debtSubReqId":guid,"version":1}; requestsend = JSON.stringify(requestsend); let requesturl = 'https://my.dom.gosuslugi.ru/debtreq/api/rest/services/debtreq/sub/' + guid + '/send'; request.open("POST", requesturl, true); request.setRequestHeader('Content-Type', 'application/json;charset=utf-8'); request.setRequestHeader('Accept', 'application/json; charset=utf-8'); request.send(requestsend); }, false); req.send(reqsend); }, i * 500); } });
4 комментария. Оставить новый
Кнопка появляется, но при нажатии ничего не происходит
Индикации прогресса направления ответов не предусмотрена, просто попробуйте найти те же запросы, которые ранее отфильтровали для направления ответов и проверьте их статус.
проверил, статус не изменился, после нажатия кнопки прошло 10 минут, сравнил реестры выгрузки сделанные до и после нажатия кнопки – все то же количество и все те же номера запросов.
Внимательно почитайте описание использования и на реестры не стоит надеяться, они могут кэшироваться. Отфильтровали запросы без ответов, запустили скрипт с кнопки. Буквально вчера направлял ответы на несколько запросов этим скриптом, поэтому разбирайтесь что делаете не так.