Имя: Пароль:
1C
1С v8
CommerceML 2 ЕдиницаТип
,
0 MxDn
 
05.10.18
13:44
Обратились тут с ошибкой при выгрузке на сайт из Розницы:

{ОбщийМодуль.ОбменССайтом.Модуль(1114)}: Ошибка при установке значения атрибута контекста (Единица)
            ЦенаXDTO.Единица = СтрокаТипЦены.ТипЦеныЕдиницаЦеныНаименованиеСокращенное;
по причине:
Несоответствие типов XDTO
по причине:
Ошибка проверки данных XDTO:
Значение: 'шт' не соответствует простому типу: {urn:1C.ru:commerceml_2}ЕдиницаТип
Несоответствие фасету MinLength = '3'

Зачем-то влепили ограничение на минимальную длину аж в 3 символа. Со школы помню, что бывает и меньше. Подумал, как всегда реализация подкачала и открываю стандарт на желтом сайте http://v8.1c.ru/edi/edi_stnd/90/92.htm и там русским по белому:
1.1.10. ЕдиницаТип
Определение:
Единица измерения по ОКЕИ.
Базовый тип: Identifier
Ограничения:
мин. длина: 3 сим.
макс. длина: 4 сим.

Тут же вспоминаю, что есть единицы и больше 4 символов.

WTF?
1 hhhh
 
05.10.18
14:09
(0) единица измерения по ОКЕИ - это трехзначное число, чтоб ты знал.
2 MxDn
 
05.10.18
14:57
(1) Что такое код единицы измерения, я в курсе. Написано же "Единица измерения по ОКЕИ", а не "Код единицы измерения по ОКЕИ". Про валюту, например, они ж написали, что это код:
1.1.4. ВалютаТип
Определение:
Код валюты по международному классификатору валют (ISO 4217).
И на сайте хочется видеть не коды, а названия.
3 hhhh
 
05.10.18
15:32
(2) ну если вас не устраивает формат CommerceML, делайте в другом формате. Непонятна проблема.

то, что вы видите на сайте - это вообще-то как вы загрузку из файла на сайт напишете. Хотите этот трехзначный код лепить, пожалуйста. Если сделаете преобразование в название, на сайте у вас будет название ЕИ.
4 MxDn
 
05.10.18
16:09
(3) Сам CommerceML, как стандарт, меня устраивает. Не устраивает определение в описании типов. Непонятно, что они имели ввиду Код или Обозначение. Пишу не я, все уже написано до нас, мы только разгребаем.
Сгоряча я, конечно, поставил минимальную длину 1 в пакете XDTO и все пошло, но сейчас вернул обратно и уже в запросе изменил ЕдиницаИзмерения.Наименование на ЕдиницаИзмерения.Код и также пошло.
Видимо, писатель типовой конфы тоже не понял, что нужно выбирать Код.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс