Диплом: Автоматизация приема платежей в базе конфигурации "1С: Предприятия 8.3" в ООО "Мастер Плюс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
65
форма ввода пароля и предложит пользователю ввести пароль для каждого
контейнера закрытого ключа, после чего начинается загрузка документов
фоновым процессом. По завершению загрузки пользователь переходит во
вкладку "Загруженные документы" и проводит анализ загруженных документов
на предмет ошибок (Рисунок 23).
Рисунок 23. Форма загруженных документов.
В данном списке система выделяет красным цветом документы, которые
не удалось провести по причине, которая указывается в нижней части формы
при выделении документа.
В среднем за одну итерацию загружается около пяти документов по
каждому счету, поэтому сам анализ не занимает много времени. Разобрав весь
алгоритм действий по шагам вместе с пользователем, было рассчитано среднее
время, которое затрачивает сотрудник на каждый этап.
На открытие формы загрузки, выбор банковских счетов, у которых
настроен прямой обмен, и нажатие кнопки загрузки пользователь затрачивает
приблизительно одну минуту.
66
Сам процесс загрузки по всем банковским счетам зависит от объема
загружаемых данных и занимает в среднем десять минут.
Анализ загруженных документов занимает в среднем одну минуту на
один проблемный документ. Разновидностей ошибок, из-за которых документы
не проводятся – единицы. В большинстве случаев итераций ошибки не
возникают. Большую часть ошибок занимают загружаемые документы с
отличными реквизитами контрагентов от тех, которые заведены в базе. Реже
встречаются документы, которые подвязываются на ошибочные документы
заказов. На решение таких ошибок у пользователя уходят несколько минут на
один документ.
С технической стороны загружается всего один XML-файл, содержащий
в себе всю загружаемую информацию. Так как компания работает не только с
отечественными клиентами, но и с регионом Казахстан, у которых номер
расчетного счета начинается с символов "KZ", выгрузка перестает работать из-
за несоответствия значения номера счета и паттерна в шаблоне схемы XML
(Рисунок 24).
Паттерн – это шаблон, правила структуры типа реквизита. Само слово
паттерн (pattern) заимствовано из английского языка и принимает значения
"образец, шаблон".
Рисунок 24. Паттерн номера счета в схеме XML.
Если структура значения определенного реквизита отличается от его
паттерна, возникает ошибка при работе с XML-файлом. Паттерн на рисунке 24
означает, что реквизит должен содержать символы от нуля до девяти в
количестве до двадцати символов.
Для сотрудника данная ошибка означает, что ему необходимо
выполнить загрузку документов вручную, на что уходит довольно много
67
времени, так как ему необходимо зайти на сайт банка, авторизоваться,
сформировать выписку по данной операции, выгрузить полученный результат и
вручную загрузить в информационную базу "1С". К решению данной проблемы
вернемся позже.
Планируемый алгоритм решения задачи следующий. Будет запускаться
отдельный сеанс программы "1С" на сервере, при открытии которого будет
выполняться загрузка банковских документов. Если во время загрузки
произойдут ошибки по одной из организаций, система должна отправлять
письмо на электронную почту пользователю. После успешной загрузки сеанс
завершается. Данная итерация должна происходить не более чем через один
час, желательно каждые полчаса.
Для начала создадим нового пользователя в режиме Конфигуратор, из-
под которого будет автоматически запускаться сеанс "1С". Назовем
пользователя "_1С_Загрузка_Выписки". Предоставим пользователю все
необходимые права к системе с помощью присвоения ему одноименных ролей
на вкладке "Прочие". Аутентификация данного пользователя будет
выполняться исключительно по пользователю операционной системе, чтобы
предотвратить любую работу под данным пользователем (Рисунок 25).
Рисунок 25. Создание и настройка пользователя.
68
Запуск сеанса "1С" будет выполняться средствами стандартными
операционной системы сервера с помощью "Планировщика заданий".
"Планировщик задач Windows" – это широко известный служебный
инструмент пользовательского интерфейса для автоматизации повторяющихся
задач.
В "Модуле приложения" реализуем запуск механизма загрузки путем
проверки пользователя при начале работы системы "1С". Для этого добавим в
процедуру "ПриНачалеРаботыСистемы()" следующий алгоритм (Рисунок 26):
- условие на проверку текущего пользователя при запуске;
- открытие формы загрузки;
- установка признака использования на всех настроенных банковских
счетах;
- запуск команды загрузки;
- обработчик ожидания завершения.
Обработчик ожидания – это механизм, который используется на стороне
клиентского приложения. Его задача – запустить процесс, который выполнит
определённые действия однократно или через заданный интервал времени.
Вызов обработчика ожидания продолжается до тех пор, пока пользовательская
форма не будет закрыта или пока не будет вызвана процедура
"ОтключитьОбработчикОжидания".
Рисунок 26. Модуль приложения - Процедура
ПриНачалеРаботыСистемы
69
Метод проверки текущего пользователя будет находиться в общем
модуле "ОбменСБанкамиСлужебныйВызовСервера", так как в модуле
приложения подобные методы не выполняются. Добавим в данный модуль
экспортную процедуру "ЗагрузкаДоступна_()" (Рисунок 27).
Рисунок 27. Часть модуля
ОбменСБанкамиСлужебныйВызовСервера.
Экспортные процедуры и функции доступны не только из модуля
данного объекта, но и других программных модулей.
Обработчик ожидания используем для проверки факта завершения
фонового задания и запуска следующего действия по завершению. По
окончанию фонового задания загрузки документов запускается проверка
возникновения ошибок по всем банковским счетам, которые участвуют в
загрузке.
Если при загрузке документов произошла какая-либо ошибка – будет
сформировано и отправлено письмо на электронную почту сотруднику. В
письме будут указаны организации и номера счетов, по которым возникла
ошибка загрузки. После этого выполнится завершение сеанса "1С". Реализуем
данный механизм в модуле приложения, создав новые процедуры
"ppv_ПроверитьГотовность" и “ppv_ЗавершениеРаботыПользователя” (Рисунок
28).
70
Рисунок 28. Процедуры обработчика ожидания и завершения
сеанса.
В случае программной передачи параметров, необходимых для запуска
механизма загрузки, пароль от контейнера закрытого ключа необходимо
передавать без участия пользователя. Исходя из этого, необходимо пароль
хранить в базе в зашифрованном виде. Для удобства будем хранить его вместе с
остальными настройками прямого обмена. Все эти настройки обмена с банком
хранятся в Регистре сведений "ПараметрыОбменСБанками".
71
Добавим в этот регистр ресурсы, которые необходимы для механизма
(Таблица 4).
Таблица 4
Таблица новых ресурсов
Свойства
тип – строка, длина 15
режим пароля - истина
тип - булево
тип - дата и время
тип - дата
тип – строка
неограниченная длина – истина
Получившаяся структура регистра представлена на рисунке 29:
Рисунок 29. Структура регистра сведений
"ПараметрыОбменСБанками".
Выведем добавленные ресурсы на основную форму регистра, чтобы
пользователь их видел и смог заполнить (Рисунок 30).
72
Рисунок 30. Основная форма параметров обмена.
Следующим шагом будет реализация механизма получения пароля из
данного регистра. Обработка пароля в типовом варианте производится в
процедуре "ОбработатьПароль", которая находится в общем модуле
"ЭлектроннаяПодписьСлужебныйКлиент". Добавим в эту процедуру механизм
получения пароля из регистра сведений и расположим его сразу после
программного получения пароля, перед проверкой необходимости вызова
формы ручного ввода пароля (Рисунок 31.1). Данная процедура выполняется на
клиентской части, поэтому запрос необходимо разместить в отдельной
функции, которая будет выполняться на стороне сервера (Рисунок 317.2).
73
Рисунок 31.1 Механизм получения пароля из регистра.
Рисунок 31.2. Функция с запросом для получения пароля из
регистра.
После передачи параметров выполняется проверка пароля средствами
криптопровайдера и выполняется процедура загрузки из формы
"ЗагрузкаВыписки" в случае правильного пароля.
Для исправления ошибки с паттерном, необходимо в дереве объектов
конфигурации открыть XDTO-пакеты и найти пакет с названием
"ClientBankExchange". В этом пакете описаны типы значений и их паттерны.
Находим в пакете тип значения "НомерСчетаТип", у данного типа содержится
объект с наименованием "[0-9]{20}". Этот паттерн необходимо удалить для
корректной работы обмена (Рисунок 32).
Для улучшения системы "1С" не только в нашей конфигурации, мы
написали письмо с описанием проблемы и ее решением в техническую
поддержку "1С" для устранения данной ошибки глобально, так как существуют
много компаний, которые встречаются с подобной проблемой.
74
Рисунок 32. XDTO-пакет с паттерном.
Для настройки запуска сеанса "1С" по расписанию, перейдем к
настройке сервера, а именно к планировщику заданий.
Планировщик заданий обеспечивает выполнение заранее
подготовленных задач в определенное время, или при возникновении
определенных событий, однократно или с периодичностью, в контексте
системных или пользовательских учетных записей. Выполнение настроенных
заданий по расписанию обеспечивается одноименной службой. Эта служба
выполняется под локальной системной учетной записью, но позволяет
настраивать задания для выполнения под учетными записями определенных
пользователей операционной системы, указав при создании задания имя
пользователя и пароль необходимой учетной записи.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)