Много тестовых баз 1С и много разработчиков. Как работать, чтобы не запутаться

В чем проблема?

Иногда возникают ситуации, когда надо развернуть тестовую базу клиента / свою на серверах Windows или Linux. Тестовые базы могут понадобиться в разных ситуациях: у клиента ошибка, на нашей базе она не воспроизводится, реализуем новый функционал и хотелось бы протестировать на Linux и т.д.
А теперь представим, что это все на потоке. Что тестовых баз 1С не одна, а 20-30. И получаем проблему, что не понятно занята она сейчас кем-то или нет.

И тут начинается:

  1. База есть, названа test34214, но не понятно используется она сейчас кем-то или нет.
  2. Вопрос в зал / в TG: ребята, а кто-то использует сейчас базу test34214?
  3. Тишина.
  4. Начинаем работать и через 2 дня получаем от коллеги: "Ой, а мне нужна была эта база. Кто ее затер?"
Суть я думаю понятна. Не понятно как эту проблему решать...

Описание проблемы

Имеем много разработчиков и необходимость их взаимодействия с тестовыми базами 1С. При этом:
  1. Мы не должны перезатирать чьи-то тестовые базы 1С, которые используются в данный момент.
  2. Алгоритм разворачивания тестовой базы должен быть простым для программиста и не требовать много времени.

Варианты решения

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

Экселька

Можно завести файл Excel и в ней вести учет кто и какую базу использует в данный момент. Нужна база? Отлично регистрируй ее в файле, сроки, сколько ты с ней будешь работать и вперед. Баз будет куча и нужно, чтобы кто-то постоянно удалял старые базы, ну или поработал и удалил.

Автоматизация

Пишем скрипт на OneScript / Power Shell и база развернулась, загрузилась, через время удалилась. Минус, разные базы могут быть нужны на разный срок. Какая-то на день, какая-то на месяц. Да и не все можно автоматизировать так, чтобы работало на все случаи жизни.

Как мы работаем с тестовыми базами 1С

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

Подготовительный этап

На каждом тестовом сервере создаем базы по порядку:
  • test1
  • test2
  • test3
  • ...
Столько, сколько нужно. Это может быть 20, 30, 100 баз 1С. Каких-то других баз мы создавать и разворачивать не будем. Это общие базы, которые будут использоваться всеми.

Разработчику нужна тестовая база 1С

Алгоритм следующий.
  1. Берем первую попавшуюся тестовую базу 1С. Например test1 и пытаемся ее открыть в режиме предприятия предварительно очистив дополнительные параметры запуска:
  2. Очищаем параметры запуска
    Если появится окно ввода логина и пароля, то пробуем пользователя Администратор и пустой пароль. Второй вариант - открываем консоль кластера серверов и смотрим в какой базе нет блокировки или она просрочена.
  3. Если база запустилась без предупреждений, то мы можем ее занять. Если появилось окно с сообщением, что база заблокирована, то берем следующую базу test2 и так пока не найдем свободную.⁠
  4. Открываем консоль кластера 1С и блокируем базу для запуска другими указывая время на сколько мы занимаем базу. Время указывать обязательно. Если боитесь, что не успеете все протестировать поставьте время с запасом, скажем на 5 дней вперед. Так же указываем кто занял и на какое время. Указываем время блокировки, кто занял и на какое время и примечание
    В пояснении сообщения укажите до какого вы планируете работать, чтобы можно было другим оценить время (мало ли вдруг все базы будут заняты). Дату указывать обязательно. Не хватает времени или подходит к концу, увеличьте в свойствах базы.
  5. В стартере 1С указываем код блокировка для занятой базы, чтобы с ней можно было работать: Указываем параметр /UCкод
    Параметр код лучше делать уникальным для каждого пользователя, чтобы он случайно не совпал с другими.
  6. Загружаем dt-файл для тестовой базы (при необходимости) и работаем с ним в тестовой базе.

Алгоритм освобождения занятой базы

  1. После окончания работ с тестовой базой необходимо пойти одним из путей на выбор:
    • Снять пароль с пользователя Администратор (если он есть). При этом проверить, что мы можем войти в эту базу. Если пользователя Администратор в базе нет, то можно его создать с пустым паролем и полными правами. И убрать параметры блокировки, если срок блокировки базы не вышел.
    • Очистить базу и сделать ее пустой. Тогда в базу вообще можно зайти без запроса логина и пароля.
    Важно! Это необходимо сделать для того, чтобы тот, кто после нас попытается открыть эту тестовую базу не ломал голову какой пароль у пользователя и легко смог зайти либо с пользователем Администратор, либо вообще без пользователя.
  2. Снять блокировку доступа в консоли администрирования 1С (можно просто снять галочку что блокировка включена). После этого шага считается, что вы уже не работаете с этой базой и эта база вам не нужна. Следующий пользователь может эту базу занять.
  3. Если в освобождаемой базе остались нужные данные, то сделайте ее копию для клиента, во избежания перезаписи после снятия блокировки.

Заключение

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

Соберитесь с командой и обсудите алгоритм работы с тестовыми базами 1С. За основу возьмите наш алгоритм или доработайте его.

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

Попробуйте Service Desk бесплатно
Учёт и распределение заявок клиентов. Множество каналов входа, уведомления по e-mail, Telegram. Инструменты для командной работы
Подробнее
Изображение автора статьи

Основатель и директор по развитию Софтонит. Практикующий руководитель разработки. Эксперт в области автоматизации техподдержки

Загрузка...
Поделитесь статьей
Рекомендуем почитать
Статьи Как включить отладку на сервере 1С:Предприятия?

Все мы прекрасно знаем, что отладка это прекрасный механизм в платформе 1С, который позволяет быстро найти проблему и решить ее путем пошаговых операций и просмотра значений переменных. Но при использовании серверной базы 1С механизм отладки по умолчанию выключен. А как быть, если надо найти проблему? В этой статье давайте постараемся в этом вопросе разобраться.

Статьи Синий экран и ошибка Windows aksfridge.sys при установке драйвера защиты HASP 1С

Не так давно мы столкнулись с проблемой, когда при установке 1С (в частности в конце, когда устанавливаются драйвера защиты HASP), появляется синий экран ошибки Windows и где указано:
Код остановки: PAGE_FAULT_IN_NONPAGET_AREA
Вызвало проблему: aksfridge.sys
Давайте разберемся как эту проблему решить.

Статьи Открытие задач при командной разработке в gitlab (github) в Управление IT-отделом 8

Часто при разработке с gitlab (github), в случае если используется собственная система учета задач, хочется открывать задания пользователей из репозитория gitlab по щелчку мыши и чтобы сразу открывалась задача источник. Мы в своей работе используем gitlab - для разработки и Управление IT-отделом 8 - для ведения списка заданий.
Давайте рассмотрим как настроить открытие задач gitlab в конфигурации. Для github это же можно настроить аналогично.

Статьи Аналог SQL OFFSET и SKIP в 1С для разбития выборки запроса на страницы

В языке запросов 1С нет оператора SKIP, чтобы вернуть часть данных их выборки, начиная с какого-то элемента. Это делает сложным получение данных порциями по N-штук в порции.
Это может понадобиться, например, для задачи пагинации выборки (например, так выводятся сообщения на форумах).
Попробуем все же решить эту задачу с помощью языка запросов 1С.

Статьи Настройка конфигуратора 1С. Удобная работа с выделенными идентификаторами.

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

Статьи Кружок 1С #6 Асинхронность и многопоточность. О чем умалчивает ИТС

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

0 / 0