Как сделать тестовую базу 1с
Статья предназначена, прежде всего, для компаний, обслуживающих значительные по объему базы данных (БД), от 0.5 ТБ и более. Тестовые среды для поддержки и разработки, как правило, ограничены. Потребность развернуть в тестовой среде 15-20 копий рабочей БД – вполне реальна, и вполне может быть, что рабочая БД – не одна. Также для тестов и разработки лучше использовать максимально актуальную копию рабочей БД.
Таким образом, задачу создания тестовой БД можно разделить на 2 этапа. На 1 этапе требуется понять, каким образом из рабочей базы объемом 0.5 ТБ получить тестовую базу объемом 50 ГБ.
В моей практике были в основном задачи подготовки тестовых БД на MS SQL, поэтому в части запросов к СУБД будем рассматривать запросы к СУБД MS SQL (что не мешает адаптировать Вам всё под Oracle)
Сперва следует оценить, какие таблицы в Вашей рабочей БД обладают наибольшим объёмом, и обладают ли эти таблицы ценностью в тестовой среде. Для определения наибольших по объёму таблиц можно использовать отчет в Management Studio MS SQL (Disk Usage by top tables):
Примечание: никто не запрещает Вам использовать многочисленные «базопузомеры» с инфостарта для этого также.
Для понимания ценности данных в таблицах можно использовать встроенные в платформу 1С средства – метод ПолучитьСтруктуруХраненияБазыДанных().
Сопоставив имена таблиц БД с именами таблиц 1С станет понятно, какие таблицы в тестовой базе не нужны. Пример таких таблиц:
- Справочники «Присоединенные файлы»
- Регистр сведений «Версии объектов»
- Регистр сведений «Двоичные данные файлов»
- Таблицы регистрации изменений для обмена
Выбрав наиболее объемные и малоценные для тестовой БД таблицы, можно написать скрипт их очистки: «USE <DBNAME>;
|TRUNCATE TABLE dbo.SomeDBName;»
В обработке, приложенной к статье, текст скрипта по указанным таблицам формируется автоматически.
Вторым шагом для значительного снижения объема тестовой БД является сжатие БД. Сжимаются все таблицы и индексы. Текст скрипта для сжатия БД также приложен к статье.
Теперь остался один вопрос – как транспортировать рабочую БД на тестовый сервер, чтобы каждое утро получать максимально уменьшенную свежую копию рабочей БД. Для этого можно использовать различные механизмы ( SQL DTS ), мастер Copy DB в Management Studio :
Также можно использовать скрипт, который развернёт бэкап рабочей БД в тестовой среде (на тестовом MS SQL ).
Как это работает:
1. На тестовом SQL сервере настроен план обслуживания, в котором последовательно выполняются следующие шаги:
2. Скрипт разворачивает бэкап рабочей БД на тестовом сервере в существующую эталонную тестовую БД.
3. Запускается скрипт очистки таблиц БД.
4. Запускается скрипт сжатия таблиц БД.
Описанным способом удалось размер одной из рабочих БД снизить в 8 раз, т.е. вместо 1 тестовой БД на тестовом сервере – теперь развернуто 8 тестовых БД.
Описанные в статье действия выполнялись в ознакомительных целях на платформе 1С 8.3. Скрипты, приложенные к статье, являются примером использования языка запросов MS SQL Server. Для тестов использовалась 1С 8.3.12.
Если в процессе работы в 1С:Бухгалтерия (8.3 редакция 3.0) возникают странные ошибки или она вообще перестала запускаться - базу нужно чинить.
Запускаем утилиту вручную
1. Для начала сделайте резервную копию имеющейся базы. Дело в том, что тестирование и исправление это необратимые операции над базой данных, которые почти всегда делают ситуацию лучше, но в очень небольшом проценте случаев могут все испортить. Вот на этот самый редкий случай мы и должны сначала сделать резервную копию.
2. Зайдите в папку, в которую у вас установлена 1С. Обычно это 'C:\Program Files\1cv8'. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (в нашем случае 8.3.4.304):
3. Внутри этой папки вы найдете папку bin:
4. Зайдите в эту папку. Там много файлов. Найдите файл с названием chdbfl:
5. Запустите этот файл и перед вами откроется утилита для проверки физической целостности файла базы данных. Укажите имя файла базы данных, нажав кнопку с тремя точками:
6. Чтобы указать это имя зайдите внутрь папки той базы, которая не запускается и выберите там файл '1Cv8':
7. Поставьте галку 'Исправлять обнаруженные ошибки'. Бояться нечего, ведь у нас есть резервная копия. И нажмите кнопку 'Выполнить':
8. В зависимости от размера базы - проверка и исправление могут занять продолжительное время. Дождитесь окончания, закройте утилиту и запускайте базу - скорее всего она заработает.
Если исправление не помогло и стало только хуже - восстановите базу из резервной копии, которую мы сделали на первом этапе, а затем переходите к тестированию и исправлению базы через конфигуратор.
Запускаем утилиту через обновлятор
Для пользователей моего Обновлятора всё ещё проще.
Отметьте нужную базу в списке, а затем из пункта "Ещё" выберите пункт "6.16 Проверка физической целостности файла БД (chdbfl.exe)":
При этом обновлятор:
- сам заблокирует базу и выгонит работающих пользователей;
- сам создаст резервную копию базы;
- сам запустит утилиту chdbfl.exe и дождётся пока вы выполите в ней все необходимые проверки;
- сам пустит всех пользователей обратно после того как вы закроете утилиту chdbfl.exe.
При этом, если вам потребуется восстановить (откатить) базу на созданную резервную копию перед тестированием - отметьте базу галкой, а затем из пункта "Ещё" выберите вариант "6.01 Восстановить файл данных базы из zip, 7z, rar":
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Тестирование и исправление информационной базы 1С 8.3 необходимо выполнять в случае, если у вас возникают ошибки в работе информационной базы и перед обновлением конфигурации базы. В большинстве случаев при повреждении вашей информационной базы оно помогает.
Перед выполнением тестирования и исправления необходимо сделать резервную копию базы. Если же вы не можете зайти в конфигуратор, то в папке с установленной программой 1С есть утилита для тестирования и исправления, которая не требует запуска программы в режиме конфигуратор. Обо всем этом поговорим ниже.
Рассмотрим этот инструмент и как с ним работать. Особенно подробно разберем какие флаги надо ставить в интерфейсе.
Если у вас нет времени читать, можете просто просмотреть наше видео:
Тестирование и исправление в конфигураторе
Запустим программу в режиме конфигуратор:
Выбираем из меню Администрирование пункт “Тестирование и исправление”:
Какие галочки ставить?
Существуют различные варианты настройки тестирования, рассмотрим эти галки:
Получите понятные самоучители по 1С бесплатно:
В нашем примере проставим все галочки как показано на рисунке и нажимаем “Выполнить”:
После окончания тестирования нажимаем “Закрыть”:
Тестирование и исправление закончено.
Если конфигуратор не открывается: утилита chdbfl.exe
Если база повреждена настолько, что вы не можете зайти в конфигуратор, можно воспользоваться утилитой от 1С chdbfl.exe. Утилита устанавливается вместе с платформой 1С и найти ее можно в папке Bin каталога установки:
Перед тем как приступить к тестированию вам обязательно нужно сделать копию вашей базы, так как использование этой утилиты может привести к необратимым последствиям. Так как вы не можете зайти в конфигуратор, резервную копию надо делать простым копированием каталога вашей информационной базы.
После того как нажали копировать, нажимаем правой кнопкой на пустом месте окна папки и нажимаем “Вставить”. Копия сделана, запускаем утилиту:
Появляется главное окно утилиты. Нам нужно указать имя файла базы данных. Нажимаем на три точки. Открывается окно выбора файла БД. Ищем каталог вашей базы и в нем указываем на файл 1Cv8.1CD. Нажимаем “Открыть”.
Ставим галочку “Исправлять обнаруженные ошибки” и нажимаем “Выполнить”.
Ждем окончания операции. Она может занять продолжительное время, в зависимости от размера базы.
После выполнения, если были исправлены ошибки они отобразятся в окне утилиты. В моем случае ошибок не обнаружено. Нажимаем “Закрыть” и пробуем зайти в программу. Если зайти все же не получается, вам необходимо обратиться к специалисту.
Войдите как ученик, чтобы получить доступ к материалам школы
Создание конфигураций 1С: основы
Автор уроков и преподаватель школы: Владимир Милькин
Наконец, мы приступаем к созданию и доработке конфигураций 1С. Если вы не читали введение к этому модулю - пожалуйста, прочтите его: ссылка.
Конфигурация, конфигурация . а что это вообще такое?
Из чего состоит 1С
Давайте ещё раз вспомним, что 1С делится на две большие части:
- Это собственно сама программа 1С (её ещё называют платформой 1С:Предприятие).
- И данные с которыми работает эта платформа (их ещё называют базой данных).
У платформы есть версия. Раньше использовалась "семёрка" (версия 7.7), теперь используется 8.3 - это самая последняя версия платформы - её мы используем в наших уроках.
Какие бывают базы
Платформа обычно одна, а вот баз данных может быть сколь угодно много, это и:
- бухгалтерские базы (1С:Бухгалтерия)
- базы для управления персоналом и расчетом зарплаты (1С:Управление персоналом)
- базы для управления торговлей (1С:Управление торговлей)
- базы для автоматизации практически любой другой отрасли (парикмахерские, автосервисы, салоны красоты, общепиты и другие)
Конфигурация - основа базы
Так вот в основе любой базы данных 1С лежит конфигурация, которая определяет какие именно данные мы сможем хранить в базе и каким образом мы сможем их обрабатывать. Можно сказать, что конфигурация - это словарь базы данных.
Таким образом у бухгалтерской базы - своя конфигурация, у зарплатной своя, а у торговой своя. Эти конфигурации в чём-то похожи друг на друга, но в чём-то отличаются. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Эти отличия связаны со спецификой отрасли, которую автоматизирует база.
Как выглядит платформа
Это набор исполняемых файлов (программ), которые устанавливаются в папку "Program Files" и обычно запускаются ярлыком с рабочего стола:
Как выглядит база данных
Самый главный файл "1Cv8.1CD" - именно в нём хранится база. Все остальные файлы являются служебными и при их удалении мы потеряем разве что журнал регистрации.
Как выглядит конфигурация
На рисунке представлено так называемое "дерево конфигурации", которое состоит из различных разделов, с которыми мы познакомимся позже. Повторюсь, то что мы видим в дереве конфигурации это ещё не сами данные, а только виды данных, которые мы сможем хранить в базе (например, "Банки", "Валюты" и т.п.).
Конфигурация "зашита" внутри базы (файл "1Cv8.1CD") вместе с данными.
Сравнение с Word
Если вам всё ещё не понятна разница между платформой и базой данных, то можно рассмотреть ещё такую абстракцию:
Платформа 1С - это программа Microsoft Office Word для работы с текстовыми документами, а база данных - это текстовый документ с которым работает Word. Сама программа Word не хранит в себе никаких данных, но вот файлы, которые мы создаём при помощи него как раз и являются хранилищем различной информации.
Когда мы запускаем ярлык 1С с нашего рабочего стола - мы запускаем платформу.
. мы делаем выбор, какую из них открыть и она загружает её в память компьютера.
Два режима работы с базой
Как мы уже говорили выше любая база состоит из собственно данных и конфигурации (словаря), которая определяет как с этими данными можно работать. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Именно поэтому существует два отдельных режима работы c базой данных:
- режим конфигуратора (когда мы работаем только с конфигурацией базы, не затрагивая её данные)
- режим предприятия (когда мы работаем только с данными базы).
Ещё можно сказать, что режим конфигуратора предназначен для программистов, а режим предприятия - для пользователей.
И то, что программист придумает в режиме конфигуратора будет определять то, что пользователь увидит в режиме предприятия.
Переключение между этими двумя режимами производится вот этими двумя кнопками:
Установка платформы
Для обучения программированию нам понадобится 1С 8.3 (не ниже 8.3.13.1644).
На вашем рабочем столе должен появиться вот такой ярлык:
Создаём пустую базу
Итак, давайте же создадим нашу базу данных, но не так как мы это делали на самом первом уроке школы (ссылка) - на этот раз мы сделаем это осознанно, с объяснением каждого шага:
1. Запустим платформу 1С на нашем рабочем столе. Этот ярлык ведёт к исполняемому файлу из папки "C:\Program Files\1cv8t\".
2. Перед нами открылся список баз 1С:
В нём уже присутствует база "Учебная" из прошлых уроков. Обратите внимание на то, что при выделении базы внизу пишется путь к её папке. Если мы откроем эту папку в проводнике, то обнаружим там тот самый файл "1Cv8.1CD", о котором шла речь выше.
3. Нажмём кнопку "Добавить".
4. Выберем пункт "Создание новой информационной базы" и нажмём кнопку "Далее":
Второй пункт нужен, если мы принесли уже готовую базу данных с другого компьютера и захотели подключить её папку в наш список баз.
5. Выберем пункт "Создание информационной базы без конфигурации . " и нажмём кнопку "Далее":
Мы выбрали второй пункт, потому что будем создавать базу данных с нуля, а не из шаблонов, которые могут присутствовать у нас на компьютере. Вообще при разработке новой базы она почти всегда создаётся с нуля.
6. В качестве имени базы укажем "Азы" и нажмём кнопку "Далее":
В качестве имени базы можно указывать любое подходящее по смыслу название.
7. В качестве каталога базы укажем любую пустую папку (в данном случае это папка "Азы" в моих документах). Нажмём кнопку "Далее":
Вообще же лучше выбирать местом для хранения баз данных диск отличный от системного. Совсем хорошо, если это отдельный физический диск.
8. Укажем вариант аутентификации "Выбирать автоматически", режим запуска "Толстый клиент". В качестве версии 1С:Предприятия ничего не будем указывать, нажмём кнопку "Готово":
Толстый клиент, тонкий клиент, веб-клиент - это всё варианты платформы 1С. Тонкий и веб-клиент предназначены для работы с базой данных через интернет. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Толстый клиент - предназначен для всего остального, в том числе только он позволяет работать с базой в режиме конфигуратора. А это как раз то, что нам требуется, ведь мы сейчас будем именно разрабатывать.
9. В списке появилась наша база "Азы", которую мы только что создали. Выделим её и внизу отобразится путь к папке с базой:
Зайдём в эту папку через проводник и увидим там уже знакомый файл "1Cv8.1CD", который содержит всю базу данных:
Читайте также: