07.02.2002, 19:15 | #1 |
Участник
|
Проблема импортации таблиц
Добрый день, господа
Обнаружил следующую проблему Axapta: 1. Импортирую проект в только что установленную Аксапту. Проект содержит Таблицы, классы и т.д. 2. После импортации наблюдаю, что некоторые поля таблиц (например, поле ZipCode таблицы CustTable) не импортировалось. Другими словами свойства этого поля у меня в проекте изменены, а при импортации свойства остались без изменений ('usr' layer для этого поля отсутствует). Помогает только изменение полей вручную... Кто может сказать почему это происходит? Как решить эту проблему, чтобы не проверять все таблицы (и другие объеткы) вручную? |
|
07.02.2002, 21:43 | #2 |
Участник
|
У меня было подобное, когда я переносил документацию на свои объекты. Ветка с документацией создается только тогда, когда объект существует. Поэтому приходилось импортировать два прохода. В первый проход создавались основные объекты, а во второй - документация.
Похоже дело в том, что объекты записываются только тогда, когда импорт полностью закончен. Поэтому, похоже, возможна ситуация когда импортируется объект-потомок а объект-родитель еще не создан (не записан). И, похоже, такая ситуация приводит к тому, что объект потомок просто не создается. Для таблиц может дело в том, что в секциях MAP, в Relation или в DeleteAction указаны другие таблицы из импортируемого проекта? Может быть дело в этом? Попробуй сделать импорт повторно. |
|
08.02.2002, 13:11 | #3 |
Участник
|
Спасибо за совет, но я это уже пробовал: импорировал один, два, три раза - изменений не было... Причем некоторые поля таблицы импортировались успешно, а другие нет!
Вообще похоже, что некоторые таблицы, формы и т.д. в Аксапте "защищены" на низком уровне. Попробуйте, например, удалить из формы CustTable поле AccountNum или переместить его на другой Tab. В результате поле AccountNum будет все равно отображаться на своем "старом" месте. |
|
08.02.2002, 14:59 | #4 |
Участник
|
Цитата:
но я это уже пробовал
Цитата:
Вообще похоже, что некоторые таблицы, формы и т.д. в Аксапте "защищены" на низком
Если у вас есть доступ к слою VAR или CUS, сделайте эксперимент: попробуйте создать свой объект и попытайтесь удалить его из слоя USR. Дело в том, что форма CustTable определена на более высоких слоях. У вас нет права "удалить" элементы, на которые у вас нет прав Это значит, в частности, что и AccountNum в УДАЛИТЬ из формы не можете. Это одно из замечательных свойств по контролю за обновлениями. Однако вы можете скопировать это поле в другую закладку. Но что это за странная мысль - удалить AccountNum? Почему бы не скрыть от пользователя (свойство Visible := No)? И какой из AccountNum'ов вы хотите удалить? (Их там несколько - в datasource, в Grid и на закладке General) А зачем скрывать то? Пользователи то как будут работать без AccountNum? Аксапта построена на том, что именно это поле всегда показывается... Видимо, Lm, вы являетесь приверженцем искусственных ключей в БД. AccountNum - естественный ключ (со всеми достоинствами и недостатками такого подхода). Зачем скрывать естественный ключ в системе которая работает именно с естественными ключами и практически нигде не использует искусственные? |
|
08.02.2002, 16:56 | #5 |
Участник
|
mazzy :)
1. Про AccountNum я написал в качестве примера. А вообще такая проблема возникла, когда я хотел в Forms/CustTable/Tab/General сделать редизайн, поскольку у меня появились некоторые новые свойства.... и натолкнулся на "защиту". Но это было уже очень давно. Разумеется, новые свойства правильнее всего размещать на собственных Tab-ах, что я успешно и делаю. 2. А ключи таблиц в Аксапте я меняю очень редко и оторожно, чего и всем советую. 3. А импортация возможно тоже не проходит из-за отсутствия доступа к какому-либо из слоев (хотя лицензии на серверах одинаковые). Просто с этим барабашкой я еще не знаком :) |
|
08.02.2002, 17:35 | #6 |
сибиряк
|
Неуловимый AccountNum
Удалить поле AccountNum из Forms/CustTable/Tab/General невозможно по одной простой причине - оно принадлежит группе Идентификация таблицы CustTable, и вынесено на group формы именно в составе группы таблицы, а не как часть самостоятельных полей CustTable.
Удалите из свойства Forms/CustTable/Tab/General/Group:Identification в свойстве DataGroup значение Идентификация, и вы можете делать с этой группой чего Ваша душа пожелает. Хоть удалять, хоть добавлять И еще, при значащем значении свойства DataGroup добавление в группу полей невозможно
__________________
С уважением, Вячеслав. |
|
08.02.2002, 18:30 | #7 |
Участник
|
Re: Неуловимый AccountNum
Цитата:
Изначально опубликовано slava
Удалите из свойства Forms/CustTable/Tab/General/Group:Identification в свойстве DataGroup значение Идентификация, и вы можете делать с этой группой чего Ваша душа пожелает. Хоть удалять, хоть добавлять Был неправ. А я то был уверен, что если AutoDataGroup = No, то DataGroup уже не влияет. Спасибо. |
|