Публикация

Mobile. Не добавляется деталь "Продукт в заказе" (чешская локализация)

Симптомы

Суть проблемы: в чешской локализации невозможно добавить стандартную деталь. При сохранении изменений в консоли ошибка «Cannot read property 'name' of undefined» (версия 7.7).

 Кейс 1:

- открываем в мастере мобильного приложения «Настроить детали» в разделе «Заказы» (Objednбvky).

 

- добавляем деталь «Продукт в заказе» (Produkt v objednбvce)

 

- в результате добавления детали «Продукты в заказе» в дизайнере мобильного приложения происходит свал:

 

Если опять перейти в настройки детали, то caption этой детали не отображается.

 

Кейс 2:

- в мастере мобильного приложения открыть настройки стандартной детали, например, раздела «Контрагенты» (Firmy)

 

- ничего не добавляем, а только необходимо нажать на кнопку сохранить;

 

- заново открываем настройки детали раздела «Контрагенты».  Увидим, что caption снова не отображаются. Снова нажимаем на сохранить.

 

- в результате возникает такая же ошибка.

 

Доп. информация:

- На русской и английской локализации не удается воспроизвести ошибку.

- В 7.8 не удалось воспроизвести, так как нет демки с чешской локализацией.

- При создании детали нормально формируется код:

{
    "operation": "insert",
    "name": "settings",
    "values": {
        "entitySchemaName": "Order",
        "details": [],
        "columnSets": [],
        "localizableStrings": {
            "primaryColumnSetOrder_caption": "Zбkladnн informace",
            "OrderProductDetailV2StandartDetailOrder_caption": "Produkt v objednбvce"
        },
        "settingsType": "RecordPage",
        "operation": "insert"
    }
},

но у самой локализационной строки OrderProductDetailV2StandartDetailOrder_caption значение пустое. Если же туда добавить руками Produkt v objednбvce, то на странице перечня деталей карты Заказ мобильного приложения название появляется. Если же мы будем добавлять деталь сразу на страницу - то тоже самое сначала название детали видно, но после ее конфигурирования, сохранения страницы и повторного ее открытия видим undefined вместо названия. При этом никаких ошибок ни в консоли, ни в запросах нет.

Решение

Для решения проблемы необходимо:

1)      Создать замещающий клиентский модуль(Nahrazující uživatelský modul) для схемы «Mobile app module - Section designer»

Внутри написать такой код:

define("MobileSectionDesignerModule", [],
    function() {
        return {};
    }
);
Ext.define("Terrasoft.MobileDesignerSchemaManager.override", {
    override: "Terrasoft.MobileDesignerSchemaManager",
    statics: {
        getCultureValues: function(value) {
            var res = this.callParent(arguments);
            res["cs-CZ"] = value;
            return res;
        }
    }
});

 

2)      После чего, удалить проблемный раздел из конфигурации:

А) Удалить схемы

UsrMobileOrderActionsSettingsDefaultWorkplace

UsrMobileOrderGridPageSettingsDefaultWorkplace

UsrMobileOrderProductActionsSettingsDefaultWorkplace

UsrMobileOrderProductGridPageSettingsDefaultWorkplace

UsrMobileOrderProductRecordPageSettingsDefaultWorkplace

UsrMobileOrderRecordPageSettingsDefaultWorkplace

 

Б) В манифесте MobileApplicationManifestDefaultWorkplace

Удалить локализируемую строку OrderSectionTitle

И в блоке "Modules" удалить "Order"

3)      И снова добавить раздел и деталь  через дизайнер.

Нравится

Поделиться

0 комментариев
Показать все комментарии