Есть раздел, в который необходимо добавить деталь средств связи с полями (мобильный телефон, email, дополнительный телефон).
Попытался повторить ответ на вопрос https://community.terrasoft.ru/questions/sredstva-svazi-lida, так как в моем случае, средства связи будут привязываться(указывать) к конкретному лиду.
Но реализовать выше приведенную пример, мне не удалось, деталь не отображается.
Таблица детали:
UsrLeadCommunication, унаследована от Базовое средство связи ( Base ).
Добавил два Lookup'а на таблицу Lead, и на таблицу раздела, где должна отображаться данная деталь.
Модель детали:
define("UsrLeadCommunicationDetail", ["UsrLeadCommunicationDetailResources", "terrasoft", "Lead", "ConfigurationEnums", "ConfigurationConstants"], function(resources, Terrasoft, Lead, ConfigurationEnums, ConfigurationConstants) { return { entitySchemaName: "UsrLeadCommunication", methods: {} }; });
В dependencies добавил все зависимости.
В page раздела добавил:
в details:
{ // Настройка детали [Способы связи] "UsrLeadCommunicationDetailElement": { "schemaName": "UsrLeadCommunicationDetail", "entitySchemaName": "UsrLeadCommunication" "filter": { "detailColumn": "UsrApplicationForm", // Lookup на раздел с формой "Id" } } }
в diff:
{ "operation": "insert", // Название детали. "name": "UsrLeadCommunicationDetailElement", "values": { "itemType": Terrasoft.core.enums.ViewItemType.DETAIL, "markerValue": "added-detail" }, "parentName": "Tabf9415591TabLabel", "propertyName": "items", // Индекс в списке добавляемых элементов. "index": 3 }
В логи браузера сыпется ошибка:
SchemaBuilderV2.js:282 Uncaught TypeError: Cannot read property 'entitySchemaName' of undefined at i.<anonymous> (SchemaBuilderV2.js:282) at all-combined.js:503 at Object.execCb (require.js:1693) at Module.check (require.js:881) at Module.enable (require.js:1173) at Module.init (require.js:786) at require.js:1457
Вопрос: как правильно реализовать деталь средств связи для формы раздела?
Нравится
Проверьте ошибки при сохранении схемы и устраните,обычно данное сообщение связано с нарушение структуры модуля, те лишняя запятая, скобка и тд. Все это в последних версиях проверяется при сохранении и выводится ошибка и номер строки в которой она обнаружена!
Если не получится найти ошибку самостоятельно приведите полный исходный код модуля (текст)
Проверьте ошибки при сохранении схемы и устраните,обычно данное сообщение связано с нарушение структуры модуля, те лишняя запятая, скобка и тд. Все это в последних версиях проверяется при сохранении и выводится ошибка и номер строки в которой она обнаружена!
Если не получится найти ошибку самостоятельно приведите полный исходный код модуля (текст)
Григорий Чех,
Спасибо за Ваш ответ! Ошибки действительно присутствовали(не хватало запятой), все исправил(так же проверил остальные модули). Теперь форма раздела открывается, отображаются другие детали, но данная деталь "Средства связи" не отображается.
В консоль браузера сыпятся ошибки:
Uncaught TypeError: Cannot set property 'entitySchemaName' of undefined at initSchemaCustomAttributes (SchemaBuilderV2.js:132) at f (all-combined.js:495) at i.<anonymous> (SchemaBuilderV2.js:111) at all-combined.js:503 at Object.execCb (require.js:1693) at Module.check (require.js:881) at Module.<anonymous> (require.js:1136) at require.js:134 at require.js:1186 at each (require.js:59) core.js:633 -------------------------------------------------- user: Supervisor/7f553b869f-34f3-4f20-ab4d-7480a5fdf647 file: http://localhost:83/0/Nui/ViewModule.aspx line: 3 column: 1 message: Uncaught SyntaxError: Unexpected token < date: Wed Oct 31 2018 20:12:20 GMT+0300 (Москва, стандартное время) stack: SyntaxError: Unexpected token < writeErrorMessage @ core.js:633 core.js:633 -------------------------------------------------- user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647 file: http://localhost:83/0/configuration/257f6624f537935d17c182584045709dru-RU/SchemaBuilderV2.js line: 132 column: 38 message: Uncaught TypeError: Cannot set property 'entitySchemaName' of undefined date: Wed Oct 31 2018 20:12:20 GMT+0300 (Москва, стандартное время) stack: TypeError: Cannot set property 'entitySchemaName' of undefined at initSchemaCustomAttributes
По первой ошибке открыл код(привожу строки, где эта ошибка содержится):
// файл SchemaBuilderV2.js if (entitySchemaName) { schemaResponse.entitySchemaName = entitySchemaName; // ошибка тут } callback(config);
Вы деталь зарегестрировали, те выполнили sql запросы? Очистили кєш браузера, кєш рєдиса? Если это дела или не помогло выкладывайте код вашейдетали и код старницы куда ее подключили
Григорий Чех,
Добрый день! Некоторыми способами удалось достичь желаемое, необходимо было в странице формы при объявлении детали, заменить колонку детали в фильтре:
{ // Настройка детали [Способы связи] "UsrLeadCommunicationDetailElement": { "schemaName": "UsrLeadCommunicationDetail", "entitySchemaName": "UsrLeadCommunication" "filter": { "detailColumn": "UsrLead", // << Здесь нужна была замена "Id" } } }
Так же добавил все зависимости, какие находятся у базовой детали средств связи с полями.
В справочнике UsrApplicationForm изменил свойство "Обязательно для заполнения" на "Уровне приложения".
После данных действий, деталь корректно отобразилась на странице. Появился список с возможность выбора средства связи, есть возможность заполнения выбранного средства связи.
Но, присутствует проблема сохранения.
При сохранении записи кнопкой Save, расположенной в левой верхней части формы, в лог браузера появляется ошибка:
user: Supervisor/7541b869f-34f3-4f20-ab4d-7480a5fdf647 file: undefined line: undefined column: undefined message: Cannot read property 'replace' of undefined date: Thu Nov 08 2018 15:40:33 GMT+0300 (Москва, стандартное время) moduleId: ext-window moduleName: undefined
Данные в таблицу не попадают, но визуально, форма выполняет сохранение. И соответственно после следующего открытия данной формы, созданное значение способа связи на предыдущем шаге, не отображается.