Мой опыт аудита 1С баз

14.07.24

База данных - Администрирование СУБД

В статье описала свой опыт аудита 1С базы, порядок действий + статьи, которые сильно помогли в работе.

Аудит 1С - в это понятие сегодня можно много чего вложить. Как аудит бухгалтерского и налогового учета, так и аудит баз данных, железа, на котором расположены эти базы, доработок, кода и прочее.

Когда приходишь на новое рабочее место, программистом, бухгалтером, аналитиком, тимлидом - хочешь или нет, аудит будешь проводить. Хотя бы чтобы понять, что и в каком состоянии тебе досталось)

В статье хочу описать свой опыт проведения 1С аудита. Может, кому пригодится.

  1. Первичный осмотр
Платформа    
Конфигурация    
Количество пользователей    
Режим совместимости    
Архитектура клиент серверная/Файловая /SQL и кластер в одном месте или нет  
Тестовые базы/контуры Где находятся? Не мешают ли рабочим?  
Лицензии Проверяю утилитой ring  
Наличие бэкапов Наличие/Расположение/Периодичность  

Сравнение конфигурации БД с конфигурацией поставщика - если включена возможность редактирования.

Посмотреть - может все и не плохо вовсе)

Если возможность редактирования включена, проверяем измененные объекты - сразу понимая, что можем вынести в расширение - выносим все, что так или иначе будет мешать обновлению. Естественно, все неоднозначно и зависит от множества факторов, например:

  • Найдется код, который стоит оптимизировать и перенести в общие модули
  • Найдется код, который пора убрать, как архаизм
  • Найдется, то, что и оставить надо

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

  • какие расширения нужно объединить между собой,
  • из каких код и добавленные объекты надо перенести в основную конфигурацию,

Про расширения:

https://v8.1c.ru/platforma/rasshireniya/?

//infostart.ru/1c/articles/442003/?ysclid=lybk7ltj7c206357256#queue

Но это первичный осмотр, при котором просто намечаем некоторые шаги.

2. APDEX

При первичной настройке целей у меня две:

  1. Определить неиспользуемый код и отключить (архаизмы)

Во все дополнительные отчеты и обработки, а так же добавленные в конфигурацию обработки и отчеты добавляем код замеров (если конфигурация самописная, можно просто добавить в нее из БСП подсистему “Оценка производительности”)

Более подробно можно почитать на ИТС или тут:

//infostart.ru/1c/articles/1686856/?ysclid=lt9xm6hn19297174663

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

  1. Начать сбор статистики для последующей оптимизации

Тут надо добавлять замеры не “втупую” при открытии/формировании/нажатии кнопок, как делала в первом случае, а поумнее.

Как поступила я:

  • Поговорила с ключевыми пользователями, из разговора выделила “медленные” процессы
  • Составила список ключевых процессов, которые не нравятся пользователям.
  • На каждый процесс подвесила APDEX, на некоторые сделала ручной замер.

В моем аудите, одной, конкретно взятой базы я настроила APDEX:

  1. Доработанный (не типовой) механизм проведения РТиУ - в том числе и по самописным регистрам. Замеры ставила на запись движений в каждый регистр отдельно.
  2. Открытие/создание на сервере формы документа Заявка на оплату
  3. 4 отчета - на которые показали пользователи

Для начала, все, буду корректировать сбор данных по мере необходимости и понимания что еще нужно.

Вручную - замером производительности прошла по 2м документам:

  1. РТиУ - модуль объекта - обработки записи и проведения

  2. Заказ поставщику - обновление формы, реакции кнопок на определенные действия пользователя.

3. SonarQube - Использовала модуль BSL

При настройке использовала статью: //infostart.ru/1c/articles/1661973/#_Toc1

И очень благодарна ребятам в группе https://t.me/SonarQube_1C_APK

Так как у меня тестовый сервер не самый модный, тут пришлось подождать, но оно того стоило.

Хвастаться пока нечем. Но!

Можно оценить технический долг и начать планировать исправления. А это то, зачем Sonar при аудите базы. Тут, конечно, надо поразбираться и времени потратить достаточное количество, в Sonar очень удобно и гибко можно настраивать проверку. Я при первом приближении решила не акцентировать свое внимание на дефекты кода, такие как:

  • названиях не по стандартам 1С,
  • длины строк,
  • Модификатор Знач,
  • опечатки и пр.

Сконцентрировалась на разделе “Ошибки”

Проанализировала его и получила отличный объем работ.

4. 1С АПК

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

https://v8.1c.ru/tekhnologii/1s-avtomatizirovannaya-proverka-konfiguratsiy/

Это полностью 1Сная история, для разработчика 1С она понятнее, чем Sonar, но у этой конфигурации есть серьезное ограничение, проверяет она только файловые базы, то есть если говорим про большие базы, проверить их быстро не удастся. Если проверить все же хочется, есть время и желание, можно попробовать, ключевое слово ПОПРОБОВАТЬ поступить следующим образом:

  • Из cf создать новую файловую базу
  • Выделить для этой операции максимальное количество ресурсов (можно определить, проверив сначала типовую БУХ или ЗУП)
  • Попробовать запустить проверку

Я, в рамках эксперимента, выполняла и проверку Sonar, и проверку АПК - моя конфигурация прошла обе проверки, но проверку АПК раза с третьего, по причине нехватки ресурсов моей машины.

Результаты получились сопоставимыми лишь условно. В результате я решила опираться на результаты Sonar.

5. Аудит обменов опишу кратко:

  • Проверка наличия описания логики
  • При отсутствии описания, проверка логики работы + опрос пользователей
  • Проверка обменов на безопасность (например: бывает, программисты используют оператор: Выполнить() - не проверяя, что за база подключается, что выполняет - фактически в нее можно передать любой код)
  • План по оптимизации обменов (например: есть организации, в которых до сих пор обмен через файл - как со сторонними системами, так и обмен 1С-1С)
  • По необходимости: План по рефакторингу и переработки логики работы обмена
  • Переход на современные сервисы(web, http)

6. Выводы.

В процессе аудита:

  • Определен технический долг
  • Список процессов к оптимизации
  • Намечена работа по оптимизации разработки
  • Определен неиспользуемый код к отключению

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

Пока все!

Аудит проверка базы анализ кода APDEX

См. также

HighLoad оптимизация Администрирование СУБД Архивирование (backup) Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Бэкап в Postgres состоит из набора граблей, которые нужно обойти для успешного восстановления. Они заложены в самых неожиданных местах от предмета резервного копирования (база или кластер) до структуры каталогов. Один неверный шаг и восстановление будет невозможным. Почему нельзя было сделать проще, как в MS SQL или Oracle? Почему бэкап в Postgres оставляет впечатление чьей-то лабораторной работы? Статья адресована прежде всего специалистам 1С, избалованным комфортом в MS SQL, в суровых буднях импортозамещения на Postgres.

13.08.2024    2208    1CUnlimited    9    

4

Администрирование СУБД Платформа 1С v8.3 Россия Бесплатно (free)

Безопасное полное удаление пользователей из конфигураций 1С.

25.06.2024    1296    It-digit    7    

2

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

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

24.05.2024    2384    Kernelbug    9    

20

Администрирование СУБД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

При хранении файлов в томах на диске они иногда исчезают. Разбираемся, почему.

23.05.2024    8909    human_new    18    

56

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Краткое описание шагов по установке, настройке и применению инструмента 1С:Исполнитель на операционной системе РедОС, а также по борьбе с некоторыми возникающими ошибками.

06.05.2024    1072    artemusII    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. OlegAr 22 14.07.24 11:35 Сейчас в теме
а я не оцениваю созданное, а провожу аудит учета.
2. user612295_death4321 14.07.24 16:41 Сейчас в теме
В рамках 5-го пункта в условиях отсутствия информации отлично помогает еще:

1. Посмотреть логи веб-сервера с целью определить какие хосты в него ходят, какие эндпойнты дергают.
2. Посмотреть журнал регистрации на предмет обмена с помощью COM.
3. Собрать трассировки на уровне SQL, чтоб оценить кто ходит в базу мимо сервера приложений.
4. Хардкорный путь, но вполне себе имеет право на жизнь, это анализ сетевого трафика в сторону серверов приложений \ СУБД. Есть более сложный путь через Wireshark, есть лайтовый пособирать Get-NetTCPConnection и поработать с результатом.
5. Посмотреть опубликованные каталоги на сервере приложений, через аудит проанализировать, кто туда ходит.
Сисой; limonen; +2 Ответить
3. limonen 160 14.07.24 17:27 Сейчас в теме
(2) Да, спасибо, попробую. Рег. задания еще анализирую, много интересного нахожу)
4. Armando 1400 14.07.24 22:42 Сейчас в теме
Если речь идет об аудите информационной системы, то на мой взгляд упущены такие важные пункты как:
1. Процессы: управление разработкой, управление изменениями, управление обращениями, управление доступом и т.д.
2. Документация: технический паспорт на систему, инструкции, регламенты, спецификации... Их наличие, полнота и актуальность.
limonen; Torin; +2 Ответить
10. Сисой 87 16.07.24 12:34 Сейчас в теме
(4) технический паспорт на систему, инструкции, регламенты, спецификации - особенно весело, когда вообще ничего нет. И сведения о функциональности системы передаются, как Иллиада Гомера.
matvey_boom; dmitryada; +2 Ответить
5. nixel 1424 15.07.24 00:06 Сейчас в теме
Результаты из АПК/едт можно загрузить в сонар и смотреть все в одном месте. Приходите к нам в чат bsl-language-server, расскажем, что да как.
7. triviumfan 94 15.07.24 14:27 Сейчас в теме
(5)
Приходите к нам в чат bsl-language-server, расскажем, что да как
Прикрепленные файлы:
6. rambomax 15.07.24 11:05 Сейчас в теме
"яндекс-идентификатор пользователя" из ссылок лучше вырезать)))
8. user2096380 15.07.24 22:04 Сейчас в теме
Я один удивлен? Проводится аудит 1С 8.1, это как? Зачем проводить аудит 1С с которой все давно ушли на 8.3. Вся торговля и бухгалтерия сейчас на 8.3, склады еще многие остались на 7.7, но здесь проблема железа и отсутствие необходимости обновляться, для складских задач вполне.
9. Armando 1400 16.07.24 08:14 Сейчас в теме
(8) На основании чего сделан вывод, что речь про версию 8.1?
11. Andreeei 48 16.07.24 14:25 Сейчас в теме
Задачу переиначивания наделанного предшественниками вы сами себе поставили, потому что скучно сидеть без дела, или начальство попросило из-за каких-то реальных проблем с системой?
d4rkmesa; корум; alex1973; IgorS; mpvrus21; +5 Ответить
12. siamagic 17.07.24 21:31 Сейчас в теме
(11) Пришла школота и смузи, очередной поток бесполезного текста написано на бесполезной работе - уволить. Хотя судя по тексту человек работает копирайтом и текст генерит с нейрионки.
16. d4rkmesa 12.08.24 09:37 Сейчас в теме
(11) Ну вот тоже ощущение, что это нужно прежде всего ТС для какой-то видимости работы.
13. Азверин 3 18.07.24 09:09 Сейчас в теме
Аудит базы и ни слова про регламентные/фоновые задания?
Я бы их поставил на 3-4 место по очередности. Реально вычищал Авгиевы конюшни.
14. Gilev.Vyacheslav 1917 20.07.24 11:46 Сейчас в теме
"Аудит 1С - в это понятие сегодня можно много чего вложить. "

Аудит это проверка.
Что проверять, на предмет чего, по каким критериям определяет суть проверки.
А какова ваша цель аудита - процесс ради процесса, за все хорошее против всего хорошего? Ну так это не аудит. Всё на всё проверить нельзя.
d4rkmesa; Natalia29; +2 Ответить
15. Armando 1400 21.07.24 22:15 Сейчас в теме
(14) я бы назвал это оценкой состояния информационной базы с точки зрения разработчика 1С.
Есть и спорные моменты, например, вынести доработки в расширения.
Где-то вообще поверхностно, например, про резервное копирование. Бекапы есть и ладно. А рабочие они или нет уже не важно. Наличие плана восстановления тоже не интересует, как и в целом процесс обеспечения непрерывности.
Andreeei; +1 Ответить
Оставьте свое сообщение