|
Внешний источник данных. Конвертация значений типа enum MYSQL |
☑ |
0
php5
23.06.16
✎
18:11
|
Добрый день!
Использую внешний источник данных для подключения к базе MYSQL.
Столкнулся с проблемой, непонятно как конвертировать значения типа enum.
1С при формировании полей и таблиц внешнего источника для поля типа enum со значениями ("new","used") подставляет тип: Строка(11), фиксированная.
при попытке заполнить это поле как строку "new", вываливается ошибка MYSQL.
Каким образом можно сконвертировать значение в enum?
|
|
1
Gimalaj
23.06.16
✎
19:38
|
Ошибку - в студию!
|
|
2
php5
23.06.16
✎
23:15
|
{ОбщийМодуль.СинхронизацияССайтом.Модуль(398)}: Ошибка при вызове метода контекста (Записать)
Объект_ps_product.Записать();
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: 42000
Номер ошибки: 1064
Описание: [MySQL][ODBC 5.3(w) Driver][mysqld-5.1.73-log]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 'condition,`show_price`,indexed,visibility,`cache_is_pack`,`cache_has_attachments' at line 1
------------------------
Также описание полей таблицы к которой обращаюсь и описание типа enum колонки "condition" ->
|
|
3
php5
24.06.16
✎
00:41
|
Решил свою проблему путем удаления из списка записываем полей поле "condition". Почему 1с не нравится передача в него параметра в виде строки непонятно т.к. в другие поля пишется без проблем, хотя они тоже enum.
мЗаписываемыеПоля = Объект_ps_product.ПолучитьЗаписываемыеПоля();
Индекс_condition = мЗаписываемыеПоля.Найти("condition");
мЗаписываемыеПоля.Удалить(Индекс_condition);
Объект_ps_product.УстановитьЗаписываемыеПоля(мЗаписываемыеПоля);
Объект_ps_product.Записать();
|
|
4
php5
24.06.16
✎
00:42
|
(3) Поскольку поле я убрал из списка записываемых то в него записывается значение по умолчанию, которое меня устраивает.
|
|