Блин, мы забыли включить регламентные задания…

08.04.19

Разработка - Инструментарий разработчика

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Контроль списка баз
.cf 106,80Kb
24
24 Скачать (1 SM) Купить за 1 850 руб.

Всего в проверке пока 6 видов самых распространенных ошибок:

1. Отсутствует база СУБД. 
Эта ошибка происходит когда администратор, ответственный за SQL, удаляет (перемещает) базу СУБД, а его коллеги из 1С забывают удалить (изменить пути) на сервере 1С.

2. Заблокирован вход в рабочую базу.
Это маловероятно, но  все же возможно: разработчики обновляют базу, ставят блокировку и забывают отключить.

3. Выключены регламентные задания в рабочей базе.
Иногда при обновлении разработчики блокируют регламентные задания в базе и забывают их включить. Пользователи начинают жаловаться что что-то не так… Знакомо?

4. В тестовых или архивных базах включены регламентные задания.
Иногда разработчики забывают проверять в коде рабочая это база или копия. Программа начинает отправлять оповещения из копии или посылать в другие системы тестовые данные. Чтобы этого избежать, мы блокируем регламентные задания для тестовых и архивных баз.

5. Вход в базу заблокирован продолжительное время.
Если база долго не используется, не пора ли ее удалить?

6. Не заполнено описание базы.
Меня очень напрягает когда создают базы без описания. Нужно восстановить архив для бухгалтера на пару дней и потом база так и останется в списке. Для этого пишем что за база, для кого она и когда удалить. Эта проверка пока лишь проверяет наличие описания. Но в планах сделать шаблон и проверку regexp’ом.

Всю информацию об ошибках программа отправляет на почту техподдержки, создавая тикет в системе и своевременно предупреждая о проблеме.

Текст сообщения примерно следующий:

У следующих баз вход заблокирован 30 дней:

- Сервер 1С: xxx, база 1С: xxx@xxx
- Сервер 1С: yyy, база 1С: yyy@yyy
- Сервер 1С: zzz, база 1С: zzz@zzz

Итоги

У меня получилось снизить человеческий фактор и системно следить за определенным перечнем ошибок. Планирую и дальше развивать эту тему. Следите за обновлениями.

Если кто-нибудь сделает код-ревью - буду признателен)

P.S. в 8.3.14 сделали встроенные методы работы с кластером, но у нас пока 8.3.13. Подробнее здесь.

P.P.S. конфигурация на Github. Вот ссылка

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    148449    819    393    

828

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    13462    34    7    

67

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    19136    55    42    

102

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

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

300000 руб.

03.03.2021    13969    12    27    

36

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    8624    29    10    

53

Инструментарий разработчика Чистка данных Свертка базы DevOps и автоматизация разработки Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях. Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

6900 руб.

20.08.2024    2512    12    4    

22

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    184308    1119    0    

892

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16486    5    26    

41
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ellavs 1042 09.04.19 09:37 Сейчас в теме
Спасибо. Добавлю в закладки, может пригодится.
2. пользователь 09.04.19 10:14
(0) Интересная реализация. А за репо на GitHub отдельное спасибо :)
5. slozhenikin_com 303 09.04.19 13:41 Сейчас в теме
(2) работал с версией EDT 1.10, если что. Другой импортнуть не получится.
YPermitin; +1 Ответить
8. пользователь 09.04.19 14:31
3. w.r. 650 09.04.19 12:10 Сейчас в теме
Автоматизировать организационный фактор...ну в принципе здравая идея, но не критичная. По поводу

3. Выключены регламентные задания в рабочей базе.
Иногда при обновлении разработчики блокируют регламентные задания в базе и забывают их включить. Пользователи начинают жаловаться что что-то не так… Знакомо?


Дополнительные процедуры обработки данных после обновления тогда не стартуют. Это должен быть очень невнимательный разработчик, чтобы это не заметить
4. slozhenikin_com 303 09.04.19 13:31 Сейчас в теме
(3) не совсем понятно: критично по отношению к чему?

Есть код разрешения и ключ UC, который позволяет запускать заблокированную базу.
6. triviumfan 94 09.04.19 13:41 Сейчас в теме
(3) Обновление не всегда затрагивает изменение версии конфигурации)
7. w.r. 650 09.04.19 13:45 Сейчас в теме
(6)

Тогда это не обновление, а просто внесение измнений в конфигурацию
9. leemuar 09.04.19 15:55 Сейчас в теме
Поздравляю, вы начали писать свою систему мониторинга :) Важный шаг! Следующим шагом для вас будет использование существующих систем, например Zabbix. А дальше - автоматизация релизов, чтобы исключить тот самый человеческий фактор "забыл снять галочку"

Старайтесь уходить от Com объектов - с ними много проблем, рано или поздно вы на них наткнетесь - начиная от медленной работы и заканчивая "повисанием" службы COM и труднодиагностируемыми ошибками COM. Для управления кластером сейчас для вас скорее всего будет предпочтительным использование ras/rac, особенно в перспективе автоматизации релизов

Спасибо что поделились!
igee12; ser6702; +2 Ответить
10. slozhenikin_com 303 09.04.19 16:40 Сейчас в теме
(9) Zabbix есть, не поверите. Проблема что Zabbix заведуют злые админы и не дают возможности его юзать. Поэтому и использовал доступный мне инструментарий. Надеюсь, поможет тем у кого нет заббикса.

Поделитесь чем еще пользуетесь для мониторинга? Мы сейчас еще ELK разворачиваем. Как наберу информацию и статистику - напишу статью какие проблемы мы им решили.
14. leemuar 11.04.19 22:10 Сейчас в теме
(10) верю! Вредные сисадмины - частая проблема. Мы тоже писали свой инструмент мониторинга на 1С сначала. Можете поставить свой Zabbix, не влезая в админский. ELK - тоже хорошо. Главное - чтобы решал ваши проблемы, у каждого они специфические. одно дело мониторить одну базу, другое когда их у вас 30 по всему миру

У нас был Zabbix, Graylog, самописный инструмент на 1С, автозадачи Ивана Белокаменцева - каждый решает свои задачи т.к. мониторинг - понятие многоуровневое
17. DonAlPatino 178 14.04.19 11:47 Сейчас в теме
(10)(14) Коллеги. Расскажите, пожалуйста, что и как из 1С вы в zabbix мониторите? Мы же не про память, процы, диски и все с этим связанное, которое стандартным zabbix-агентом мониториться?
ну например как те же регламентные задания отслеживать? rac же (вроде) это не умеет?
19. leemuar 15.04.19 10:20 Сейчас в теме
(17) Привет, Слава! Подходит любая система мониторинга, способная выполнить произвольную shell-команду и выдать алерт, если результат расходится с эталонным.

ras/rac умеет! Это по сути инструменты для программной работы со всей консолью кластера, все что можно сделать в консоли кластера - можно делать и через ras/rac в скриптах.

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

П.С. Кроме ras/rac с кластером программно можно работать еще через COM-объект. Это медленнее, работает только на винде (ras/rac для сравнения кроссплатформенны), но работает для старых версий платформ 1С.
18. ser6702 171 14.04.19 12:22 Сейчас в теме
(10) зачем его юзать, если можно тогда злым админам написать заявку на требуемый функционал и не изобретать велосипед? Вт там где его нет в ооо рога или копыта, где админ 1с удаленно приходящий наверное имеет смысл
11. Dragonim 140 11.04.19 08:51 Сейчас в теме
Как костыль или монитор разработка хороша, но надо что-то делать в бизнес-процессами, иначе скоро совсем фигово будет.
13. slozhenikin_com 303 11.04.19 19:30 Сейчас в теме
(11) как бизнес-процесс может исключить человеческий фактор в данном случае?
15. Dragonim 140 12.04.19 06:55 Сейчас в теме
(13) Одна из задач бизнес-процесса, это исключить или минимизировать человеческий фактор.

Например вы пишете:
Это маловероятно, но все же возможно: разработчики обновляют базу, ставят блокировку и забывают отключить.

Можно поменять бизнес-процесс автоматизировав процесс блокировки базы. Например используя программу в которой разработчик указывает базу, программа мягко всех выгоняет из базы, завершает все подвисшие соединения, устанавливает блокировку регламентных заданий, устанавливает блокировку на вход, ещё что-нибудь делает, и сообщает разработчику что можно спокойно обновлять. После обновления разработчик говорит программе "я закончил" и программа включает всё обратно, и рассылает пользователем письмо в котором говорится, что можно начать работать, были сделаны следующие изменения, о найденных ошибках пишите сюда.

Это только один из примеров который мне пришёл на ум. Не утверждаю что это ваш случай, но практика показывает, что если начинают создаваться внешние программы для отслеживания обыденных операций, потому что кто-то что-то мог забыть, значит есть проблемы в каких-то бизнес-процессах, и эти проблемы надо начинать решать, иначе количество отслеживаемого со стороны будет только возрастать и ни к чему хорошему это не приведёт.
16. slozhenikin_com 303 12.04.19 08:24 Сейчас в теме
(15) да, с точки зрения процессов идеально CI.
У нас пока автоматизировано обновление из хранилища по утрам и не требует особого внимания разработчика. Но полностью исключить человеческий фактор на хотфиксах пока не удается.
Ваши идеи правильные, надо поразмышлять об этом.
12. PLAstic 296 11.04.19 09:09 Сейчас в теме
Поставил плюсик только за название. Пока не читал.
корум; slozhenikin_com; +2 1 Ответить
20. sdf1979 205 15.04.19 11:42 Сейчас в теме
Обратите внимание на конфигурацию "Центр Контроля Качества" из "Корпоративный Инструментальный Пакет". В этой конфигурации есть и контроль блокировок регламентных заданий и блокировка начала сеансов и много что другого.
21. slozhenikin_com 303 15.04.19 14:47 Сейчас в теме
(20)
Обратите внимание на конфигурацию "Центр Контроля Качества" из "Корпоративный Инструментальный Пакет". В этой конфигурации есть и контроль блокировок регламентных заданий и блокировка начала сеансов и много что другого.


У этой конфигурации есть один фатальный недостаток:)
22. sdf1979 205 15.04.19 15:08 Сейчас в теме
(21)
Из данной ссылки не понятно, какой же фатальный недостаток?
23. acanta 15.04.19 15:11 Сейчас в теме
24. slozhenikin_com 303 15.04.19 15:12 Сейчас в теме
(22)
Из данной ссылки не понятно, какой же фатальный недостаток?


"But another group discovered a fatal flaw in DDE: they didn't write it!"
В вольном переводе:
"..другая группа нашла в механизме DDE фатальный недостаток: его написали не они..."
25. sdf1979 205 15.04.19 15:20 Сейчас в теме
(24)
Мы много используем того, чего сами не писали... Странно считать это фатальным недостатком.
26. acanta 15.04.19 15:42 Сейчас в теме
(25) это зависит от формулировки в лицензии. Если она формулировка запрещает использование и доказать отсутствие копипаста нет возможности из за единой среды программирования, то проще изобрести другую среду или платформу и написать то же самое по другому ,чем доказать правомерность использования чужого кода.
Фишка вендорлокед.
27. slozhenikin_com 303 16.04.19 10:00 Сейчас в теме
(25) Да ну шутка же! Не будьте так серьезны)
28. DonAlPatino 178 17.04.19 11:13 Сейчас в теме
А можно нубский вопрос? ,т.к. под т.к. под это дело решил попробовать и скачал EDT. И при попытке обновить базу получил "Не найдено подходящих версий платформы для маски версии "8.3.11".
У меня 8.3.12. надо 11-ую ставить? Ибо в режиме совместимости вижу только "Версия 8.3.11 (актуальный)"
29. DonAlPatino 178 18.04.19 11:38 Сейчас в теме
(28) Поставил 11 платформу. Получил "Ошибка аутентификации информационной базы. Попробуйте настроить доступ к информационной базе." При том, что база создавалась средствами самого EDT и естественно пустая... В общем не судьба какая-то...
30. Nelli_A86 27.06.19 14:49 Сейчас в теме
(29)Понимаю, что через пару месяцев ответ уже не очень актуален :) но может кому-то пригодится мой опыт. Первая проблема решается определением версии совместимости, которая указана в конфе (при создании пустой ставит что-то по умолчанию, можно посмотреть в конфигураторе и выбрать при импорте). Вторая - по умолчанию в настройках стоит идентификация ОС, нужно выбрать идентификацию средствами самой базы, у меня заработало (база была непустая, выбрала пользователя с полными правами)
31. DonAlPatino 178 27.06.19 15:36 Сейчас в теме
(30) Ну почему? Но создание пользователя в базе мне тоже не помогло :-( При этом 1c-parsing-tech-log с git'а я без проблем развернул... dt'ником поделитесь - может после загрузки базы я ее все-таки смогу к EDT прицепить?
32. Nelli_A86 27.06.19 16:41 Сейчас в теме
(31)у меня типовая БП 3 база, без доработок. Можете на демке попробовать, должно так же работать.
Проект наконец-то загрузился, теперь не хочет в режиме 1С его запускать( Буду воевать дальше...
33. DonAlPatino 178 27.06.19 16:53 Сейчас в теме
(32)Взял 3_0_29_8. EDT смогло подключиться но свалилось с
Операция конфигурирования завершена неуспешно

Журнал процесса выполнения:
Конфигурация содержит объекты метаданных, длина имен которых превышает 80 символов!
Возможны проблемы при выгрузке конфигурации и переносе ее на другие файловые системы.

Поставил "загрузить конфигурацию полностью"... получил
Операция конфигурирования завершена неуспешно

Журнал процесса выполнения:
Обработка структуры базы данных...

Дурдом...
34. DonAlPatino 178 28.06.19 10:31 Сейчас в теме
(32) В общем результат на утро - конфигурацию EDT в базу с бухлом 3_0_29_8 загрузил, а вот применить не смог. Я оттуда конфигурацию забрал, на чистую базу накатил - работает. НО! Уже к базе с развернутой рабочей конфигурацией EDT прицепить так и не смог. Шайтан какой-то... Охоту работать с EDT в очередной раз отбило напрочь.
35. Nelli_A86 28.06.19 10:33 Сейчас в теме
(34)та же проблема: база не запускается, ругается, на ошибку соединения с информационной базой... Прошлый релиз гораздо стабильнее был((
36. user1002203 28.08.19 09:55 Сейчас в теме
(35) Если вопрос ещё актуален, 1С написали решение этой проблемы:

1)Откройте файл 1cedt.ini в текстовом редакторе.
2)Замените стандартное значение параметра Xmx ( -Xmx4096m) на -Xmx8g.
Этот параметр устанавливает максимальный размер кучи (количество оперативной памяти, выделяемой виртуальной машине Java). Стандартно виртуальной машине выделяется не более 4096 Мб памяти. Разрешите ей использовать, например, 8 Гб ( -Xmx8g).
3)Измените расположение временного каталога. Для этого в строке, следующей за параметром Xmx, напишите, например:
-Djava.io.tmpdir=C:\tmp
где вместо C:\tmp укажите каталог временных файлов, который вы хотите использовать.

Большие типовые конфигурации могут содержать объекты с длинными именами. Для загрузки в EDT конфигурация сначала выгружается из информационной базы во временный каталог в иерархию папок. Эта иерархия повторяет структуру конфигурации. В результате полный путь к какому-нибудь XML-файлу конфигурации может превысить ограничения, накладываемые операционной системой, и импорт конфигурации закончится ошибкой. Чтобы избежать этого, поместите временный каталог, который EDT использует для импорта и экспорта файлов конфигурации, как можно ближе к корню диска.
4)Сохраните и закройте файл 1cedt.ini.

https://its.1c.ru/db/edtdoc#content:10011:hdoc@387427bc
slozhenikin_com; +1 Ответить
37. emvasin 24.01.20 16:45 Сейчас в теме
пытаюсь залить конфу на 8-3-11 пишет что нужна минимум 8-3-13. Что делать?
Оставьте свое сообщение