Показать сообщение отдельно
Старый 30.01.2020, 18:17   #1  
alicedr is offline
alicedr
Участник
 
173 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
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()));
    }
Вот что получается при открытии формы, а потом при выборе другой строки в платежах. Visible везде true, но кнопка не видна...
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>