04.02.2022, 11:13 | #1 |
Administrator
|
D365FO, AX2012: Паспорт записи списком (поля списком) - расширение
Добрый день! Решил я расширить всем известную функциональность, которая изначально пришла из DeveloperTools от компании Columbus (первый автор - Роман, db) и которую выложил Денис (trud) в рамках проекта DEVTools (https://github.com/TrudAX/XppTools/t.../DEVRecordInfo).
Здесь описывается версия для D365FO. Версия для AX2012 ниже, в следующем сообщении В рамках расширения добавлено:
Код писался в рамках моего ответвления этой утилиты (в свое время мне ее дали без кнопки Change value и сказали сделать возможность правки - ну я и сделал эту возможность напрямую в гриде с использованием лукапа. А потом выяснилось - что "нормальные пацаны" делали кнопку). В связи с этим доработки переносились в стиле устранения фатального недостатка. Прилагаю архив модели. В ней изменена только форма и таблица.
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 09.02.2022 в 23:55. |
|
|
За это сообщение автора поблагодарили: mazzy (10), GLU (2), trud (10), raz (10), Logger (5), Ace of Database (10), imir (3), Dynamics365Eng (1). |
09.02.2022, 23:53 | #2 |
Administrator
|
AX2012: Паспорт записи списком (поля списком) - расширение
До кучи выложу это же расширение, но адаптированное под AX2012.
Разница есть достаточно существенная в части обработки сегментированного контрола и финансовых аналитик. Имеются следующие ограничения: Как я писал выше - мне эта форма досталась без кнопки Change value и автор (db) мне сказал сделать возможность правки данных, которую я сделал через редактирование грида и лукапа. И я бы может и не стал бы развивать эту версию, если бы совершенно случайно на одном из клиентов не увидел бы именно свою версию утилитки (что было невероятно приятно увидеть знакомые мне комментарии в коде). Поэтому здесь правка аналитик реализована через кнопку лукапа у поля FieldValue Для сегментированного контрола (в отличие от D365FO) нет возможности узнать - какой контроллер его обрабатывал (счет ГК без аналитик, с аналитиками или динамический по типу счета). Поэтому приходится ориентироваться только на расширенный тип поля и рассчитывать, что он соответствует используемому контроллеру в коде. Как следствие - если в записи используется 2 сегментированных контрола - то система сама не угадает, в каком поле содержится нужный тип счета (пример - строка ЖГК, поля Счет и Корсчет). Пришлось конкретно этот пример "в лоб" прописать в коде. Как следствие - система полагается, что тип счета - это енум LedgerJournalACType. Случаи, где это не так - придется в явном виде допрописывать в коде. Для финаналитик (DefaultDimension) также я использую контроллер по умолчанию - т.е. без счета ГК. Опять-таки отдельные ситуации могут потребовать отдельного программирования. Редактирование в гриде работает только, если не скрыта группа полей Редактирование данных. Если группа скрыта (свёрнута) -редактирование запрещается. При сравнении разных записей есть возможность отфильтроваться только по различным строкам. В целом - данный проект предназначен больше, как некая "заготовка", из которой можно вытащить необходимые куски кода и перенести их в свою версию. Либо же на ее базе "допилить" код под свои особенности. Но конечно же можно пользоваться и готовым решением (оно рабочее)
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: mazzy (10), Ace of Database (10). |