|
30.01.2020, 18:17 | #1 |
Участник
|
D365 MCRSalesOrderRecap не видна EditBtn
D365 10.0.6
Кнопка "edit" не видна для конкретного пользователя. User data почистили полностью, роли у юзера абсолютнро идетничные с моими. Проблема воспроизводится на UAT и на DEV для обоих юзеров, то есть у меня кнопка есть, у юзера ее нет. Пробовали разные браузеры, игрались с ролями, смотрели настройки и рылись в коде. Дошли до смешного: на РДП дев машинки юзер под собой зашел и кнопки нет, сделал sign out, я зашла под собой в ту же накладную и кнопка есть. Хорошая новость, это то что мы смогли создать тестового юзера у которого кнопка тоже отсутствует и это можно как-то продебажить и узнать в какой момент кнопка пропадает. Вопрос как? я добавила несколько хендлеров такого плана: X++: [FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuted)] public static void MCRCustPaymTable_OnQueryExecuted(FormDataSource sender, FormDataSourceEventArgs e) { FormRun formRun = sender.formRun(); FormFunctionButtonControl editButton = formRun.design().controlName(formControlStr(MCRSalesOrderRecap, EditBtn)); Info(strFmt("FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuted) %1",editButton.visible())); } X++: <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::Initialized) false</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuting) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::Activated) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuted) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>No tiered charges found.</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuting) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::Activated) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuted) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::DisplayOptionInitialize) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::DisplayOptionInitialize) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::DisplayOptionInitialize) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::DisplayOptionInitialize) true</Message> </InfologMessage> The thread 0x415c has exited with code 0 (0x0). <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::Activated) true</Message> </InfologMessage> <InfologMessage xmlns="Microsoft.Dynamics.AX.InfologMessage.V1"> <Kind>Info</Kind> <Message>FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::Refreshed) true</Message> </InfologMessage> |
|
30.01.2020, 18:38 | #2 |
Участник
|
isDisplayed() однако имеет другое значение и меняется тут:
[FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType:isplayOptionInitialize)] true false [FormDataSourceEventHandler(formDataSourceStr(MCRSalesOrderRecap, MCRCustPaymTable), FormDataSourceEventType::QueryExecuted)] true true |
|
30.01.2020, 21:54 | #3 |
Участник
|
не могу понять почему и как его поменять.
|
|
31.01.2020, 02:43 | #4 |
Участник
|
Походу "reset usage data" не удаляет все настройки. Оказывается, в разделе Personalization осталась куча всего. После удаления MCRorderRecap оттуда кнопка Edit на форме стала видна.
|
|
|
За это сообщение автора поблагодарили: vmoskalenko (4). |
|
|