Страница 1 из 1

Изменить тип свойства

Добавлено: 17 дек 2012 22:41
Pavel
CC+туннель+битрикс
Подскажите, есть ли возможность задавать тип для свойств в СС при их создании и экспорте через туннель? Сейчас по умолчанию все свойства через туннель экспортируются в битрикс с типом "Строка", надо же чтобы часть были строками, часть числами, часть булевыми значениями.... Как это реализовать? Менять в ручную в битриксе после создания свойств - не подходит.

Re: Изменить тип свойства

Добавлено: 21 дек 2012 14:41
support
Такой возможности нет, только путем составления SQL запросов.
вот пример задания типа "булевыми значениями" для 'Спецпредложение':

Код: Выделить всё

UPDATE b_iblock_property SET PROPERTY_TYPE='L' WHERE NAME='Спецпредложение'
но нужно будет прописывать названия каждой характеристики

Re: Изменить тип свойства

Добавлено: 21 дек 2012 15:35
Pavel
К сожалению данный способ не работает, в первую очередь его и попробовал. Вернее он меняет тип в базе, но в дальнейшем фильтрация по этому свойству не проходит, если свойтво в ней учавствует - всегда выдается пустой результат, хотя в админке битрикса значение этого свойства отображается. В поддержке битрикса ответили что необходимо изначально создавать свойства нужного типа.

Re: Изменить тип свойства

Добавлено: 22 дек 2012 10:10
TechAdmin
Уточните в поддержке битрикса, с чем связана необходимость создавать свойство нужного типа изначально?
Получается, что в админ части не работают переключатели изменения типа свойства?
setup_type_features.png
setup_type_features.png (180.49 КБ) 5020 просмотров

Re: Изменить тип свойства

Добавлено: 25 дек 2012 02:41
Pavel
Переключатели работают, фильтр по этому свойству после этого не работает.
Выяснилось в чем дело.
Значения свойств в битриксе хранятся в таблице b_iblock_element_property, вот в таком виде:

Код: Выделить всё

ID	IBLOCK_PROPERTY_ID	IBLOCK_ELEMENT_ID	VALUE	VALUE_TYPE	VALUE_ENUM	VALUE_NUM	DESCRIPTION
СС заполняет всегда эти поля следующим образом:

Код: Выделить всё

ID	IBLOCK_PROPERTY_ID	IBLOCK_ELEMENT_ID	VALUE	VALUE_TYPE	VALUE_ENUM	VALUE_NUM	DESCRIPTION
17152	3994	5579	19	text	NULL	NULL	NULL
Т.е., как приведено в примере выше, указано значение 19 (VALUE) для одного только типа text (VALUE_TYPE). Для числового типа, знаение всегда явно задается в колонке VALUE_NUM, оно же всегда равно NULL, после экспорта из СС.

Если в битриксе тип поля указан строка, то значения берутся из колонки VALUE, если же указан тип число, то из колонки VALUE_NUM.
Поэтому правильно было бы заполнять при экспорте из СС в таблице b_iblock_element_property значения следующим образом:

Код: Выделить всё

ID	IBLOCK_PROPERTY_ID	IBLOCK_ELEMENT_ID	VALUE	VALUE_TYPE	VALUE_ENUM	VALUE_NUM	DESCRIPTION
17152	3994	5579	19	text	NULL	19.0000	NULL
Можно было бы вручную через sql запрос все подправить, но при новых товаров все нужно будет повторять и можно запутаться во всем этом, ведь таких свойств много.
Сможете подправить?

P.S. Не успел сказать спасибо на мою пред. проблему по которой обращался через асю - все заработало, спасибо!

Re: Изменить тип свойства

Добавлено: 25 дек 2012 09:46
TechAdmin
Проблема понятна, доработаем СС как можно быстрее, ожидайте.

Re: Изменить тип свойства

Добавлено: 25 дек 2012 13:52
TechAdmin
Для вас доступна новая версия программы СС.