AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > Axapta FAQ
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.05.2004, 12:17   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Вопрос: Что делать, если Аксапта постоянно падает?

Ответ: Прежде всего - Барабашки нет.

Еще раз - Барабашки нет. Все происходящее в компьютере обусловлено теми или иными причинами. Нужно только найти эти причины.

Иногда поиск требует много времени и усилий. Поэтому если некоторые глюки и особенности поведения не причиняют особенных неудобств, то легче оставить их как есть, не занимаясь поиском причин. Но если глюки вас достают, то не стоит сваливать на барабашку - займитесь поиском и исправлением причин.

Axapta создана на библиотеках MFC, поэтому прежде всего нужно устранить общие для всех программ Windows причины глюков. Вы будете удивлены насколько часто помогают "простые движения".
  • Проверьте свободное место на диске, где размещены временные файлы. Если вы не переопределяли стандартные установки, то временные файлы размещены в каталоге %WINDOWS%\Temp или %USERPROFILE%\Local Settings\Temp. Для временных файлов нужно оставить свободное место, не менее, чем четыре размера оперативной памяти. Таким образом, если у вас на компьютере 512Мб пямати, то для временных файлов нужно оставить минимум 2Гб. Если оставить больше, будет лучше.
  • Проверьте размер файла подкачки (virtual memory, paging file, swap-файл). Есть разные стратегии установки размера файла подкачки. Убедитесь что максимальный размер файла подкачки достаточный. Я устанавливаю минимум 512Мб, максимум 1536Мб. Некоторые рекомендуют устанавливать постоянный размер, тогда нужно установить оба размера больше 1Гб.
  • Важно! Проверьте свободное место на диске, где размещен файл подкачки. Если файл подкачки переменного размера, убедитесь, что на диске достаточно места для файла подкачки! Windows в очень редких случаях выдает адекватные диагностические сообщения в случае, если не смогла увеличить файл подкачки. Как правило, в таких случаях программа просто падает. ОБРАТИТЕ ВНИМАНИЕ! Если файл подкачки и временные файлы находятся на одном и том же диске, то нужно оставить достаточно свободного места для всех!
  • Будьте осторожны с уплотнителями пямяти. Раньше это было актуальным. Теперь использовать их не стоит. Лучше прикупить дополнительную нормальную физическую память. В любом случае выключите нафих все подобные программы.
  • Будьте осторожны с программами, которые постоянно находятся в памяти (Особенно осторожны будьте с устаревшими программами). Всякие органайзеры, напоминалки, антивирусы, мониторы, сканеры, преобразователи и т.п. Это вовсе не значит, что вообще не нужно их использовать. Это значит, что при использовании таких программ надо ДУМАТЬ. Аксапта - очень требовательна к памяти. Однако Аксапта не применяет никаких хитростей и ухищрений для того, чтобы эту память получить. Если windows говорит, что память получить можно, а из-за какого-нибудь монитора эту память получить не удасться... Если вас замучали необъяснимые глюки - попробуйте выключить программы, висящие в памяти.

    Вы будете удивлены, но подобной программой является и... MS SQL. По-умолчанию, MS SQL хочет получить всю память. По-умолчанию, если Аксапта и MS SQL работают на одной машине, то они постоянно борются друг с другом. Ограничте максимальный размер памяти для MS SQL. Вы удивитесь насколько комфортнее и безглючнее станет ваша работа.

  • Будьте осторожны с твикерами (tweak). Часто те, кто постоянно жалуются на падения, неоправданно "заоптимизировали" свой компьютер. Аксапта - жрет очень много памяти. Она "не любит", когда ее в этом ограничивают. Этот совет вовсе не означает, то твикеры не нужно использовать. Просто их надо использовать разумно. Большинство твикеров устанавливают параметры по-умолчанию исходя из предположений о некоторой среднестатистической типичной windows-программе. Аксапта - тяжелое приложение, она ни как не может считаться типичной программой. Если вас замучали необъяснимые глюки - выключите твикер.
  • Будьте осторожны со темами WindowsXP. Аксапта использует интерфейс windows. Однако, для работы MorphX Axapta использует практически все свойства интерфейсных элементов (контролов). К сожалению, в некоторых скинах расширенные свойства, необходимые для работы MorhpX реализованы некорректно. Стандартные темы работают корректно. Если вас замучали необъяснимые глюки попробуйте переключиться в стадартную тему.
Теперь немного об особенностях самой Аксапты
  • Первый совет при любых необъяснимых глюках - переиндексируйте приложение. Для этого удалите индексы и запустите Аксапту. Файл, который удает индексы здесь
  • (автор komar) установить на телегу принтер. Поразительно, но факт - даже если эта Аксапта никогда на принтер не печатает, она все равно любит видеть принтер по-умолчанию. Мало того, без установленного по-умолчанию принтера вы не сможете посмотреть отчеты.
  • Если вы получаете сообщения типа "не найден выполнимый код", сделайте глобальную компиляцию. Многие глобальной компиляцией пренебрегают - а зря. Это обязательный шаг при первой установке, при обновлении путем копирования aod-файлов, при разработке в смешанной среде (2х и 3х уровневые одновременно)
  • Проверьте соединение с сервером. Аксапта "истерически" относится даже к кратковременному разрыву связи с сервером. Поиграйтесь с параметрами Connection на закладке Database в конфигурационной утилите.
  • Проверьте не достигла ли база данных максимального размера. Аксапта часто падает, если размер базы ограничен сверху, а данные уже заполнили весь доступный объем.
  • Периодически обновляйте exe-шники Аксапты.
  • Если после всех этих действий остались глюки в коде... На 99% глюки в коде привнесены вами или вашими программистами. Да, есть глюки в стандартной функциональности. Но в среднем вы найдете причину гораздо быстрее, если начнете искать в своем коде.
  • Если вы нашли глюк в стандартной функциональности, то о нем можно сообщить партнеру MSBS - вашему поставщику.
Особенности терхуровневой Аксапты
  • (автор Raz) Если возникают непонятные глюки помогает удаление файлов *.aoc из каталога %USERPROFILE%\Local Settings\Application Data\ (для win2k, winXP).
Обсудить этот совет можно здесь
Обсуждение совета "Аксапта падает. Что делать?"
__________________
полезное на axForum, github, vk, coub.
Старый 21.04.2005, 23:03   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
В трехуровневой аксапте случаются вылеты после выключения конфигурационных ключей.

Например, тонкий клиент трехуровневой Аксапты 3.0 SP3 после выключения ключа Внешнаяя торговля вылетает при создании закупки. А вылетает код IntraStatParameters::find().defaultSalePurchase в методе initValue класса PurchTableType. Таблица IntraStatParameters отключается ключом Внешняя торговля. С другой стороны для этой таблицы установлен режим кэширования EntireTable. В результате, либо тонкого клиента, либо АОС переклинивает.

Для подобные таблиц надо устанавливать другой, включенный конфигурационный ключ.

Будьте внимательны при отключении конфигурационных ключей.
__________________
полезное на axForum, github, vk, coub.
Старый 22.04.2005, 09:18   #3  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Есть еще такой глюк, при котором аксапта зависнет.
Если есть самодельный SecurityKey и пользователю он включает доступ, то при удалении ключа у данного пользователя при логине аксапта вылетит.
Старый 06.05.2005, 09:43   #4  
Lexa_imported is offline
Lexa_imported
Участник
 
3 / 10 (1) +
Регистрация: 27.10.2004
Еще не корректная работа с Map'ами убивает Ахапту
Map map;
MapIterator it;
;
map = new Map(Types::Integer, Types::Integer);

map.insert(1,1);
map.insert(2,10);

it = new MapIterator(map);
while(it.more())
{
map.remove(it.key());
map.insert(it.key(), 10);
it.next();
}
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:47.