Котов Дмитрий | Программист-разработчик | ООО "Саянскгазобетон"

«Автоматизация обработки потока документов, на примере разработки "Терминала путевых листов" для диспетчерской службы»

Пример возможности разработки полностью автоматизированного места для получения, обработки и возврата документов через терминал на платформе 1С:Предприятие 8.3, без участия оператора. В примере демонстрирую возможность реализации "Терминала путевых листов" в диспетчерской службе компании ООО "Саянскгазобетон". Основное направление компании - производство автоклавного газобетона. Диспетчерская служба не имеет возможности круглосуточной работы, в связи с чем сложилась проблема в своевременным возврате путевых листов от водителей. «Терминал путевых листов», продемонстрированный в докладе, позволяет решит данную проблему путем создания интерфейса прямого доступа в информационную систему с помощью нового режима запуска 1С – "Киоск". Водитель самостоятельно получает и возвращает путевой лист в прикладном решении 1С: Управление автотранспортом 2.1.

Magic Updater. Система администрирования распределенной сети 1С:РИБ

Администрирование - Распределенная БД (УРИБ, УРБД)

Обновления 1С стали для Вас адом? Каждодневная "война" за получение данных из всех торговых точек? Обмены то проходят, то не проходят? Разрушилась база, а резервной копии нет и не было? Если у Вас тоже регулярно возникают данные вопросы - найдите пару минут прочитать статью ниже.

РИБ - не лучший, но, пожалуй, пока единственный способ более-менее системно поддерживать единую конфигурацию 1С по всей филиальной сети,
конечно, в случае, если филиальная сеть работает на 1С. Но жесткие требования к поддержанию единой конфигурации привносят и определенные проблемы.
Хотя, если их исключить, проблем будет ещё больше. Поэтому конечными узлами РИБ управлять централизованно крайне важно.

За годы своей работы я пробовал различные варианты:

1) Внести компьютеры в домен и использовать групповые политики.
Очень плохой вариант - репликация базы AD часто требует хорошего интернет-соединения, определенных ОС и их настроек на конечных рабочих станциях,
вызывает проблемы с централизованным администрированием большого количества учетных записей. Также требует наличие и поддержание VPN соединений на конечных точках.
Ни одного удачного решения подобного рода я лично не видел.

2) На каждом компьютере настроить расписание запуска регламентных операций
Неплохой в целом вариант. Но имеет ряд недостатков:
     - выполнилась операция или нет, мы никак не узнаем;
     - для того чтобы узнать, какие были ошибки, нужно удаленное подключение;
     - нельзя обновить информационную базу по желанию, даже если допустили ошибку, и нужно срочно;
     - обновление скриптов - дело сугубо ручное.

3) Запускать регламентные операции средствами самой 1С
Это, конечно, можно сделать, только вот обновлять 1С средствами самой 1С - это проблема, как минимум ввиду того, что в большинстве случаев требуется монопольный доступ к информационной базе.
Для этого часто используются специфичные решения вроде динамического формирования скриптов и их запуска. Такой подход вызывает регулярные проблемы:
    - часто защита Windows запрещает записывать запускаемые файлы;
    - передать логи обновления в центр тоже бывает проблематично;
    - обновление информационной базы "по желанию" возможно только с нормально работающими фоновыми заданиями в файловом варианте, а это, само по себе, редкость.

4) Использовать антивирус как средство удаленного администирирования
Этот вариант как минимум требует наличия продвинутого антивирусного ПО на конечных компьютерах, имеющего средство удаленного администрирования, а это уже не дешевое решение.
Кроме того, антивирусное ПО часто приносит больше проблем, чем решает. Но положительным моментом является как минимум тот факт, что в этом случае обновление можно выполнить по желанию.

5) Вообще запускать клиентов централизовано в единой БД илди посредством RDP.
Хороший вариант, более современный, несомненно более подходящий для внедрения... где-нибудь в странах Западной Европы.
В нашей необъятной стране, к сожалению, качество интернет-соединения часто оставляет желать лучшего. Даже в крупных городах, не говоря уже о небольших провинциях.
При этом работа ведётся с торговым оборудованием. До сих пор не вышел из употребления COM порт, для корректной работы которого требуется очень короткое время ping до сервера.

Подводя итог всему вышесказанному - нормального средства администрирования РИБ не существует.
Я бы даже сказал больше - нормального средства администрирования сети компьютеров под Windows, не объединенных в AD, мне тоже как-то не встречалось.
Кроме того, для 1С есть достаточно специфичные задачи, которые лучше решать спеицализированными средствами.

Отвечу сразу на вопрос, который хочется задать: "Почему не на 1С":

- Вы же любите "без изменения колнгфигурации" - единственный вариант.

- Большинство манипуляций с базами 1С выполняется монопольно.

- Не всё возможно сделать средствами платформы 1С.

Таким образом, было принято решение разработать систему администрирования 1С.
Система состоит из следующих компонент:

Magic Updater Agent

   Программа агент - устанавливается на конечные компьютеры. Опрашивает базу заданий и выполняет их.

Magic Updater Monitor

    Интерфейс управления агентами и получения информации о результатах выполнения заданий, а также монитор обменов и агентов.

Magic Updater Sheduler

    Служба управления запуском заданий по расписанию. Задания могут быть как для агентов на местах, так и выполняться самой службой в центре.

Принципиально архитектура выглядит следующим образом:

Подобная архитектура позволяет выполнять на рабочих станциях произвольные задания в произвольное время и получать результат выполнения.

Основные функциональные возможности Magic Updater:

1) Выполнение произвольных операций с 1С в узлах как по расписанию, так и принудительно.
   В настоящий момент времени поддерживаются следующие виды операций:
       - Динамическое обновление 1С
       - Не динамическое обновление 1С с завершением работы пользователей
       - Выполнение обмена данными по произвольной настройке
       - Резервная копия информационной базы
       - Перезагрузка сервера
       - Выполнение произвольной внешней обработки
       - Закачка произвольного файла
       - Закачка и выполнение произвольного файла

  Вообще, система поддерживает плагины - состав выполняемых операций может быть существенно расширен.

2) Получение состояния обмена с удаленными точками
3) Получение состояния интернет-соединения в удаленных точках
4) Сохранение статуса выполнения операций и логов 1С по результатам выполнения
5) Задание расписания выполнения операций как агентами, так и сервером Magic Updater


Для использования данного ПП необходимо:

1) Наличие сервера MS SQL Server (работает только с ним)
2) .NET Framework 3.5 (на некоторых старых системах её может не быть)
3) Наличие FTP сервера

Если дочитали до этих строк то, наверное, продукт интересен - далее несколько видео по функциональности:


Установка и настройка Magic Updater:

 

 

 

Основная функциональность Magic Updater:

 

 

 

Разработка Плагина Magic Updater:

 

На текущий момент времени у Magic Updater есть следующие плагины:

- BackupBaseSqlPlugin.dll - резервная копия SQL базы
- CacheClear1CPlugin.dll - Очистка КЭШ-а метаданных 1С
- DownloadAnyFilesPlugin.dll - Загрузка произвольного файла
- DynamicUpdate1CPlugin.dll - Динамическое обновление базы 1С (ориентировано на клиент-сервер)
- ExecAnySqlPlugin.dll - Выполнение произвольного SQL запроса
- ExecProcessing1CPlugin.dll - Выполнение внешней обработки 1С
- FileBackupBasePlugin.dll - Создание резервной копии файловой базы
- FileDynamicUpdate1CPlugin.dll - Динамической обновление файловой базы
- FileUpdate1CPlugin.dll - Обновление файловой базы
- ForceStaticUpdate1CPlugin.dll - Обновление базы с завершением сеансов (клиент-сервер)
- KillForceStaticUpdate1CPlugin.dll - Обновление базы с перезапуском сервера 1С (клиент-сервер)
- LockBackgroundJobsPlugin.dll - Блокировка фоновых заданий (клиент-сервер)
- OperationExchangeToCenterPlugin.dll - Обмен с центром
- RenameAnyFilePlugin.dll - Переименование произвольного файла
- RestartComputerPlugin.dll - Перезагрузка компьютера
- RestartServer1CPlugin.dll - Перезапуск сервера 1С

 

Пример использования для обновления большого количества узлов:


Чем же нам станет лучше после того, как мы его внедрим?

Мои лично ощущения следующие:

  • Не страшно ошибиться. Ошибки исправляются в считанные минуты даже на большой филиальной сети.
  • Доработки теперь делаются не "к следующему месяцу" и не "из-за этого не будем обновляться".
  • Инфраструктурные изменения также становятся не страшны для всей сети. 

Сейчас Magic Updater, конечно, умеет многое, но не всё, что хотелось бы.
В разработке следующие фичи:
    1) Изменения протокола обмена с сервером - для скорости и безопасности планируется TCP сервер
    2) Получение идентификатора конфигурации центра и узлов - для того чтобы автоматически определять обновленные и не обновленные узлы
    3) Получение информации о загруженности оборудования (диск/процессор/память)
    4) Взаимодействие службы с рабочим столом - отправка пользователю служебных сообщений, обратная связь.

Что же выложено в архиве ниже?

Скачиваются файлы - это демо версия системы Magic Updater, ограниченная на 10 узлов.

В рабочую версию они превращаются покупкой лицензий. Качаете, устанавливаете демо версию - если всё получается и нравится - покупаете лицензии.

Почему только только на 10 узлов?

А на 10 узлов ограничили, потому что в систему вложено достаточно много сил и времени, а после внедрения, как показывает практика, появляются запросы, что и как, и на некоторые дополнительные плагины, поэтому в открытый доступ вряд ли выложим.

Вопросы техподдержки и любые вопросы по системе всегда можно написать в личку или в телеграмм

По функциональности программы проконсультируем бесплатно, втечение первого месяца по крайней мере точно. Доработки (разработка плагинов), естественно будут стоить денег. Но если у Вас есть штатный разработчик который хоть пару раз в жизни видел C# или желает его узнать, то они не вызывают проблем.

Гарантия возврата денег

Гарантия возврата денег

ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом течение 14-ти дней со дня поступления денег на наш счет.

Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.

Для возврата оплаты просто свяжитесь с нами.



Новый вопрос

E-mail*
Тема (вопрос)*

См. также