Настройка связи между mysql и 1С через ODBC в версии 8.2.14 (Внешние источники)

В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8

В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8 

По шагам надо сделать следующее: 

  • Скачать и установить ODBC драйвер для mysql 
  • Настроить доступ и параметры связи с базой данных 
  • Прописать необходимые таблицы в конфигураторе 
  • Написать обработку которая будет соединяться с базой данных из 1С:Предприятия 8 и выдавать результат запроса. 

Поехали… 

1. Скачиваем ODBC коннектор с сайта поставщика mysql. 
2. Устанавливаем его на компьютер. 
3. Заходим в конфигуратор 1С и добавляем новый внешний источник данных. 

 

4. Добавляем внешнюю таблицу: 

 

5. Указываем режим автоматического формирования списка таблиц 

 

6. Указываем параметры соединения. Пишем руками: 

Цитата

DRIVER={MySQL ODBC 5.1 Driver}; 
SERVER=192.168.1.10; 
DATABASE=bitrix;

и вбиваем логин и пароль для доступа к базе mysql 

7. Если все ок, то мы увидим список таблиц из базы данных сайта. 

 

8. Выбираем нужную таблицу галочкой 

 

9. И получаем ее в дереве метаданных. 

 

10. Создаем обработку для тестирования с одной процедурой: 

ПараметрыСоединенияССайтомМИКО = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
ПараметрыСоединенияССайтомМИКО.СтрокаСоединения= "
|DRIVER={MySQL ODBC 5.1 Driver};
|SERVER=192.168.1.10;
|DATABASE=bitrix;
|UID=root;
|PWD=dbpassword_4_user_root;";
ВнешниеИсточникиДанных.СайтМИКО.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияССайтомМИКО);
ВнешниеИсточникиДанных.СайтМИКО.УстановитьСоединение();
Запрос = Новый Запрос("ВЫБРАТЬ
                      |   b_stat_browser.Ссылка,
                      |   b_stat_browser.ID,
                      |   b_stat_browser.USER_AGENT
                      |ИЗ
                      |   ВнешнийИсточникДанных.СайтМИКО.Таблица.b_stat_browser КАК b_stat_browser");
Таблица = Запрос.Выполнить().Выгрузить();

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

11. Ставим точку останова на конец процедуры и запускаем обработку в режиме предприятия. 

12. Profit smile:) 

 

p.s. мы получили данные из внешней таблицы mysql средствами языка 1С. Что самое интересное, внешние таблицы доступны в конструкторе запроса. 

upd: как можно изменять данные через ODBC я написал в этом посте.

67 Comments

  1. jorikfon

    В новой редакции платформы 1С 8.2.14 появилась возможность устанавливать связь с внешними источниками данных. У меня была идея написать программу для прямой работы с базой данных на нашем сайте из 1С:Предприятия 8

    Перейти к публикации

    Reply ↓
  2. V_V_V

    Очень интересная возможность новой платформы, да все никак руки не доходят ее попробовать.

    Хочется уточнить один вопрос: если я установлю драйвер MySQL, а потом настрою его в «Администратор источников данных ODBC» где-нибудь в «Пользовательский DSN» или «Системный DSN», соответственно прописав там параметры подключения — смогу ли я потом подключаться к этому источнику просто по имени этой настройки? И понадобится ли заново прописывать настройки подключения к источнику данных в каждой обработке при таком подключении?

    Reply ↓
  3. jorikfon

    Это я не пробовал, надо промоделировать 🙂 Пока я прописываю параметры в каждой обработке.

    Reply ↓
  4. Serj1C

    (1) я экспериментировал, параметры подключения вводил дважды:

    1) в режиме конфигуратора для автоматического создания структуры таблиц

    2) в режиме предприятия для отображения динамического списка записей таблиц.

    Параметры вводились только один раз, они запоминаются в каком-то менеджере внешних источников данных, который доступен через «все функции» -> Стандартные -> Управление внешними источниками данных

    Reply ↓
  5. V_V_V

    (3) Автор пишет «Тут необходимо понимать что в обработке надо обязательно заново прописывать параметры соединения с внешней базой данных, они не хранятся в конфигурации.». Получается, что хранятся? И как потом строка подключения из обработки выглядит? Можно пример?

    Reply ↓
  6. German
  7. V_V_V

    (5) Спасибо за дополнительную информацию. Только Ваше подключение практически идентично авторскому. И парочка примечаний «Важно». Выходит к внешнему источнику данных через подключение, описанное в (1), встроенными средствами платформы обратиться нельзя.

    Ладно, пока сам не попробую приставать больше не буду…

    Reply ↓
  8. dkprim

    очень полезная возможность новой версии платформы представлена наглядно в очень полезной публикации этого сообщества 🙂 спасибо 🙂

    Reply ↓
  9. Spacer

    Да, все это безусловно хорошая вещь — внешние источники данных.

    Я вначале сильно обрадовался когда узнал что 1С сделала такой механизм.

    Но потом был сильно огорчен когда узнал что с этими источниками можно работать только на чтение.:(

    Reply ↓
  10. Alex@ander
    Spacer пишет:

    Да, все это безусловно хорошая вещь — внешние источники данных.

    Я вначале сильно обрадовался когда узнал что 1С сделала такой механизм.

    Но потом был сильно огорчен когда узнал что с этими источниками можно работать только на чтение.:(

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

    Reply ↓
  11. ramzess

    Как то еще на тестовом релизе пытался связать с базой данных под управлением СУБД LETODB.Так и не получилось победить грабли вида иррациаональных чисел, и если среди DBF файлов базы имелись «пароленные» dbfки их прочитать так и не удалось, пока dbf редактором не исправил заголовок файла. а была такая надежда 🙁

    Reply ↓
  12. Lara.Builova

    За статью безусловно плюс. Как только появился 14 релиз 8.2 я пыталась подключить через внешние таблицы екселевский файл, пока результат отрицательный. У кого-нибудь получилось?

    Reply ↓
  13. jorikfon

    (9) Spacer,

    Ну собственно не совсем понятно в чем беда. Изменять данные через ODBC вроде всегда можно было. А тут вся фишка в том что с таблицей через запросы можно работать. Вроде запросы всегда только на чтение в 1С использовались 🙂

    Набросаю сегодня завтра пример как я на сайте в данные меняю. Дам ссылку тут.

    upd. На инфостарт не в силах перепостить сейчас, потому кому интересно как менять данные через ODBC, смотрите тут.

    Попозже оформлю на инфостарте статью.

    Reply ↓
  14. anna_irk

    очень интересно

    Reply ↓
  15. aximo

    мне бы было интересно как подключиться к файлу базы данных на сайте (например sqlite) — не задавались таким вопросом?

    Reply ↓
  16. jorikfon

    (15) aximo,

    Я думаю что принцип соединения аналогичный.

    Сначала качаем ODBC драйвер для sqlite.

    Вот гугл выдал такую ссылку

    http://www.ch-werner.de/sqliteodbc/

    Потом из 1С прописываем сотроку соединения по аналогии

    
    ПараметрыСоединенияССайтомМИКО.СтрокаСоединения= »
    |DRIVER={SQLite ODBC Driver};
    |SERVER=192.168.1.10;
    |DATABASE=bitrix;
    |UID=root;
    |PWD=dbpassword_4_user_root;»;
    
    

    Показать

    Под рукой нет такой базы чтобы проверить, но суть примерно такая.

    Reply ↓
  17. aximo

    sqlite — это файл. допустим он лежит на запароленном фтп… мне кажеться, что подключение будет несколько иное… кто знает — отпишитесь

    Reply ↓
  18. Zhe_ka

    Очень интресная тема, спасибо за статью.. обязательно попробую

    Reply ↓
  19. jorikfon

    (17) aximo,

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

    ПараметрыСоединенияССайтомМИКО.СтрокаСоединения= »
    |DRIVER={SQLite ODBC Driver};
    |SERVER=192.168.1.10;
    |DATABASE=\SmbSharedatabasesmytest.db;
    |UID=root;
    |PWD=dbpassword_4_user_root;»; 
    Reply ↓
  20. vec435

    Очень интресная тема.И очень полезная,если параметры подключения действительно хранятся в конфигураторе

    Reply ↓
  21. Raminus
    vec435 пишет:

    Очень интресная тема.И очень полезная,если параметры подключения действительно хранятся в конфигураторе

    А они там не хранятся 🙂

    Reply ↓
  22. pri_hod

    Потестировал на MySQL… Вывод, бестолковая приблуда, зачем промежуточный механизм? какие плюсы использования???

    Reply ↓
  23. comol

    А может вы где-нибудь описание таблиц и полей bitrix выложите? Раз уже занимались этой темой…

    Reply ↓
  24. jorikfon

    Так это не секретная информация вроде как 🙂

    http://dev.1c-bitrix.ru/api_help/iblock/fields.php

    Reply ↓
  25. Uscolegy

    а вот как на 2003 сервере х64 получить доступ к xbase через ODBC … ни в какую не могу загрузить дрова….

    Reply ↓
  26. petrovaUL

    попробую данный метод когда послю 14 релиз платформы

    Reply ↓
  27. bssat

    Всем доброго дня! Начал разбираться с использованием внешних источников. Столкнулся со следующей проблемой. Создал форму списка для таблицы MySQL. Подключение к Базе MySQL происходит, в обработчике загрузки формы делаю подключение. Но вываливается ошибка и, соответственно таблица пустая. Прилагаю скрин ошибки.

    Reply ↓
  28. roha

    у менея точно такая же ошибка, походу при трансляции запроса 1с в mysql есть какойто ограничение по символам, изза етого формируется неправельный запрос (посмотри свой скрин там видно что текст запроса обрезан) если выбрать только 1-3 поля и они уместятся в запросе тогда работает, пока не разобрался с проблемой, возможно глючный ODBC , возможноно и в самой платформе глюк

    Reply ↓
  29. jorikfon

    (27) bssat, непонятно почему, но у меня в в рабочем коде выскочила точно такая же ошибка как у вас на скриншоте. Пока разбираюсь в чем дело…

    Reply ↓
  30. roha

    думаю чето с 1с и ODBC MYSQL, так как если конектится к SQL таких ошибок нет

    Reply ↓
  31. jorikfon

    (30) roha, У меня с момента написания статьи запрос работал без проблем до 26 декабря в фоновом процессе. Что произошло я не понимаю.

    Рядом с поломанным запросом лежит другой, к другому ресурсу и он нормально отрабатывает команды из 1С. Пробовал вручную через Mysql front написать запрос, все работает отлично.

    Что то в механизме трансляции изменилось, по-моему после обновления на 8.2.15.289

    Reply ↓
  32. jorikfon

    В тех журнале вот такая информация:

    58:43.5240-12,SDBL,3,process=rphost,p:processName=testfastwin7,t:clientID=3804,t:applicationName=1CV8,t:computerName=ADMINWIN7,t:connectID=2236,SessionID=96,Usr=Бекетов,Trans=0,Sdbl=’SELECT
    Q_001_T_001._RESULT_ID,
    Q_001_T_001._USER_TEXT,
    Q_001_T_001._ANSWER_ID,
    Q_001_T_001._ID sf_1
    FROM
    EDBT11354 Q_001_T_001
    WHERE
    (Q_001_T_001._FORM_ID = 3) AND (Q_001_T_001._RESULT_ID > 710)
    ORDER BY
    sf_1
    ‘
    58:43.5241-14,CALL,2,process=rphost,p:processName=testfastwin7,t:clientID=3804,t:applicationName=1CV8,t:computerName=ADMINWIN7,t:connectID=2236,SessionID=96,Usr=Бекетов,Interface=a73a0756-4f0e-4645-bda4-ec823b433ff7,Method=34,RetExcp=’Ошибка внешней базы данных:
    ошибка при выполнении запроса
    Ошибка ODBC. SQLSTATE: 42000
    Номер ошибки: 1064
    Описание: [MySQL][ODBC 5.1 Driver][mysqld-5.0.92]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near »»RESULT_ID»,
    T1.»USER_TEXT»,
    T1.»ANSWER_ID»,
    T1.ID
    FROM b_form_result_answer T1 » at line 2
    ‘

    Показать

    Сам код был такой:

    Запрос = Новый Запрос(«ВЫБРАТЬ
    | b_form_result_answer.RESULT_ID,
    | b_form_result_answer.USER_TEXT КАК Ответ,
    | b_form_result_answer.ANSWER_ID
    |ИЗ
    | ВнешнийИсточникДанных.www_miko_ru.Таблица.b_form_result_answer КАК b_form_result_answer
    |ГДЕ
    | b_form_result_answer.FORM_ID = 3
    | И b_form_result_answer.RESULT_ID > 710
    |АВТОУПОРЯДОЧИВАНИЕ»);
    

    Показать

    В Mysql front выполнил руками запрос, и все отрабатывает.

    SELECT
    Q_001_T_001.RESULT_ID,
    Q_001_T_001.USER_TEXT,
    Q_001_T_001.ANSWER_ID,
    Q_001_T_001.ID sf_1
    FROM
    b_form_result_answer Q_001_T_001
    WHERE
    (Q_001_T_001.FORM_ID = 3) AND (Q_001_T_001.RESULT_ID > 710)
    ORDER BY
    sf_1
    

    Показать

    куда дальше копать не знаю 🙂

    Reply ↓
  33. jorikfon

    в 8.2.14.540 все работает….

    Reply ↓
  34. jorikfon

    Высянил что проблема в 8.2.15.289 если поле в базе данных имеет в имени символ подчеркивания то запрос вылетает с такой ошибкой.

    т.е. если в таблице все поля заданы одним словом, то проблемы нет.Если используется символ подчеркивания то возникает ошибка трансляции запроса.

    Reply ↓
  35. haput

    Надо дальше покопать

    Reply ↓
  36. fr.myha

    Спасибо большое за статью, сейчас интересуюсь это темой!

    Reply ↓
  37. q_i

    (1) V_V_V, насчёт подключения с использованием DSN: там просто строка подключения будет иметь вид «DSN=<Имя-DSN>;».

    Теоретически, так можно избавиться от необходимости указывать логин/пароль в коде.

    Reply ↓
  38. dagroma

    Статья очень помогла при подключении к СКУД Сфинкс. Спасибо.

    Reply ↓
  39. Levran123

    (38) dagroma, не мог бы ты подробней описать процедуру подключения к сфинксу? а то у менять только named pipe конектица, а как её к 1с подключить пока не нарыл…

    Reply ↓
  40. savvato

    наткнулся на статью случайно, но очччень помогла в одном проекте. плюсанул)

    Reply ↓
  41. axell

    (38) dagroma,

    Помоги пожалуйста. прочитал что ты сфинкс прикрутил к внешним источникам данных. Помоги пожалуйста у меня что то не получается

    Reply ↓
  42. axell

    Хотя тут все настроил верно. Подключается успешно.

    Строка соединения выглядит так

    «DRIVER={MySQL ODBC 5.1 Driver};

    SERVER=10.10.107.244;

    DATABASE=tc-db-log;

    »

    Написал просто внешнюю обработку этот код отрабатывает на 5+

    «Connection = Новый COMОбъект(«ADODB.Connection»);

    ConnectionString = «DRIVER=MySQL ODBC 5.1 Driver;PWD=;PORT=3305;SERVER=10.10.107.244;UID=root;»;

    Попытка

    Connection.Open(СокрЛП(ConnectionString));

    Сообщить(«Соединение осуществлено в «+ТекущаяДата());

    Исключение

    Сообщить(ОписаниеОшибки());

    Возврат;

    КонецПопытки;»

    Ребята в чем у меня ошибка, что делаю не так????

    Reply ↓
  43. axell

    (41) axell,

    Ребята ошибка релиза 1С:Предприятие 8.2 (8.2.16.352), все тоже самое воспроизвел на 1С:Предприятие 8.2 (8.2.14.540)все работает.

    Reply ↓
  44. axell

    Ребята и под занавес в 1С:Предприятие 8.2 (8.2.17.135) тоже все работает.

    Reply ↓
  45. yuraos

    (22 pri_hod, поддерживаю!

    Почему-бы напрямую не использовать ADO ?

    Reply ↓
  46. yuraos

    (45)

    Через ADO можно не только что-нибудь прочитать с сайта,

    но и при желании записать какие-нибудь данные.

    Например можно организовать нестандартный обмен с сайтом

    с прямой записью в базу сайта, минуя файлы выгрузки.

    Имеются определенные наработки в этом направлении.

    Reply ↓
  47. AlekSo

    Поставил на Сервер 2008 х64. При попытке соединения выпадает ошибка:

    «Ошибка ODBC. SQLSTATE: IM002

    Номер ошибки: 0

    Описание: [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию»

    Причем всё тоже самое на обычной х32 соединяется и работает. Может ещё что-то надо добавить в строку соединения?

    Причём настроил в виндовском менеджере источников данных вполне нормально завёл это соединение.

    PS Изменил строку подключения на DSN=MySQL получил ошибку

    Ошибка ODBC. SQLSTATE: IM014

    Номер ошибки: 0

    Описание: [Microsoft][Диспетчер драйверов ODBC] В указанном DSN архитектура драйвера и архитектура приложения не соответствуют друг другу.

    Reply ↓
  48. AlekSo

    Проблема решена удалением на сервере драйвера х64 и установкой х32

    Reply ↓
  49. kashafeev

    Скачал и установил ODBC-Коннектор, настроил его как надо — Тест показывает, что соединение установлено. При добалении таблицы во внешнем источнике данных, когда прописываю DRIVER={MySQL ODBC 5.1 Driver}, выдаёт вот такую вот ошибку: «ошибка получения параметров строки соединения. Возможно, драйвер не позволяет получать параметры строки соединения». Что я делаю не так? 1С:Предприятие 8.3 (8.3.3.641)

    Reply ↓
  50. alex-pro

    Устанавливать драйвер нужно на сервер 1С, а не на локальный комп, если у вас серверная версия 1С.

    А если файловая — на свой комп, конечно.

    Reply ↓
  51. ogursoft

    А как установить связь с базой mssql? Например при изменении данных в конфигурации 1с нужно вносить изменения в базу mssql или через определенное время выполнять синхронизацию

    Reply ↓
  52. pavel_pss

    Спасибо очень помогло

    Reply ↓
  53. andrey314

    MySQL поддерживается внешними источниками неполноценно. Например запрос «ВЫБРАТЬ ПЕРВЫЕ 100» не работает. Отсюда как следствие невозможность отображения в динамических списках. В 8.3 уже есть поддержка MySQL

    Reply ↓
  54. KillHunter

    А платформа 8.3 интересно поддерживат только чтение или запись тоже ?

    Reply ↓
  55. andrey314

    (54) KillHunter, Судя по ссылке http://v8.1c.ru/o7/201402ext/index.htm поддерживает в 8.3 или будет поддерживать в следующих версиях

    Reply ↓
  56. coollerinc

    Блин на платформе 8.3.4.496 до сих пор ошибка с полями у которых есть нижнее подчеркивание. Сейчас попробую скачать последнюю версию платформы. Если кому поможет, то надо ставить драйвер mysql x32, c x64 не работает

    Reply ↓
  57. coollerinc

    Парни что я делаю не так? поставил себе последнюю платформу(8.3.5.1146), подключил базу через внешний источник данных. Если в конструкторе запросов выбираю поле без нижнего подчеркивания — то все работает. Если выбираю поле с нижним подчеркиванием, то выдает ошибку:

    {Форма.Форма.Форма(24)}: Ошибка при вызове метода контекста (Выполнить)

    Таблица = Запрос.Выполнить().Выгрузить();

    по причине:

    Ошибка выполнения запроса

    по причине:

    Ошибка внешней базы данных:

    ошибка при выполнении запроса

    по причине:

    Ошибка ODBC. SQLSTATE: 42000

    Номер ошибки: 1064

    Описание: [MySQL][ODBC 5.1 Driver][mysqld-5.5.25]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘»section_id»

    FROM lesson_article T1′ at line 2

    Reply ↓
  58. ORIX86

    Для решения проблемы указать

    ПараметрыСоединенияССайтом.СУБД = «MySQL»;

    Reply ↓
  59. Ukubaeva

    В чем моя ошибка ,подскажите, пожалуйста!

    Через внешний источник данных подключаюсь, пишу в строке соединения:

    DRIVER={MySQL ODBC 5.1 Driver};

    SERVER=192.168.0.12;

    DATABASE=asteriskcdrdb;

    Далее пишу пользователя и пароль указываю. Драйвер видит, но не подключается:

    Ошибка ODBC. SQLState:HY000 Номер ошибки: 2003

    Описание: [MySQL][ODBC Driver] Can’t connect to MySQL server on ‘192.168.0.12’ (10060)

    Может, кто сталкивался, отчего такое возникает?

    Reply ↓
  60. Ukubaeva

    (59) Ukubaeva, Нашли проблему, брандмауер

    Reply ↓
  61. alekseineputin

    (59) Ukubaeva, скачали (51)?

    Reply ↓
  62. ui69

    Пока я не прописал параметры соединения вот так:

     ПараметрыСоединенияССайтом.АутентификацияСтандартная=Истина;
    ПараметрыСоединенияССайтом.ИмяПользователя=[имя_пользователя];
    ПараметрыСоединенияССайтом.Пароль=[пароль];
    ПараметрыСоединенияССайтом.СУБД=»MySQL»;

    соединения не получалось.

    В самой строке соединения только три строки — DRIVER, SERVER, DATABASE.

    Reply ↓
  63. ui69

    Ха…

    Да для чтения данных вообще лишних движений делать не надо, после того ка создали его в конфигураторе, в обработке просто делаем запрос, безо всяких параметров соединения.

    Reply ↓
  64. imbaZeratul

    Платформа 8.3.7.1831

    Внешние источники создались, все ок.

    В обработке пишу

    ПараметрыСоединенияССайтом = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
    ПараметрыСоединенияССайтом.СУБД = «MySQL»;
    ПараметрыСоединенияССайтом.АутентификацияСтандартная=Истина;
    ПараметрыСоединенияССайтом.ИмяПользователя=»root»;
    ПараметрыСоединенияССайтом.Пароль=»»;
    ПараметрыСоединенияССайтом.СтрокаСоединения= »
    |DRIVER={MySQL ODBC 5.1 Driver};
    |SERVER=127.0.0.1;
    |DATABASE=avto_car;
    |UID=root;
    |PWD=;»;
    ВнешниеИсточникиДанных.ВнешнийИсточникДанных1.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединенияССайтом);
    ВнешниеИсточникиДанных.ВнешнийИсточникДанных1.УстановитьСоединение();
    Запрос = Новый Запрос(«ВЫБРАТЬ
    | avto_klient.Ссылка,
    | avto_klient.klient_id,
    | avto_klient.klient_name,
    | avto_klient.klient_soname,
    | avto_klient.klient_sname,
    | avto_klient.klient_avto,
    | avto_klient.klient_email,
    | avto_klient.klient_tel,
    | avto_klient.klient_dateadd,
    | avto_klient.klient_useradd,
    | avto_klient.klient_city,
    | avto_klient.Представление
    |ИЗ
    |   ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Таблица.avto_klient КАК avto_klient»);
    Таблица = Запрос.Выполнить().Выгрузить(); 

    Показать

    при подключении ошибка

    http://prntscr.com/cndu9g

    Reply ↓
  65. imbaZeratul

    (65) Разобрался

    Reply ↓
  66. klyasseo

    (66)Такая же проблема. Расскажите как разобрались?

    Reply ↓
  67. ui69

    (67) Не видит БД, либо у пользователя с доступом к базе проблема.

    Впринципе это и на скрин-шоте написано..

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *