Сергей написал: После обновления Битрикса единицы измерения передаються как 0. У нас используеться стандартная вигрузка с 1с 8.2, без модулей обмена. В import.xml базовая единица передаеться строкой (пример - <БазоваяЕдиница Код="4 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>). Что делать чтоб опять всё заработало?
В новой версии Битрикс Управление сайтом поменяли тип БазоваяЕдиница на целое число. Это код единицы измерения, который можно найти в справочнике единиц измерения. При этом не ясен вопрос, как пополнять этот справочник из 1С, как загружать коэффициент единицы измерения из 1С.
Что делать, чтобы заработало, как раньше? Есть решение.
Базовую единицу передавать как свойство в товаре и предложениях. При этом Ид должен быть равен коду этого свойства в информационном блоке. Пример (внутри тегов <Товар> или <Предложение>):
Александр, подскажите пожалуйста что нужно указывать в Дополнительных реквизитах модуля обмена для УНФ, если хотим передать Битриксу Коэффициент единицы измерения. Например, цена за шт, но продается упаковками по 10 шт. В магазине покупатель мог заказывать исключительно упаковками кратно 10 штукам. При вводе в поле Дополнительных реквизитов "Наименование поля 1С" Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, при проверке модуль выдает ошибку: "При проверке корректности поля 1С, возникла ошибка. При обмене возникнет ошибка". Все обновления установлены, как Битрикса, так и стоит последняя версия Модуля обмена 1С
Платформа 1С:Предприятие 8.3 (8.3.7.1917), Конфигурация Управление торговлей для Украины, редакция 3.1 (3.1.2.4) Модуль от Битрикс: "бесплатные дополнения для торговых конфигураций 1С":, Украина, (3.1.2.4, дата: 08.09.2016) /* -- ------------------------------------------------------------------------------------------------------------- -- */ В формируемом xml файле (import___ ... .xml, CommerceML 2 (КоммерческаяИнформация, ВерсияСхемы="2.10") ), в поле <КоммерческаяИнформация><Классификатор><ЕдиницыИзмерения><ЕдиницаИзмерения><Код> записывается 3-х значное число, хотя в классификаторе КСПОВО( ), код единицы измерения определен как 4-х значный. Итог - отсутствие в xml, формируемом модулем обмена с сайтом от Битрикс, кода единицы измерения, доступного для импорта. ( урезается последняя цифра кода, из штук (код "2009"), получается непонятно что (код "200" в классификаторе единицы измерения не предусмотрен )
Ссылки: дополнительный модуль от Битрикс: официальные версии классификаторов Украины: /* -- ------------------------------------------------------------------------------------------------------------- -- */ Исправление для модуля обмена с сайтом от Битрикс:
В самой схеме обмена модуля от Битрикс с сайтом ничего менять не нужно. Это определение поля "ЕдиницаИзмерения"."Код" из УправлениеТорговлейДляУкраины\Общие\Планы обмена\Б_ОбменССайтом\Макеты\СхемаXSDОбмена
P.S. Длина поля ЕдиницаИзмерения.Наименование в 1С составляет 45 символов (УТ для Украины v3.1.2.4), в процедура ВыгрузитьЕдиницыИзмеренияXDTO есть строчка XDTOЕдиницаИзмерения.НаименованиеКраткое= Лев(ВыборкаЕдиниц.Наименование,3);
Скрытый текст
=> КраткоеНаименование единицы измерения, при экспорте от Битрикс (в XML CommerceML 2.10) урезается c 45 до 3 символов.
Исправление только процедуры ВыгрузитьЕдиницыИзмеренияXDTO выдаст несоответствие типа при формировании xml.
3. Выгрузить в .xsd схему обмена модуля от Битрикс с сайтом УправлениеТорговлейДляУкраины\Общие\Планы обмена\Б_ОбменССайтом\Макеты\СхемаXSDОбмена.
4. Внести в нее корректировку типа <xs:complexType name="ЕдиницаИзмерения"> оригинал <xs:element name="НаименованиеКраткое" type="tns:Строка3" /> исправленный вариант: <xs:element name="НаименованиеКраткое" type="tns:СтрокаТип" />
5. Загрузить исправленный вариант схемы обмена обратно в конфигурацию.
6. Сохранить изменения конфигурации, обновить конфигурацию базы данных ....
В итоге будет несоответствие стандарту обмена CommerceML 2, но хоть из xml можно будет прочитать название единицы измерения :)
P.S.S Где взять официальную документацию по CommerceML редакции 2, версии 2.10 ? /* или хотя бы список изменений в версии CommerceML2.10, по отношению к версии 2.08 */
valv_id написал: P.S.S Где взять официальную документацию по CommerceML редакции 2, версии 2.10 ? /* или хотя бы список изменений в версии CommerceML2.10, по отношению к версии 2.08 */
В в старых версиях CommerceML тоже нельзя было более 3 символов. Да, есть такое ограничение.
Почему так происходит? Да и как базовая единица связана с единицей измерения в торговом каталоге на вкладке параметры? Если это одно и то же, то почему тогда там стоят штуки?
Для вывода доступного количества товара на сайте я добавил в шаблон каталога bitrix/templates/.default/components/bitrix/catalog/template1/bitrix/catalog.section/.default/template.php следующий код:
но 'CATALOG_MEASURE_NAME' остается всегда в шт. Может быть где то нужно поставить галочку? Не могу понять почему нет вывода других единиц измерения во фронтэнд, а только штуки.
2019 год подходил к концу, 1С презентовали 20 версию БУС, но единицы измерения товара и коэффициент так и не работают в стандартном обмене с 1С: Предприятием...
Ну судя по всему это нужно слишком малому количеству пользователей. Основаная масса интернет-магазинов на битриксе видимо не требуют этого в силу того что это не оптовые магазины, а если крупные и оптовые, то они стандартный обмен не используют вообще.
Есть очень простое решение этой проблемы. Но это решение "костыль"! Используйте этот метод вдумчиво. Понимая, что в некоторых обстоятельствах он может перестать работать:
В файле /bitrix/admin/1c_exchange.php Прямо в самом верху вставьте следующий код: