Чтобы использовать пользовательские поля складов в компоненте `sale.order.ajax`, вам нужно будет модифицировать JavaScript код компонента, а также, возможно, битриксовый компонент или модель данных, если вы хотите, чтобы данные автоматически загружались в ваш JavaScript.
### Шаги для добавления пользовательского поля в компонент sale.order.ajax:
1. **Сначала создайте пользовательское поле для складов.**
Убедитесь, что у вас есть пользовательское поле (например, `UF_NEW_NAME`) в настройках свойств ваших складов.
2. **Добавьте пользовательское поле в выборку данных.**
Скорее всего, вашему полю не передается значение в JS. Найдите место в коде, где создается выборка складов (обычно это происходит в PHP-коде компонента).
Например, в файле компонента `sale.order.ajax`, вы можете изменить метод, который происходит независимо или во время инициализации. Убедитесь, что ваша выборка получает пользовательское поле:
```php
// Пример выборки данных склада, добавьте в выборку UF_NEW_NAME
$arStores = array();
$res = \Bitrix\Sale\Store::getList(array(
'select' => array('ID', 'TITLE', 'UF_NEW_NAME'), // ваш пользовательский поле здесь
));
while ($store = $res->fetch()) {
$arStores[] = $store;
}
```
3. **Передайте данные в JavaScript.**
После того как вы получаете данные на стороне PHP, вам необходимо передать их в JavaScript. Если ваш компонент использует `arResult` для передачи данных в шаблон, убедитесь, что в `arResult` включены данные о складах:
```php
$this->arResult['STORES'] = $arStores;
```
4. **Обновите JavaScript код.**
Теперь, когда данные о складах содержат пользовательское поле, вам нужно обновить ваш JavaScript, чтобы использовать `UF_NEW_NAME`. Откройте `order_ajax.js` и найдите функцию `createPickUpItem`. В этой функции добавьте логику для отображения или использования `UF_NEW_NAME` вместо `TITLE`.
Например:
```javascript
createPickUpItem: function(currentStore, options) {
var storeName = currentStore.UF_NEW_NAME || currentStore.TITLE; // используем наше пользовательское поле
// Используйте storeName в вашем коде
}
```
5. **Проверьте изменения.**
После этих изменений проверьте ваш фронтенд, чтобы убедиться, что замененные названия теперь отображаются корректно.
### Дополнительные советы:
- **Кэширование.** Если вы используете кэширование или CDN, не забудьте очистить кэш после внесения изменений.
- **Отладка.** Используйте инструменты разработчика в браузере для отладки и проверки данных, если они правильно передаются на фронтенд.
- **Документация и ресурсы.** Ознакомьтесь с официальной документацией по Bitrix, чтобы убедиться в совместимости ваших изменений и сохранении функциональности.
Таким образом, вы можете использовать пользовательские поля в компонентах Bitrix и менять отображаемые значения в интерфейсе.