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

20.09.24

База данных - Инструменты администратора БД

Публикация размещена исключительно в образовательных целях и подходит только для платформы версии 8.3.25.1257.
Использует недокументированные средства доступа к базе данных 1С. Прямое обращение к СУБД нарушает лицензионное соглашение,
может изменить поведение платформы, привести к разрушению базы данных, скомпрометировать данные,
а также привести к отказу в официальной поддержке Фирмы 1С.
Обработка позволяет соединиться с SQL-сервером (SQL-авторизация), получить список баз на сервере, после выбора базы - получить список таблиц. Позволяет вывести таблицу на просмотр, при необходимости очистить таблицу средствами SQL (delete from), просмотреть соответствие имен таблиц объектам конфигурации, в которой запущена база. А в случае потери данных таблицы или самой таблицы в рабочей базе можно восстановить через копирование самой таблицы и ее данных из копии базы.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Подключение к SQL из 1С 2.0
.epf 27,25Kb ver:2.0
97 2 150 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Предыстория

Ранее рабочая база работала на платформе 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. Если материал вам помог, поблагодарите автора, поставив плюс!

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей для Беларуси, редакция 3, релизы 3.5.11.73

Вступайте в нашу телеграмм-группу Инфостарт

Добавил скриншот из переписки.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    35175    203    104    

194

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16325    70    39    

88

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    15356    63    8    

93

Корректировка данных Зарплата Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

60000 руб.

06.10.2023    7242    39    21    

46

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    37827    115    152    

82

Корректировка данных Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    114662    688    176    

729

Инструменты администратора БД Системный администратор 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    64156    99    59    

82
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SergVolga_34 11 20.09.24 09:53 Сейчас в теме
Когда-нибудь пригодится!)
2. Xershi 1539 20.09.24 11:02 Сейчас в теме
(1) лучше иметь под рукой и никогда не использовать+)))
SergVolga_34; +1 Ответить
3. TMV 4 21.09.24 14:04 Сейчас в теме
вроде там есть нюанс с копированием полей типа timestamp или нет?
4. Xershi 1539 21.09.24 14:45 Сейчас в теме
5. TMV 4 21.09.24 16:14 Сейчас в теме
(4) вот тут
SEL ECT * into [Db2].[dbo].tmp_tbl_Deps FR OM [Db1].[dbo].tbl_Deps
6. Xershi 1539 21.09.24 21:21 Сейчас в теме
(5) единственный нюанс, который там упоминался это индексы. А т.к. применение обработки было в рамках поставленной задачи, то такой вопрос не возникал. Можете провести исследование и более детально посмотреть, что получится.
7. TMV 4 24.09.24 20:23 Сейчас в теме
(6) действительно перепутал с конструкцией
ins ert in to [demo2].[dbo].[Document] sel ect * FR OM [Demo].[dbo].[Document]
8. Оберон 17 27.09.24 15:50 Сейчас в теме
Выгрузить БД на старой платформе и Загрузить БД на новой платформе не судьба конечно было сделать, тем более копия на СУБД была..
ох уж эта религия изобретателей велосипедов: сначала создать проблему и потом творчески ее решать )))
9. Xershi 1539 27.09.24 18:10 Сейчас в теме
(8) почитайте статью внимательнее. Задача более сложная чем вы поняли.
10. Fox-trot 165 02.10.24 09:36 Сейчас в теме
респект.. за кучу восклицательных знаков
Оставьте свое сообщение