Как подключиться к базе данных MySQL из 1С через коннектор ODBC
Обычные формы;

Обмен данными между базами 1С и MySQL можно реализовать при помощи драйвера ODBC. Скачать его можно перейдя по ссылке https://dev.mysql.com/downloads/connector/odbc. Скачать и установить требуется сразу 2 драйвера - и 32-битный и 64-битный, независимо от вашей ОС. Потому что часто бывают непонятные ситуации, когда не удается наладить подключение, используя только один драйвер. В этой статье расмотрим 3 варианта подключения из 1С к MySQL, используя данный драйвер. В моих примерях я использую версию ODBC 5.3.6.

1) Через созданный DSN и полностью настроенный - с указанием пароля, юзера, БД и др.
Создание и настройка DSN производится в окне Администратора источника данных ODBC на вкладках "Пользовательский DSN" и "Системный DSN". Нажимаем кнопку "Добавить", выбираем наш установленный драйвер, заполняем поля:
Data Source Name - имя DSN;
TSP/IP Server - сервер MySQl (адрес сайта, если подключение ведется к БД сайта);
Port - по умолчанию 3306;
User - имя пользователя БД MySQl;
Password - пароль пользователя БД MySQl;
Database - база данных MySQl.

В 1С прописываем функцию подключения:

Функция ПодключениеКСайту()
    Connection = Новый COMОбъект("ADODB.Connection");
    СтрокаПодключения = "DSN=ИмяDSN;"; //указываем значение из поля Data Source Name в окне настроек DSN
    Попытка
        Connection.Open(СтрокаПодключения);
        Возврат Connection;    
    Исключение
        Сообщить("Не удалось подключится к сайту!");
        Сообщить (ОписаниеОшибки());
        Возврат Неопределено;
    КонецПопытки;
КонецФункции
2) Через созданный DSN, у которого указано только имя (Data Source Name)
Создаем DSN в окне Администратора источника данных ODBC на вкладках "Пользовательский DSN" и "Системный DSN", но указываем только имя DSN. Все остальные поля будем заполнять программно.
В 1С прописываем функцию подключения:
Функция ПодключениеКСайту()
    Connection = Новый COMОбъект("ADODB.Connection");
    СтрокаПодключения = "DSN=ИмяDSN;"; //указываем значение из поля Data Source Name в окне настроек DSN
    Connection = Новый COMОбъект("ADODB.Connection");
    ДСН = "ИмяDSN"; //указываем значение из поля Data Source Name в окне настроек DSN
    СРВ = "ИмяСервера"; // сервер MySQl (адрес сайта, если подключение ведется к БД сайта)
    УИД = "ИмяПользователя"; // имя пользователя БД MySQl
    ПВД = "Пароль"; // пароль пользователя БД MySQl
    БД = "ИмяБД"; // пароль пользователя БД MySQl
    СтрокаПодключения = "DSN=" + ДСН + ";Server=" + СРВ + ";Database=" + БД + ";UID=" + УИД + ";PWD=" + ПВД;
    Connection.ConnectionString = СтрокаПодключения;
    Попытка
        Connection.Open();
        Возврат Connection;    
    Исключение
        Сообщить("Не удалось подключится к сайту!");
        Сообщить (ОписаниеОшибки());
        Возврат Неопределено;
    КонецПопытки;
КонецФункции
3) Без созданного DSN, создаем его полностью программно
В 1С прописываем функцию подключения:
Функция ПодключениеКСайту()
    Connection = Новый COMОбъект("ADODB.Connection");
    Провайдер = "MSDASQL.1"; // имя провайдера ODBC, чаще всего указывается именно такой
    Драйвер = "MySQL ODBC 5.3 ANSI Driver"; // Имя драйвера ODBC
    СРВ = "ИмяСервера";
    БД = "ИмяБД";
    УИД = "ИмяПользователя";
    ПВД = "Пароль";
    СтрокаПодключения = "Provider=" + Провайдер + ";DRIVER=" + Драйвер + ";Server=" + СРВ + ";Database=" + БД + ";UID=" + УИД + ";PWD=" + ПВД + ";";
    Попытка
        Connection.Open(СтрокаПодключения);
        Возврат Connection;    
    Исключение
        Сообщить("Не удалось подключится к сайту!");
        Сообщить (ОписаниеОшибки());
        Возврат Неопределено;
    КонецПопытки;
КонецФункции
Теперь рассмотрим несколько примеров как получать и передавать данные используя подключение через ODBC.
1) Получим остатки товаров из таблицы goods_item_depozit из БД MySQL на сайте.
Процедура ЗагрузитьОстаткиИзСайта()
    Connection = ПодключениеКСайту(); // одна из трех вышеописанных функций
   Если Connection = Неопределено Тогда
        Возврат;
    КонецЕсли;
    RecordSet = Новый COMОбъект("ADODB.Recordset");
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    ЗапросОстатковНаСайте =
    "SELECT
    |`goods_item_depozit`.`goods_name` AS `goods_name`,
    |`goods_item_depozit`.`depozit_name` AS `depozit_name`,
    |`goods_item_depozit`.`remained` AS `remained`
    |FROM `goods_item_depozit`";
    RecordSet.Open(ЗапросОстатковНаСайте, Connection);
    Пока RecordSet.EOF() = 0 Цикл
        НаименованиеТовара = RecordSet.Fields("goods_name").Value;
        НаименованиеСклада = RecordSet.Fields("depozit_name").Value;
        Остаток = RecordSet.Fields("remained").Value;
        RecordSet.MoveNext();
    КонецЦикла;
    RecordSet.Close();
КонецПроцедуры
2) Запишим остатки товара в таблицу goods_item_depozit из БД MySQL на сайте.
Процедура ВыгрузитьОстаткиНаСайт()
    Connection = ПодключениеКСайту(); // одна из трех вышеописанных функций
    Если Connection = Неопределено Тогда
        Возврат;
    КонецЕсли;
    RecordSet = Новый COMОбъект("ADODB.Recordset");
    Command = Новый COMОбъект ("ADODB.Command");
    Command.ActiveConnection = Connection;
    НаименованиеТовара = "НаименованиеТовара";
    НаименованиеСклада = "НаименованиеСклада";
    Остаток = Формат(Остаток,"ЧГ=0"); // обязательно убираем группировку для числа
    ЗапросДобавленияОстатков =
    "INSERT
    |INTO `goods_item_depozit`
    |SET
    |`goods_name`='" + НаименованиеТовара + "',
    |`depozit_name`='" + НаименованиеСклада + "',
    |`remained`='" + Остаток + "'";
    Command.CommandText = ЗапросДобавленияОстатков;
    Command.CommandType = 1;
    Попытка
        RecordSet = Command.Execute();
    Исключение
        Сообщить ("Не удалось экспортировать остатки товара: " + НаименованиеТовара);
        Сообщить (ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры