Quantcast
Channel: AXForum
Viewing all 14627 articles
Browse latest View live

Ошибки Monitoring test failed

$
0
0
ребятки, а что оно хочет?
раз в 15 минут вываливаются две ошибки но каких то проблем при работе не обнаружено, но только поставил, смотрю что оно из себя представляет


Сведения 06.05.2015 13:46:28 Desktop Window Manager 9009 Отсутствует
Сведения 06.05.2015 13:35:17 MSCRMMonitoringServerRole 18689 Отсутствует
Сведения 06.05.2015 13:35:17 MSCRMMonitoringServerRole 18689 Отсутствует
Сведения 06.05.2015 13:35:17 MSCRMMonitoringServerRole 18689 Отсутствует
Сведения 06.05.2015 13:35:17 MSCRMMonitoringServerRole 18689 Отсутствует
Сведения 06.05.2015 13:35:17 MSCRMMonitoringServerRole 18689 Отсутствует
Ошибка 06.05.2015 13:35:17 MSCRMMonitoringTest 18776 Отсутствует
Сведения 06.05.2015 13:35:17 MSCRMMonitoringServerRole 18843 Отсутствует
Ошибка 06.05.2015 13:35:17 MSCRMMonitoringTest 18732 Отсутствует

MSCRMMonitoringTest 18732

Monitoring test failed: Test Title: Help Content Server Tests.: Machine: SERVER2: ServerRole: HelpServer
Test Log:
Удаленный сервер возвратил ошибку: (404) Не найден.
в System.Net.HttpWebRequest.GetResponse()
в Microsoft.Crm.Monitoring.WebHelpers.GetWebResponse(String webpage, Boolean setCrmAuth, Boolean useProxy, Byte[] postData, Boolean setUserAgent, Int64 dmzPort)
в Microsoft.Crm.Monitoring.WebHelpers.GetWebResponse(String webpage, Boolean setCrmAuth, Boolean useProxy, Byte[] postData, Boolean setUserAgent)
в Microsoft.Crm.Monitoring.Tests.HelpContent.VerifyHelpContent.TestDefaultHelp(TestResult result)
в Microsoft.Crm.Monitoring.Tests.HelpContent.VerifyHelpContent.Execute()
в Microsoft.Crm.Monitoring.Engine.MonitoringRuntime.ExecuteMonitoringTest(MonitoringTestBase test, Int32 attempts)

InnerException Type:System.Net.WebException

MSCRMMonitoringTest 18776

Monitoring test failed: Test Title: Check report server from SRSDataConnector.: Machine: SERVER2: ServerRole: SrsDataConnector
Test Log:
System.Web.Services.Protocols.SoapException: Предоставленные пользователю "DOMEN\crmmonsvc" разрешения недостаточны для выполнения данной операции. ---> Microsoft.ReportingServices.Diagnostics.Utilities.AccessDeniedException: Предоставленные пользователю "DOMEN\crmmonsvc" разрешения недостаточны для выполнения данной операции.
в Microsoft.ReportingServices.Library.ReportingService2005Impl.ListChildren(String Item, Boolean Recursive, CatalogItemList& CatalogItems)
в Microsoft.ReportingServices.WebServer.ReportingService2005.ListChildren(String Item, Boolean Recursive, CatalogItem[]& CatalogItems)
в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
в Microsoft.Crm.ReportingServices2005.ReportingService2005.ListChildren(String Item, Boolean Recursive)
в Microsoft.Crm.Monitoring.Tests.ReportServer.CheckReportServerFromSrsDataConnector.Execute()
в Microsoft.Crm.Monitoring.Engine.MonitoringRuntime.ExecuteMonitoringTest(MonitoringTestBase test, Int32 attempts)

<ErrorCode xmlns="http://www.microsoft.com/sql/reportingservices">rsAccessDenied</ErrorCode><HttpStatus xmlns="http://www.microsoft.com/sql/reportingservices">400</HttpStatus><Message xmlns="http://www.microsoft.com/sql/reportingservices">Предоставленные пользователю "DOMEN\crmmonsvc" разрешения недостаточны для выполнения данной операции.</Message><HelpLink xmlns="http://www.microsoft.com/sql/reportingservices">http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsAccessDenied&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=12.0.2000.8</HelpLink><ProductName xmlns="http://www.microsoft.com/sql/reportingservices">Службы Microsoft SQL Server Reporting Services</ProductName><ProductVersion xmlns="http://www.microsoft.com/sql/reportingservices">12.0.2000.8</ProductVersion><ProductLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">127</ProductLocaleId><OperatingSystem xmlns="http://www.microsoft.com/sql/reportingservices">OsIndependent</OperatingSystem><CountryLocaleId xmlns="http://www.microsoft.com/sql/reportingservices">1049</CountryLocaleId><MoreInformation xmlns="http://www.microsoft.com/sql/reportingservices"><Source>ReportingServicesLibrary</Source><Message msrs:ErrorCode="rsAccessDenied" msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsAccessDenied&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=12.0.2000.8" xmlns:msrs="http://www.microsoft.com/sql/reportingservices">Предоставленные пользователю "DOMEN\crmmonsvc" разрешения недостаточны для выполнения данной операции.</Message></MoreInformation><Warnings xmlns="http://www.microsoft.com/sql/reportingservices" />
.

Создание отчеты Excel с вертикальными бендами

$
0
0
Кто-нибудь делал в Аксапте отчет Excel с вертикальными бендами, чтобы колонок было ( с подколонками) столько, сколько и месяцев в выбранном пользователем периоде? научите как. спасибо.

Что такое ссылка номерной серии ах12?

$
0
0
Добрый день, в аксапте12 создаю номерную серию. Как я понимаю привязка к области происходит через указание ссылки. Так же через указание ссылки, номерная серия попадает в настройки модуля. Так? Объясните, пожалуйста, связь между номерными сериями и ссылками. Как создать ссылку на номерную серию?

emeadaxsupport: New rules (new sales tax codes 60,61,62) for VAT report in Sweden

$
0
0
Источник: http://blogs.msdn.com/b/axsupport/ar...in-sweden.aspx
==============

Import VAT

From 1 January 2015, VAT-registered companies that import goods account and pay sales tax on imports directly to Tax Department, instead of today to the Customs Department.

The new rules for import VAT means that the VAT deductible sales tax paid and reported to the same authority. In most cases, this will involve outbound and inbound sales tax charge each other which is called fictitious VAT and does not have any effecton the net amount of VAT payments to &ldquo;Skatteverket&rdquo;. In the new VAT declarations to be submitted after the end of the year 2014/2015 must be the value of the transactions or the outbound and inbound sales tax separately whyDynamics AX must record these transactions correctly.

-The monetary value which should be the basis for import VAT is not necessarily related to the amount on the invoice that the
supplier of the goods exhibited

-Time of the date of the invoice from the supplier and the date of the determination of the monetary value may deviate



The following setup needs to be updated in Dynamics AX:



-Ledger posting groups




-Sales tax reporting codes



Field 50 Beskattningsunderlag vid
import


Field 60 Utg&aring;ende moms 25 %

Field 61 Utg&aring;ende moms 12 %

Field 62 Utg&aring;ende moms 6 %





-Sales tax codes

Ex. Setup new Sales tax code 25%



-Sales tax groups

New tax group is created, the new Sales tax group should contain the sales tax codes that have been set up
for import VAT. The sales tax codes shall have the check box Use tax ticked.





-Sales tax item groups

The Item sales tax groups in Dynamics AX must be
updated with the new sales tax codes.





Following code update required:

VAT report is hardcoded and
will show wrong amount in code 49, should be zero (sum of code 48 and 60).

Report totals lack values 60,
61, 62 of reporting codes which need to be added.

AX
2009:


Reports\TaxReport_SE\fetch the following lines (in
red) should be added:



if(toYear >= 2007)

{

if
(tmpTaxReportById.TaxReportField == 48

|| tmpTaxReportById.TaxReportField == 10

|| tmpTaxReportById.TaxReportField == 11

|| tmpTaxReportById.TaxReportField == 12

|| tmpTaxReportById.TaxReportField == 30

|| tmpTaxReportById.TaxReportField == 31

|| tmpTaxReportById.TaxReportField == 32

|| tmpTaxReportById.TaxReportField == 60

|| tmpTaxReportById.TaxReportField == 61

|| tmpTaxReportById.TaxReportField == 62)

{





AX
2012:


Classes\TaxReportController_SE\init
the following lines (in red) should be added:



if(toYear >= 2007)

{

if (tmpTaxReportById.TaxReportField
== 48

|| tmpTaxReportById.TaxReportField == 10

|| tmpTaxReportById.TaxReportField == 11

|| tmpTaxReportById.TaxReportField == 12

|| tmpTaxReportById.TaxReportField == 30

|| tmpTaxReportById.TaxReportField == 31

|| tmpTaxReportById.TaxReportField == 32

|| tmpTaxReportById.TaxReportField == 60

|| tmpTaxReportById.TaxReportField == 61

|| tmpTaxReportById.TaxReportField == 62)

{














Источник: http://blogs.msdn.com/b/axsupport/ar...in-sweden.aspx

Ошибка в проекте AIF web services

$
0
0
Добрый день!

Ошибка на этапе выполнения в консольном проекте на C#. Веб-сервис родной аксаптовский InventOnhandDimService. Включен, обнаружен в IIS, ссылка скопирована, в проект добавлена успешно.

Код:

public void connect()
{
    cl= new InventOnhandDimServiceClient();
    cl.ClientCredentials.Windows.ClientCredential.Domain = @"xxx";
    cl.ClientCredentials.Windows.ClientCredential.UserName = @"xxx";
    cl.ClientCredentials.Windows.ClientCredential.Password = @"xxx";
}
public InventOnhandDimSvc.EntityKey[] findAllInvent()
{
    Console.WriteLine("Start");
    InventOnhandDimSvc.QueryCriteria qc = new InventOnhandDimSvc.QueryCriteria();
           
    InventOnhandDimSvc.EntityKey[] entityKey = { new InventOnhandDimSvc.EntityKey() };

    //findKeys service operation will return list of unique fields that meet query criteria
    entityKey = cl.findKeys(qc); //error!
    // smth else
}

Ошибки в IntelliTrace
Цитата:

+ Thrown: "The remote server returned an error: (500) Internal Server Error." (System.Net.WebException) Exception Message = "The remote server returned an error: (500) Internal Server Error.", Exception Type = "System.Net.WebException", Exception WinRT Data = null
+ Thrown: "'EndElement' 'AifFault' from namespace 'http://schemas.microsoft.com/dynamics/2008/01/documents/Fault' is not expected. Expecting element 'PropertyChanged'." (System.Runtime.Serialization.SerializationException) Exception Message = "'EndElement' 'AifFault' from namespace 'http://schemas.microsoft.com/dynamics/2008/01/documents/Fault' is not expected. Expecting element 'PropertyChanged'.", Exception Type = "System.Runtime.Serialization.SerializationException", Exception WinRT Data = null
+ Caught: "Не удалось выполнить запрос. Подробности см. в журнале исключений." (System.ServiceModel.FaultException) Exception Message = "Не удалось выполнить запрос. Подробности см. в журнале исключений.", Exception Type = "System.ServiceModel.FaultException", Exception WinRT Data = null
Помогите, пожалуйста, разобраться, в чем конкретно проблема?

----
IIS 7.5, Dynamics Ax 2009

emeadaxsupport: How to fix error when running AX 2012 reports: "An exchange rate cannot be found for exchange rate type ZZZ between currencies XXX and YYY on exchange date"

$
0
0
Источник: http://blogs.msdn.com/b/axsupport/ar...date-quot.aspx
==============

I have worked with several customers whom have experienced errors when running AX 2012 reports involving Multicurrency transactions where the error message reflects:

"An exchange rate cannot be found for exchange rate type ZZZ between currencies XXX and YYY on exchange date."

At initial glance, the error message does not appear to be appropriate and it is difficult to determine what is causing the error message. What typically happens when this error message occurs is that the SSRS report uses the ExchangeRateHelper class and the ExchangeRateHelper class expects there to be a record in the EXCHANGERATE table with a blank VALIDFROM date as the following type of query will be executed:

SELECT TOP 1 T1.EXCHANGERATECURRENCYPAIR,T1.EXCHANGERATE,T1.VALIDTO,T1.VALIDFROM,T1.MODIFIEDDATETIME,T1.RECVERSION,T1.RECID FROM EXCHANGERATE T1

WHERE

((EXCHANGERATECURRENCYPAIR='5637144576')AND((VALIDFROM='1900-01-01 00:00:00')))

The report will typically error out in a scenario where this query does not return a valid record from the EXCHANGERATE table. What this means is that from the Currency exchange rates form in AX 2012 for the Exchange rate type that is assigned to the Legal Entity's Ledger that is having the problem, you need to have a Exchange rate defined where the Start date is Blank. For example, to fix the problem, take the following steps:

1. Go to General ledger | Setup | Currency | Currency exchange rates to open the Currency exchange rates form.

2. In the Currency exchange rates form, select the Exchange rate type that is assigned to your Legal Entity's Ledger, and then select the appropriate From currency\To currency pairing.

3. In the Display valid exchange rates for the date range area of the Currency exchange rates form, enter a Blank From Date, and enter today's date in the To date field.

4. Scroll to the top of the exchange rates listed. Click on the first exchange rate, click the Add button, and then add the following line:





Now that this Exchange Rate line is added to the Exchange Rate type, the AX 2012 Report that leverages the ExchangeRateHelper class will now find a record in the EXCHANGERATE table having a blank VALIDFROM date field. You should now find that the AX 2012 Report will run without the error message occurring. It should be considered 'Best practices' to have an initial Blank line assigned to your Currency pairs in your Exchange Rates Types so that AX 2012 can always find an exchange rate.








Источник: http://blogs.msdn.com/b/axsupport/ar...date-quot.aspx

kurthatlevik: DAX 2012 end-to-end processes and APQC

$
0
0
Источник: https://kurthatlevik.wordpress.com/2...sses-and-apqc/
==============

With LCS (Life cycle Services), Microsoft have taken steps to introduced the APQC (American Productivity & Quality Center) Process Classification Framework as one of the business modelers.



Microsoft have also created some flowcharts to visualize the APQC processes in dynamics AX.



In some Dynamics AX implementation projects it have been decided to use the APQC model, and the participants(including me) was struggling connecting the APQC model to actual tasks and activities performed in DAX. So I started on a small mental journey to better understand how to use APQC model, and to be able to connect the dots from the classification framework into dynamics AX swim lane process maps.

First I thought that is was possible to take some level 4 APQC try to draw them. It is possible to draw the small and simple activities, but I was struggling drawing an end-to-end processes. Like order-to-cash. I quickly realized that I cannot use the LCS-APQC model to explain end-to-end DAX processes, since end-to-end processes often will involve many different departments, functions and processes.

To visualize a complex processes in an end-to-end process like order-to-cash using APQC classification model I could imagine looking something like this.



Here we see the involved processes visualized with the APQC classification. And it makes sense. But it does not tell you how to use AX in in this process, because that is described using the level 4 (or 5) in APQC. Like in 8.2.2 Invoice customers, would be a specific process, that we can visualize in Dynamics AX/LCS.

The other thing I realized was that APQC is not about implementing a ERP system, like DAX, but it’s about improving the processes you have(regardless of what systems and applications you have). Some of the activities may be handled in DAX, but many is just how to improve the actual steps the company actually does. Very often it can be the working procedure, involving many systems and internal working processes. So you don’t ask “How does this APQC process look in DAX ?”. You should rather ask “What APQC processes is involved in the selected DAX processes (like order-to-pay).

The APQC model will therefore not tell you how to use and setup Dynamics AX. It will just help you to have a common language to classify your processes and to improve them. When it comes to visualizing Dynamics AX processes in swim lane flowcharts it can be a good idea to use the APQC identifiers as process identification.

My tip when using LCS, is to understand the APQC process identification model, and use it as a repository and building blocks when you create your own processes.



By referring to APQC on your own business model you can start on process improvement project for that specific process. You will can also evaluate to implement the benchmark indicators as APQC exemplifies.

My quick summary is therefore;

1. Do I like LCS, and will use it à Yes, and I will use it for implementation and DAX process visualizations.

2. Do I like APQC à Yes, and I will use it for classification, benchmarking and process improvements.

3. Do I think that the LCS APQC processes reflect what we see at customers à No

4. What would be nice to have in LCS business modeler à More end-to-end processes, where the APQC process identifiers is used would be nice.

Happy DAX’ing !!






Источник: https://kurthatlevik.wordpress.com/2...sses-and-apqc/

Функции для поля в запросе

$
0
0
query = new Query();

qbds = query.addDataSource(tablenum(RDeferralsTable));
qbds.orderMode(orderMode::GroupBy);
qbds.addSortField(fieldNum(RDeferralsTable, Date));
...

если мне нужно группировать только по месяцу даты, то каким лучши способом это сделать. Запихать mthOfYr куда?
что-то вроде
qbds.addSortField(mthOfYr(fieldNum(RDeferralsTable, Date)));

Изменение права доступа у Admin

$
0
0
Доброго времени суток всем!

В AX 2009 при добавлении новых ключей контроля доступа (SecurityKey) у группы пользователей "Admin" данные права отсутствуют. При попытке добавить права доступа на данные ключи кнопки и меню у группы пользователей "Admin" НЕ ДОСТУПНЫ.Получается не могу редактировать права доступа для группы пользователей «Admin». В чем может быть причина?
И есть ли кнопка или меню, которая разрешает редактирование прав доступа для группы пользователей «Admin»?

AX2012 Роль, ограничивающая права пользователя ПРОСМОТРОМ всего функционала AX

$
0
0
Добрый день.

Задача. Создать в AX2012 Роль, для которой будет разрешен лишь ПРОСМОТР всего функционала (Роль так и назвали ALLVIEW).

На первый взгляд задача не сложная и ее можно решить, если в Privileges роли набросать все привилегии по маске *View, потом в Permissions роли ограничить доступ на все таблицы EffectiveAccess == Read. Но, на мой взгляд, подобное решение громоздкое и трудоемкое.

Может, кто-то уже решал подобную задачу и знает красивое ее решение? Буду признательна за идеи.

SysOperation error: Unable to monitor batch job for operation

$
0
0
AX2012 R2 CU8
сделал простой BatchJob на SysOperationService, работает отлично на разработческой машине, при переносе на другой сервак не запускается, ни как BatchJob, ни вручную. Надо отметить, что ранее в конторе никто SysOperation Framework не пользовал, писали по старинке на RunBaseBatch.

через несколько минут вываливается инфолог с ошибкой
Unable to monitor batch job for operation

гугл находит только одно упоминание этой ошибки и тоже в комментах с вопросом, что ничего не работает. Ошибка случается в SysOperationController.batchAsyncCallback

Накидайте идей где покопать, такое ощущение что-то не запущено на сервере, или не настроено. в EventLog ничего подозрительного нет.

Не подтягивается библиотека System.Printing

$
0
0
Пытаюсь обратиться в Dynamics AX 2009 к библиотеке System.Printing. Не нашла таковой в References, добавляю:


После этого вижу добавленную ссылку:


Но в коде Printing у System не найти. Синтаксическая ошибка.

X++:

System.Printing.PrintServer printServer = new System.Printing.LocalPrintServer(); //error!
Перезагружала и AOS, и сервер, перекрестные ссылки пересобирала. Синхронизация также выполнена.

Есть идеи, кто сталкивался?

Агентская схема в Dynamics AX 2009

$
0
0
Добрый день, коллеги.

Кто-нибудь в Ax2009 уже настраивал агентскую схему?

Условия следующие:
Есть 2 компании холдинга, одна из которых (агент) осуществляет закупку услуг для другой компании (принципал).

Согласно инструкции делаю это следующим образом:
1. В компании - "Агент" создаю заказ на покупку услуг и затем разношу по нему накладную от контрагента "X", при этом обязательным образом в строках заказа заполняю складскую аналитику:
а. Профиль учета = Комиссионер.
б. Владелец = компания "X".

2 В компании - "Агент" создаю клиентский договор с компанией, которой буду реализовывать купленные услуги - "Принципал", при этом указываю параметр Договор комиссии = Закупка комиссионером.

3. В компании - "Агент" создаю заказ на продажу услуг, купленных у компании "X" компании "Принципал", после чего разношу по нему накладную, при этом

В шапке заказа на продажу указываю:
а. Клиентский договор с параметром = "Закупка комиссионером".

В строках заказа на продажу указываю:
б. Складскую аналитику Профиль учета = Комиссионер.
в. Складскую аналитику Владелец = компания X.

4. Регистрирую по накладной от поставщика -"X" счет-фактуру.
5. Создаю Отчет для принципала, где указываю:
а. Тип принципала = Клиент.
б. Код партнера = компания "Принципал".

6. Затем, в строках созданного отчета пытаюсь перевыставить счет-фактуру этому Принципалу и вот тут не очень понятно как это сделать, поскольку в открывшемся диалоговом нет строки с накладной, по которой она перевыставляется. При этом я конечно же указываю Продавца и фактуру к перерегистрации.

Что я не так делаю? В какой последовательности и каким-образом правильно зарегистрировать все фактуры?

Заранее спасибо.

Миниатюры
Нажмите на изображение для увеличения
Название: Фактура1.png
Просмотров: недоступно
Размер:	39.5 Кб
ID:	9263  

С Днем Победы!

$
0
0


Сходил на Парад. Удивился количеству народа, но было круто. Всех с праздником!

Иерархия классов, как обновить?

$
0
0
DAX2009
Пишу небольшую утилиту, в которой нужно создавать экземпляр класса или его наследника. На входе имею ClassId базового класса и некоторые параметры, определяющие наследника этого класса. По этим параметрам нужно создать элемент конкретного класса (если кому интересно, то это эмуляция использования атрибутов, введенных в DAX2012, для использования в DAX2009).
Задача: имея идентификатор класса, получить список идентификаторов классов, состоящий из идентифкатора самого базового класса и его наследников (как прямых, так и внуков, правнуков и т.п.)
Для определения иерархии использую таблицу xRefTypeHierarchy:
X++:

    void findDescendents(ClassId _parentId)
    {
        ;

        if (!xRefTypeHierarchy_findOrCreate(Types::Class, _parentId).Children)
        {
            return;
        }

        while select typeHierarchy
            where typeHierarchy.Parent      == _parentId
                && typeHierarchy.BaseType  == Types::Class

        {
            setHierarchy.add(typeHierarchy.Id);

            if (typeHierarchy.Children && typeHierarchy.Id)
            {
                findDescendents(typeHierarchy.Id);
            }
        }
    }

Метод xRefTypeHierarchy_findOrCreate просто ищет запись в иерархии.
X++:

    xRefTypeHierarchy xRefTypeHierarchy_find(Types _baseType, ClassId _id)
    {
        xRefTypeHierarchy xRefTypeHierarchy;

        select firstonly xRefTypeHierarchy
            index BaseTypeIdIdx
            where xRefTypeHierarchy.BaseType    == _baseType
                && xRefTypeHierarchy.Id        == _id
        ;

        return xRefTypeHierarchy;
    }

    xRefTypeHierarchy xRefTypeHierarchy_findOrCreate(Types _baseType, ClassId _id)
    {
        xRefTypeHierarchy xRefTypeHierarchy = xRefTypeHierarchy_find(_baseType, _id);

        if (!xRefTypeHierarchy)
        {
            new xRefUpdateTypeHierarchy().run();

            xRefTypeHierarchy = xRefTypeHierarchy_find(_baseType, _id);
        }

        return xRefTypeHierarchy;
    }

Если полностью перестроить перекрестные ссылки (отметив флаг перестройки иерархии), то все нормально. Без перестройки перекрестных ссылок наследники класса не находятся. Пробовал вызывать:
X++:

    new xRefUpdateTypeHierarchy().run();
Не помогает. Помогает только полная перестройка перекрестных ссылок с отметкой о необходимости обновления иерархии классов. Что-то не очень хочется перестраивать ссылки при каждом добавлении класса (проект в активной стадии и новые классы добавляются часто).
Пока в голову приходит пробег по всем классам с проверкой того входит ли он в иерархию базового класса.
Может быть есть какие-то другие способы определения иерархии?

Address Bar

$
0
0
Доброго времени суток,

Скажите, пожалуйста, есть ли возможность в Address Bar светить имя ListPage, если самого ListPage нет в главном меню?

Проблема в том, что этот ListPage вызывается по кнопке из другого ListPage, однако, т.к. его нет в главном меню -- в Address Bar (сверху) путь не отображается.
Скажите, есть ли в стандарте что-то подобное?

Я понимаю, что такой дизайн "не очень", но что есть, то уже есть...

Заранее спасибо

goshoom: Permissions for Configuration Manager

$
0
0
Источник: http://dev.goshoom.net/en/2015/05/pe...ation-manager/
==============

When trying the new Configuration Manager for AX 2012, I got an error when exporting a stored configuration. The message in LCS said only that an unknown error occurred, which obviously wasn’t very helpful. Fortunately I checked the event log on my server with AX and immediately found the problem.

There was a log entry from source “LcsSystemDiagnostics” saying “Access denied to method create in class DMFDefinitionGroupService”. Of course, I forgot to set permissions for service operations for the system diagnostics service account.

That we can easily find the cause of such issues is a very good news. Nicely done.



Источник: http://dev.goshoom.net/en/2015/05/pe...ation-manager/

palleagermark: Increment dates by months in X++

$
0
0
Источник: http://www.agermark.com/2015/05/incr...nths-in-x.html
==============

A question was asked in the forums, about how to increment dates by months like:
21/02/2015
21/03/2015
21/04/2015
etc.

nextMth and dateMthFwd was suggested, so I just wanted to list some options.

Consider these examples.

nextMth will be off by days after hitting uneven months:
static void TestNextMth(Args _args)
{
date d = nextMth(31\12\2015);
print d;

d = nextMth(d);
print d;

d = nextMth(d);
print d;

d = nextMth(d);
print d;

pause;
}
  • 31/1/2016
  • 29/2/2016
  • 29/3/2016
  • 29/4/2016
dateMthFwd works ok:
static void TestDateMthFwd(Args _args)
{
date d = mkDate(31, 12, 2015);

print dateMthFwd(d, 1);
print dateMthFwd(d, 2);
print dateMthFwd(d, 3);
print dateMthFwd(d, 4);
pause;
}
  • 31/1/2016
  • 29/2/2016
  • 31/3/2016
  • 30/4/2016
And System.DateTime.AddMonths works ok:
static void TestAddMonths(Args _args)
{
System.DateTime dateTime = new System.DateTime(2015, 12, 31);

print dateTime.AddMonths(1);
print dateTime.AddMonths(2);
print dateTime.AddMonths(3);
print dateTime.AddMonths(4);
pause;
}
  • 31/1/2016
  • 29/2/2016
  • 31/3/2016
  • 30/4/2016

Источник: http://www.agermark.com/2015/05/incr...nths-in-x.html

Порядок выполнения плагинов

$
0
0
Доброго времени суток.
Есть плагин А (Update of ownerid или Assign) и B (Update of custom_field). Как можно заставить плагин А выполниться раньше, чем плагин B? Изменение execution_order в PluginRegTool ничего не дает.

Как программно установить свойство RepeatOnNewPage

$
0
0
Прошу ответить только тех, кто реально знает ответ, как установить в зависимости от значения входных параметров свойства KeepTogether=True, KeepWithGroup=After, RepeatOnNewPage=True.
Ссылки прошу не приводить, поскольку все они показывают только как сделать это вручную.
Viewing all 14627 articles
Browse latest View live