Каталог решений - Подключение к SQL из 1С (обычная и управляемая форма)

Подключение к SQL из 1С (обычная и управляемая форма)

Подключение к SQL из 1С (обычная и управляемая форма)

В наличии

Обработка позволяет соединиться с SQL-сервером (SQL-авторизация), получить список баз на сервере, после выбора базы — получить список таблиц.
Позволяет вывести таблицу на просмотр, при необходимости очистить таблицу средствами SQL (delete from), просмотреть соответствие имен таблиц объектам конфигурации, в которой запущена база.
А в случае потери данных таблицы или самой таблицы в рабочей базе можно восстановить через копирование самой таблицы и ее данных из копии базы.

Категория:

Описание

Предыстория

Ранее рабочая база работала на платформе 8.3.20.1789. Поставили 8.3.25.1257 и начали обновление.

После обновления конфигурации возникли проблемы с таблицами. Процесс исправления был трудоемкий.

Более подробное описание есть в статье Восстановление базы или решение проблемы Ошибка СУБД: Microsoft SQL Server.

Поэтому понадобился функционал копирования таблиц из копии базы.

Обновление выполнялось на 8.3.25.1257 через хранилище конфигурации и в 8.3.25.1374 проблема уже не должна появляться.

 

Описание задачи

Требуется подключиться к копии MS SQL базы на сервере Windows на управляемых формах. Найти список таблиц, которые есть в копии базы, но нету в рабочей базе. Скопировать эти таблицы в рабочую базу. Также можно очистить данные таблиц средствами СУБД.

 

Решение

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

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

Для поставленной задачи разработана обработка «Подключение к SQL из 1С 2.0» представляет собой полностью автономное решение, с точки зрения встраивания в любую конфигурацию, как на обычных, так и на управляемых формах!

Список основных доработок:

1. Разработана управляемая форма;

2. Разработана функция копирования данных таблиц из копии базы;

3. Улучшен интерфейс;

4. Переработан код.

Обработка поддерживает подключение через дополнительные обработки.

Есть два варианта запуска:

  1. Через меню "Файл — Открыть" как обычную внешнюю обработку.
  2. Через справочник "Дополнительные отчеты и обработки" (в обработку встроен механизм подключения внешних обработок, пример подключения).

Функционал обработки проиллюстрирован в скриншотах.

В коде не используются синхронные и модальные вызовы!

Обработка прошла тестирование в тонком клиенте, толстом клиенте, веб-клиенте, толстом клиенте (обычное приложение) на платформах 8.3.20.1789, 8.3.25.1257, 8.3.25.1374, ОС семейства Windows.

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

 

Инструкция

Перед использованием нужно заполнить настройки для подключения к СУБД: сервер, имя пользователя и пароль СУБД (желательно создать отдельного или можно использовать системного пользователя — sa).

Нажать кнопку подключения к БД (Соединить/Список БД) — получает список баз СУБД, затем список таблиц первой базы.

Описание кнопок:

1. Кнопка "Просмотр" — показывает данные таблицы в СУБД.

2. Кнопка "Удалить таблицу" — удаляет данные таблицы в СУБД (сделайте резервную копию перед использованием)!

3. Кнопка "Таблицы" — показывает структуру таблиц запущенной базы по формату 1С.

4. Подменю "Копирование данных" — содержит кнопки для работы с данными второй базы — копии.

4.1 Кнопка "Разница таблиц" — получает список разницы таблиц первой (база, которую будем выбирать и откуда будут копироваться данные) и второй базы (база, выбранная на форме, в которую будут копироваться данные.).

4.2 Кнопка "Скопировать выбранную таблицу" — копирует данные таблицы по выбранным строкам из п. 4.1.

4.3 Кнопка "Очистить не выбранное" — удаляет не выбранные строки из п. 4.1 (упрощает визуальное восприятие).

 

Используемый материал

Microsoft SQL Server. Как скопировать таблицу из другой базы

Из ключевого стоит отметить:

Скопировать структуры таблицу и ее данные из одной базы в другую:

SELECT * into [Db2].[dbo].tmp_tbl_Deps FROM [Db1].[dbo].tbl_Deps

Минус у такого решения – не копируются индексы.

P.S. Если материал вам помог, поблагодарите автора, поставив плюс!

has been added to your cart:
Оформление заказа