Найти тему
SoftOnIT.RU

Много тестовых баз 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. Если база запустилась без предупреждений, то мы можем ее занять. Если появилось окно с сообщением, что база заблокирована, то берем следующую базу test2 и так пока не найдем свободную.⁠

3. Открываем консоль кластера 1С и блокируем базу для запуска другими указывая время на сколько мы занимаем базу. Время указывать обязательно. Если боитесь, что не успеете все протестировать поставьте время с запасом, скажем на 5 дней вперед. Так же указываем кто занял и на какое время.

Блокируем базу кодом разрешения
Блокируем базу кодом разрешения

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

4. В стартере 1С указываем код блокировка для занятой базы, чтобы с ней можно было работать:

Дополнительные параметры запуска
Дополнительные параметры запуска

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

5. Загружаем dt-файл для тестовой базы (при необходимости) и работаем с ним в тестовой базе.

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

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

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

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

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

3. Если в освобождаемой базе остались нужные данные, то сделайте ее копию для клиента, во избежания перезаписи после снятия блокировки.

Заключение

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

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

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

Попробуйте командную разработку в «Управление IT-отделом 8» бесплатно - Автоматизация работы технической поддержки, управление IT-командой, учёт оборудования и многое другое