Формирование Excel-файла для импорта и приведение его к нужному виду
Минимальный набор полей:
Поле |
Соответствующее поле таблицы Users |
Обязательность |
Формат |
---|---|---|---|
Логин |
Nick |
да |
Произвольная строка (желательно латиница) |
Отображаемое в системе имя |
DispayName |
да |
Произвольная строка |
Полное имя (ФИО) |
FullName |
да |
Произвольная строка |
Фамилия |
LastName |
да |
Произвольная строка |
Имя |
FirstName |
да |
Произвольная строка |
Телефон |
Phone |
да |
7хххххххххх |
Отчество |
MiddleName |
нет |
Произвольная строка |
Дата рождения |
BirthDate |
в зависимости от настроек |
2013-10-01 00:00:00.000 |
Почта |
в зависимости от настроек |
Произвольная строка |
Название полей для удобства лучше вводить на латинице.
Список импортируемых данных можно расширить. Полный список данных для импорта представлен в таблице Users.
Импорт из Excel
1. Контекстное меню БД – Tasks – Import Data.
2. Data Source – Microsoft Excel, укажите путь к Excel-файлу и версию Excel:
Путь к файлу Excel
3. Destination – Microsoft OLE DB Provider for SQL Server. Укажите название сервера, если оно отличается от текущего, введите данные для аутентификации и выберите БД, в которую требуется импортировать данные:
Название сервера и данные для аутентификации
4. Нажмите кнопку Next:
Источник данных
5. Выберите лист в книге, хранящий информацию о пользователях. Здесь же, если требуется, можно изменить название создаваемой таблицы (поле Destination):
Лист в файле Excel
6. Нажмите кнопку Next:
Выполнение действия
7. Нажмите кнопку Finish. В результате должно появиться такое окно с информацией о выполненном импорте. После этого окно можно закрыть.
Завершение загрузки
Внесение пользователей в систему
1. Следующий запрос создаст пользователей в системе "Первая Форма":
Insert into Users (<перечень полей из таблицы Users через запятую>)
select <перечень полей из таблицы UsersImport через запятую> from UsersImport
где Users – таблица, в которую вносятся данные, а UsersImport – импортированная из Excel таблица
Проверить, как внеслись данные в Users, можно запросом:
Select * from Users
2. Создание временного пароля для первого входа пользователей в систему
Update Users set PasswordHash=HASHBYTES('md5',N'Temp_Password'), ForceChangePassword=1
where UserID = <ID первого импортированного пользователя>
3. Добавление пользователей в группу
insert into UserGroups (UserID,GroupID)
select userid,<id_группы> from Users where UserID>=<ID первого импортированного пользователя>
insert into UserGroupsActual (UserID,GroupID)
select userid,<id_группы> from Users where UserID>=<ID первого импортированного пользователя>
где ,<id_группы> — ID группы в системе, в которую будут включены пользователи.
4. Корректное отображение имен в системе
На данном этапе все функциональные данные внесены, но имена пользователей в интерфейсе отображаются как "Не указано". Чтобы исправить это, нужно внести данные в таблицу UserNames, хранящую информацию об именах в различных их представлениях.
Сделайте резервную копию базы.
Для простоты удалите все данные из таблицы UserNames (все данные в этой таблице берутся из Users, поэтому потерять их совсем невозможно):
DELETE FROM Usernames
Выполните скрипт curr.sql, подходящий сборке системы. Как правило, этот файл находится в папке приложения (по умолчанию путь "C:\inetpub\wwwroot\1Forma\_nakat").