25.10.2017, 18:54 | #1 |
Участник
|
переименовать файл меток в D365 (AX7)
D365, он же AX7
Есть модель со своим файлом меток. Ее надо поставить на систему, где в другой модели есть другой файл меток с таким же названием. Как переименовать файл меток, включая все метки в коде/UI, с наименьшими трудозатратами? P.S. что-то я в интерфейсе вообще не могу найти опции переименования файла меток или изменения его свойств... Поменять ручками напрямую, а не из Visual Studio? А потом с помощью metadata search найти и поменять все вхождения.... Или лучше можно? |
|
25.10.2017, 20:00 | #2 |
Участник
|
Цитата:
Сообщение от alicedr
Как переименовать файл меток, включая все метки в коде/UI, с наименьшими трудозатратами?
P.S. что-то я в интерфейсе вообще не могу найти опции переименования файла меток или изменения его свойств... Поменять ручками напрямую, а не из Visual Studio? А потом с помощью metadata search найти и поменять все вхождения.... Или лучше можно? для переименования нужно будет открыть в файловой системе сам файл. это xml. внутри ссылка на текстовый файл с метками. переименование объекта в ax7 сводится к переименованию файла и xml-контента. 2. а вот переименовать ссылки на метки в объектах... оооо. помнится, я однажды ошибся в аббревиатуре, которая входила в название меточного файла и... нафигачил меток. потом ошибка обнаружилась и нужно было изменить все ссылки... после продолжительных расспросов я решил, что проще всего обновить перекрестные ссылки (перебилдить модель, включить галочку обновление перекрестных ссылок), а затем в меточном файле нажимать на кнопку "Find reference", открывать объект и вручную изменять метки. |
|
26.10.2017, 10:56 | #3 |
Участник
|
В 2012 можно было написать job (например, мы делали замену текста на метку), в AX7 нельзя напрямую прочесывать AOT?
__________________
Ivanhoe as is.. |
|
26.10.2017, 11:25 | #4 |
Участник
|
1) Переименовать файл
2) заменить в xml файлах @СтарыйМеточныйФайл: на @НовыйМеточныйФайл: (я предпочитаю VSCode) |
|
|
За это сообщение автора поблагодарили: Logger (1). |
26.10.2017, 11:36 | #5 |
Участник
|
Цитата:
изменять текст кода из Аксапты - нет. см. А как в ax7 код метода получить? можно работать с XML-файлами напрямую через файловую систему. Но весь reflection, который предоставляет Аксапта, идет лесом. В общем, это должна быть какая-то интеллектуальная тулза, котороую заманаешься отлаживать. Если меток меньше 100, то быстрее найти руками по перекрестным ссылкам. Если меток больше 100, надо думать. Цитата:
Сообщение от belugin
1) Переименовать файл
2) заменить в xml файлах @СтарыйМеточныйФайл: на @НовыйМеточныйФайл: (я предпочитаю VSCode) Оригинальный текст: "...в другой модели есть другой файл меток с таким же названием" |
|
26.10.2017, 11:52 | #6 |
Участник
|
|
|
26.10.2017, 12:03 | #7 |
Участник
|
Цитата:
Перечитай - это хороший совет. Вот так и живем... Массово меняем текстовые файлы без учета контекста... Потому что других инструментов нет. а VSCode - рекомендуемый... А было время, когда ругались на перевод меток типа interest без учета контекста. Типа что за банковский интерес и процент контактного лица... Последний раз редактировалось mazzy; 26.10.2017 в 12:05. |
|
26.10.2017, 13:54 | #8 |
Участник
|
Есть модель со своим файлом меток. Ее надо поставить на систему, где в другой модели есть другой файл меток с таким же названием.
... Как переименовать файл меток Я так понял, что для установки модели в систему надо один из дублирующихся файлов переименовать. Соответсвенно одна модель использует один файл, другая другой. Нет? |
|
26.10.2017, 14:14 | #9 |
Участник
|
Цитата:
человеку надо поставить модель на систему. он задает вопрос как переименовать файл меток. из этого никак не следует что ему надо переименовывать. ему по-прежнему надо поставить модель на другую систему. ==================== по сути. начать стоит с того, что меточные файлы с одинаковыми названиями могут содержать одинаковые метки. также могут содержать метки, которые совпадают на одном языке и не совпадают на другом языке (например, тот же interest). И возникает совершенно отдельный вопрос - как мержить метки из разных файлов. Надо ли мержить. далее стоило бы рассказать, что модели могут использовать другие модели. а также рассказать могут ли объекты использовать не "свои" метки, а метки используемой модели. далее стоит уточнить в другой системе, куда переносится модель, такая модель с таким же именем уже существует? если существует, то используется ли она другими моделями target-системы? если используется, то... и так далее. на самом деле, в общем случае, херня получается с метками. и вроде хотели сделать лучше, разбив на разные файлики вместо монстроидальных ald-файлов. Но получилось как получилось. Поэтому, в общем случае, я бы посоветовал скорее пройтись руками по меткам и смотреть перекрестные ссылки в source-системе, вручную поискав объекты-аналоги в target-системе. Либо делать какую-то интеллектуальную тулзу, которую еще отладить надо будет. Типа мержа виндового ресурсного файла. но, конечно же, ты прав. на все это можно наплевать и порекомендовать сделать замену "в xml файлах", даже не уточняя в каких именно. Но обязательно указав ссылку на VSCode )))) |
|
26.10.2017, 14:55 | #10 |
Участник
|
Цитата:
Сообщение от belugin
2) заменить в xml файлах @СтарыйМеточныйФайл: на @НовыйМеточныйФайл: (я предпочитаю VSCode)
т.е. есть ли хоть одно применение когда использование VSCode имеет какой-либо смысл при установленной Visual studio? |
|
26.10.2017, 15:10 | #11 |
Участник
|
Цитата:
ну, и с Навиком тоже ) dkatson: VS Code for those who are still afraid |
|
26.10.2017, 15:23 | #12 |
Участник
|
Цитата:
VS code позволяет таже просмотреть список замен и удалить из этого списка некоторые замены Последний раз редактировалось belugin; 26.10.2017 в 15:26. |
|
|
За это сообщение автора поблагодарили: mazzy (2), trud (3). |
26.10.2017, 22:28 | #13 |
Участник
|
Цитата:
Если честно, что там у них законфликтило, я не знаю, доступа пока нет. В теории в АОТе не может быть 2х объектов одного типа с одинаковым названием, пусть они и лежат физически в разных моделях (читай папках); так что это может быть название меточного файла. Также это может быть Label file Id, то есть аббревиатура из уже не обязательно трех букв. В худшем случае и то, и другое. Ориентируюсь на него. Меток почти 2 тысячи, зато язык один. Мерджить ничего не надо, слава Богу. |
|
27.10.2017, 14:02 | #14 |
Участник
|
Цитата:
меточные файлы - да - не могут. см. "хитрый" вопрос на собеседование по акс7. Цитата:
Если вы знаете что делаете, слушайте Макса Белугина. Дополнительно к VSCode могу порекдомендовать Notepad++ ))) |
|
08.11.2017, 12:45 | #15 |
Участник
|
Где теперь хранятся xrefs в 365?
Видится такой алгоритм реплейсера: 1. "прочёсывать" xrefs на предмет пути к исходнику содержащему метку "@OLD22"; 2. открыть исходник объекта и заменить "@OLD22" на "@NEW22". Upd: База данных DYNAMICSXREFDB содержит построенные ссылки. Запрос выбора ссылок для указанного объекта "@ANG5614": X++: use DYNAMICSXREFDB; select top 100 modules.Module ,searchObject.Id as 'SearchObjectId' ,searchObject.Path as 'SearchObjectPath' ,xrefs.SourceId as 'ReferencedObjectId' ,referencedObject.[Path] as 'ReferencedObjectPath' ,xrefs.Line ,xrefs.[Column] ,xrefs.Kind from [Names] searchObject inner join [Modules] modules on modules.Id = searchObject.ModuleId inner join [References] xrefs on xrefs.TargetId = searchObject.Id inner join [Names] referencedObject on referencedObject.Id = xrefs.SourceId where searchObject.Path like '%@ANG5614%' 1 Method 2 Class 3 Interface 4 Abstract class 5 ? 6 Property 7 Attribute 8 ? 9 Tag Результат выглядит следующим образом: Смапить с физическим расположением исходника - дело техники Последний раз редактировалось MazZzDaI; 08.11.2017 в 14:19. Причина: Solution added |
|
08.11.2017, 21:28 | #16 |
Участник
|
Цитата:
Последний раз редактировалось skuull; 08.11.2017 в 23:12. |
|
|
За это сообщение автора поблагодарили: MazZzDaI (1). |
13.11.2017, 11:11 | #17 |
Участник
|
Цитата:
Сообщение от skuull
Поиск по форуму великолепный Что значит kind в xReference в ax7?
Сделал приложение для замены кодов меток Ax7LabelsReplacer Критика приветствуется. |
|
|
За это сообщение автора поблагодарили: mazzy (4). |
13.11.2017, 12:22 | #18 |
Участник
|
Цитата:
Сообщение от MazZzDaI
Сделал приложение для замены кодов меток Ax7LabelsReplacer
Критика приветствуется. Пусть будет больше проектов - хороших и разных. Не столько критика, сколько предложения для обсуждения:
Последний раз редактировалось mazzy; 13.11.2017 в 12:40. |
|
|
За это сообщение автора поблагодарили: MazZzDaI (1). |
13.11.2017, 12:38 | #19 |
Участник
|
Цитата:
Сообщение от MazZzDaI
Да, ты прав, Евгений, спасибо ^_^
Сделал приложение для замены кодов меток Ax7LabelsReplacer Критика приветствуется. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
13.11.2017, 12:48 | #20 |
Участник
|
Цитата:
и, при включенной системе контроля версий, в большинстве случаев у файлов будет включен ReadOnly атрибут. |
|
Теги |
ax7, d365, label |
|
|