|
|
|
Прошу помочь с "ОбменССайтомСервер, Несоответствие фасету MaxLength = '80' | ☑ | ||
|---|---|---|---|---|
|
0
n7e
03.06.20
✎
20:42
|
Попросила меня одна знакомая сделать выгрузку на сайт.
и вот такое чудо, конфиг. Ювелирный торговый дом 10.5 (судя по виду это мод УТ) честно уже давно не практиковал ничего, так как сижу в тюрьме 6 лет. вопрос собственно в чем. некоторые описания товаров, как я понял, вмещают в себя все свойства итд, и получается Ид(код) более 80 символов, как найти эти товары либо отсечь лишние символы? https://ibb.co/qJLRc0p ============================================== {ОбщийМодуль.Б_ОбменССайтомСервер.Модуль(6113)}: Ошибка при установке значения атрибута контекста (ИдЗначения) XDTOСправочник.ИдЗначения = XMLСтрока(ВыборкаЗначенийСвойств.ПереченьКамнейТранслит); по причине: Несоответствие типов XDTO по причине: Ошибка проверки данных XDTO: Значение: '10mm-nit-silikonovaya-pokrytaya-zhemchuzhnoj-ehmuls-rodirovanie-yuvelirnyj-splav-zhemchuzhnaya-imitaciya-iz-nat' не соответствует простому типу: {urn:1C.ru:commerceml_2}ИдентификаторГлобальныйТип Несоответствие фасету MaxLength = '80' ============================================== |
|||
|
1
Волшебник
модератор
03.06.20
✎
20:46
|
(0) Вам в тюрьму интернет провели? Или удалось передать мобильник с кошкой?
|
|||
|
2
Ёпрст
гуру
03.06.20
✎
22:38
|
(0) дык обрежь до 80 символов и привет
|
|||
|
3
Ёпрст
гуру
03.06.20
✎
22:40
|
а так-то, в ид лучше пихать серилизованную ссылку на объект, а не строку транслита
|
|||
|
4
hhhh
04.06.20
✎
00:18
|
(0) наверно не в ио поле пишешь. Описание товара - это вообще-то реквизит длиной 1024. А ты его почему-то в идентификатор хочешь загнать. Всё перепутал.
|
|||
|
5
n7e
04.06.20
✎
07:49
|
(4) загнали видимо разрабы этого всего чуда в перьях) я лиш хочу найти самый простой способ обойти ошибки, и не исключаю что это ошибки загрузки информации из других баз.
(1) и то и то))) (2) если бы я знал как то не просил бы о помощи) |
|||
|
6
Ёпрст
гуру
04.06.20
✎
09:16
|
(5) Прав() Лев()..дарю..
|
|||
|
7
n7e
04.06.20
✎
10:41
|
(6) может это как то вам поможет? мне почему то кажется что решение где то тут
https://ibb.co/dkqWft0 |
|||
|
8
Ёпрст
гуру
04.06.20
✎
12:02
|
(7) поменяй на так:
XDTOСправочник.Значение = XMLСтрока(ВыборкаЗначенийСвойств.ПереченьКамнейТранслит); XDTOСправочник.ИдЗначения = XMLСтрока(ВыборкаЗначенийСвойств.ПереченьКамней); |
|||
|
9
yzimin
04.06.20
✎
12:38
|
Если вариант из (8) недопустим, то нужно схему XSD поправить руками.
Но в любом случае очень печально, что в модуле битрикса не стоит защита от дурака на обрезание лишних символов, сам натыкался на ограничения в 250 символов в адресной строке. Ошибка не критичная с точки зрения функционала, но вот обмен упал |
|||
|
10
n7e
04.06.20
✎
20:48
|
(8) поправил, но теперь вот так. в принципе изменилось только то, что он не транслитом выдает )
https://ibb.co/JnZ7gL5 |
|||
|
11
n7e
04.06.20
✎
20:52
|
(9) есть ли у вас готовая наработка по решению этой нестыковочки?)
|
|||
|
12
yzimin
05.06.20
✎
08:49
|
(11) Везде, где можно потенциально превысить количество символов, пришлось вписать код из (6)
|
|||
|
13
n7e
05.06.20
✎
08:54
|
(12) прямо вот так Прав() Лев() ?)
может есть возможность поиска этих значений? просто возможно что всего несколько товаров с таким длинным хвостом *(надеюсь) |
|||
|
14
n7e
05.06.20
✎
09:17
|
я как понял что то на подобии вот этого должно получится?
XDTOСправочник.ИдЗначения = XMLСтрока(Лев((ВыборкаЗначенийСвойств.ПереченьКамнейТранслит),70)); поправьте если где в синтаксисе накосячил) |
|||
|
15
yzimin
05.06.20
✎
09:48
|
(14) мы же не знаем твою бизнес-задачу. Варианта 3:
1. Ограничить количество символов на запись в сам справочник 2. Тупо прописать в выгрузке битрикса 3. Увеличить длину поля для XDTO что тебе требуется, то и делай |
|||
|
16
n7e
05.06.20
✎
11:22
|
(15) спасибо, выгрузка прошла сейчас по крайней мере.
а если вариант 3. это в пакетах? я искал , но не нашел где. можете ткнуть меня "рылом" в область поиска?) |
|||
|
17
yzimin
05.06.20
✎
15:58
|
(16) В УТ11 например XSD лежит в планах обмена -> Б_ОбменССайтом -> СхемаXSDОбмена
Выгружаешь в файл, правишь, загружаешь назад |
|||
|
18
n7e
05.06.20
✎
16:15
|
(17) Так, поправил, сейчас тестирую, если нифига то придется через Лев() все делать, там дальше еще одна ошибка с Предложение.Ид выскочила, попробовал Лев(), все отработало. Осталось только теперь на сайт без косяков это все загрузить.
О чудо, MaxLength = 254 решило проблему. Кстати в поддержке этой конфы (только что пришло письмо) что увеличьте длинну в XSD до 254 символов. Всем огромнейшее спасибо. А я перехожу к след головоломке)))) Мир не без добрых людей. ;-) p.s. через 11 дней суд на условно-досрочное, кроет по тихоньку из за нервяков. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |