Автоматизация подписывания документов ЭДО в 1С
2024-08-12
В ситуации, когда прием товара и оформление документов поступления осуществляется на магазине, а обработкой электронного документооборота(ЭДО) занимается центральный офис, то нередко возникают ситуации, когда нужно принять(утвердить и подписать) сразу множество документов от поставщиков.
Вот например за один день пришло 90 документов. Из-за небольшого штата сотрудников, сопоставлять внутреннюю номенклатуру и номенклатуру поставщиков, нет возможности, да и необходимости тоже особой нет.
Конечно 1С дает возможность массово утвердить, и подписать документы в ЭДО, но для этого каждому документу ЭДО должен соответствовать внутренний документ, а как я уже говорил, иногда нет потребности сопоставлять документы.
В случае когда документ ЭДО не сопоставлен ни с каким документом, 1С запускает помощника обработки документов. На самом деле это просто список документов, которые нельзя подписать автоматом, потому что нужно подтверждение пользователя, что документ от поставщика правильный.
Короче говоря, нужно открыть документ из списка, нажать кнопку "Утвердить и подписать", нажать кнопку подтверждения, что документ правильный и расхождений нет. В среднем подписание одного документа занимает 30 секунд(зависит от скорости открывания и закрывания окон), но это нужно сидеть и постоянно наблюдать как только открылось окно - нажать, только закрылось нажать другое, вобщем дело очень долгое и муторное. Поэтому подписать 90 документов за раз получится часа за 2, т.к. очень быстро устаешь от этого однообразия и бессмысленности. А если нужно подписать документы за 2 дня? или 3?
Я очень люблю всю такую однообразную работу перекладывать на роботов. Соответственно и для этого случая я написал простейший скрипт, который будет нажимать все кнопки за нас.
Для написания бота я пользуюсь программой UoPilot.
Скрипт очень простой, возможности этой программы гораздо больше, но пока они нам не нужны.
double_left 100,100 [abs] //Открываем документ из списка pause 3000 left 100,100 [abs] //Нажимаем утвердить и подписать pause 4000 left 100,100 [abs] //Нажимаем согласие pause 1000 left 100,100 [abs] //Иногда кнопка согласия выше pause 8000
Вот такой скрипт, вам нужно только поменять координаты на свои, для этого нужно выделить окно UoPilot, навести на нужное место и нажать Ctrl+A, после этого в окне UoPilot отобразятся координаты курсора, нам нужны вторые(абсолютные). Подставляем их в нужное место в скрипте.
Для отладки скрипта можно прописать в последнюю строчку end_script, тогда программа завершится после одного цикла. Когда все настроено правильно, то после запуска документы сами подпишутся.
Обратите внимание, что для того, чтобы работало так как я описал, нужно при первом подписании установить галочку - запомнить пароль электронной подписи и подгрузить все машиночитаемые доверенности(МЧД) и настроить проверку полномочий.