powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Поругайте MS Dynamics AX (AXAPT`У)
25 сообщений из 445, страница 9 из 18
Поругайте MS Dynamics AX (AXAPT`У)
    #36003519
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ERP'шник,
сложность понятие относительная. Добраться до затылка кистью правой руки через левую лопатку служно конечно, согласен. Попробуйте просто почесать рукой.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004444
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin
То есть проблема в том что на Аксапте возможно существование кривого партнерского решения?

Проблема в том, что база подается как манна небесная, а остальное пишут люди. И без разницы на чем, С#, Delphi, X++

belugin
ок. если можно со слоя dis и ниже.

я хз, что такое слой dis :-) я пришлю код Аксапты и SQL запрос :-)

belugin
Вы дочитали до того места, где описывается, как сделали в 4?[/b]


Читал. А Вы это читали? Вдумайтесь в цифры. База 3 раза может поместиться в ОЗУ! никакой проблемы с железом нет.. Процы, круче гор и оврагов... А эта ПОСТРОЧНАЯ АКСАПТА.... перемалывает и блокирует записи по одной штучке.... Маразм.. Читал и Плакал...


beluginЯ наверное, чего-то не понимаю в SQL сервере, но объясните, как избежать грязного чтения InventSum без блокировок. Например, если после обновления InventSum транзакцию придется откатить по причине какого-то сбоя, не получится ли так, что другая транзакция сможет списать оприходованное количество, а оно потом исчезнет в результате роллбека.

Видимо я не понимаю ничего. Зачем при приходе товара блокировать!!!! При продаже кстати тоже... блокировки не нужны :-))) Вопрос, как видите не с MS SQL а к логике, архитектуре. Именно ее я считаю ущербной...


belugin
Я нашел некий топик про то, как сделать аналог того, что делает конструкция merge на SQL2008.

Мне было бы интересно скорее архитектурное решение. Как бы вы сделали непострочную обработку более сложного процесса, чем просто обновление остатков. В аксапте же кроме этого бухгалтерская разноска, чтение и учет всяких скидок по оплате, накладных расходов и еще куча всего.


Тут я пас.. хз о чем речь..

belugin
В-общем, насколько я понял, у вас
стоит Ax3, причем не обновлявшаяся, года, наверное 3 (поддержку SQL2005 сделали тогда, выход релиза 2002 год)

стоит SQL 2000 (2000 г. релиза)

поверх этого партнерское решение, возможно кривое

поверх него какие-то модификации на слое usr, кривые


Все это сочетание тормозит, что является недостатком Аксапты.

Кстати, если у вас такие объемы как у вас RecID не кончились - тоже вроде могли бы пожаловаться (в версии 3 они были 32 битные и сквозные на всю БД, в 4 они 64 битные и потаблиучные)

Так и есть. Но логика построчной обработки записей, накладывает ущербный отпечаток на кодеров... Они не могут мыслить таблицами, большими объемами данных. В итоге даже код на MS SQL они пишут через курсоры...
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004445
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova
belugin
ок. если можно со слоя dis и ниже.

я хз, что такое слой dis :-)
Пять баллов!

Volochkova
belugin
Мне было бы интересно скорее архитектурное решение. Как бы вы сделали непострочную обработку более сложного процесса, чем просто обновление остатков. В аксапте же кроме этого бухгалтерская разноска, чтение и учет всяких скидок по оплате, накладных расходов и еще куча всего.


Тут я пас.. хз о чем речь..


Но зато человеку достоверно известно:
Volochkova
Но логика построчной обработки записей, накладывает ущербный отпечаток на кодеров...
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004483
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova
beluginЯ наверное, чего-то не понимаю в SQL сервере, но объясните, как избежать грязного чтения InventSum без блокировок. Например, если после обновления InventSum транзакцию придется откатить по причине какого-то сбоя, не получится ли так, что другая транзакция сможет списать оприходованное количество, а оно потом исчезнет в результате роллбека.

Видимо я не понимаю ничего. Зачем при приходе товара блокировать!!!!


Предположим такой сценарий

Есть две транзакции A и B.

А приходует товары a1 и a2 на склад С1.
B перемещает товар a1 c С1 на склад C2.

Сценарий

1. A увеличила остаток a1 на C1
2. В посмотрела на этот остаток (так как блокировки нет, она не знает что он "грязный" и что нельзя закоммититься) перенесла его на склад C2.
3. А пытается увеличить остаток a2 на С1 но что-то происходит и транзакция откатывается.

Итого:

- Нет ни одной приходной накладной
- На складе С2 есть остаток, который неизвестно откуда взялся.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004593
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mazzyVolochkova
belugin
ок. если можно со слоя dis и ниже.

я хз, что такое слой dis :-)
Пять баллов!

Volochkova
belugin
Мне было бы интересно скорее архитектурное решение. Как бы вы сделали непострочную обработку более сложного процесса, чем просто обновление остатков. В аксапте же кроме этого бухгалтерская разноска, чтение и учет всяких скидок по оплате, накладных расходов и еще куча всего.


Тут я пас.. хз о чем речь..


Но зато человеку достоверно известно:
Volochkova
Но логика построчной обработки записей, накладывает ущербный отпечаток на кодеров...

Я пока от Вас ни одного опровержения не видел. Мне одного того что для каждой записи RecID генерируется на клиенте достаточно..
Могу в картинках...
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004596
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы думаете что при апдейте записи на более "правильном" слое, записи на базе не блокируются. То тут точно 5 баллов!

И то что отпечаток накладывается, знаю... Мне
Код: plaintext
Declare Cursor 
в sql коде хватает за глаза..
Переписал на массовую обработку, так процедура вместо 20 часов!!!!! работает 2 минуты :-))
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004603
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin
Предположим такой сценарий

Есть две транзакции A и B.

А приходует товары a1 и a2 на склад С1.
B перемещает товар a1 c С1 на склад C2.

Сценарий

1. A увеличила остаток a1 на C1
2. В посмотрела на этот остаток (так как блокировки нет, она не знает что он "грязный" и что нельзя закоммититься) перенесла его на склад C2.
3. А пытается увеличить остаток a2 на С1 но что-то происходит и транзакция откатывается.


Итого:

- Нет ни одной приходной накладной
- На складе С2 есть остаток, который неизвестно откуда взялся.

Яркий пример такого отпечатка :-)
Видимо я путаю механизмы транзакции и блокировки...
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004609
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще немного бреда...
Вот табличка.. уж ХЗ насколько она стандартная.. мне от не ведомо..
за половину рабочего дня.. у нее фрагментация 16% остается после 100% сделанных в ночь.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004768
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
belugin
Предположим такой сценарий

Есть две транзакции A и B.

А приходует товары a1 и a2 на склад С1.
B перемещает товар a1 c С1 на склад C2.

Сценарий

1. A увеличила остаток a1 на C1
2. В посмотрела на этот остаток (так как блокировки нет, она не знает что он "грязный" и что нельзя закоммититься) перенесла его на склад C2.
3. А пытается увеличить остаток a2 на С1 но что-то происходит и транзакция откатывается.

Итого:

- Нет ни одной приходной накладной
- На складе С2 есть остаток, который неизвестно откуда взялся.
если такие сценарии решаются при помощи физических блокировок записей в БД, то грустно, очень.
А описанные Вами пунктики 1 и 3 как раз то, о чем говорит Волочкова (построчная обработка). С момента появления реляционных СУБД такой стиль работы выглядит даже дико.
Нужно посмотреть, но может пример неудачный? Или действительно так? под рукой нет.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004895
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova
Но зато человеку достоверно известно:
Volochkova
Но логика построчной обработки записей, накладывает ущербный отпечаток на кодеров...

Я пока от Вас ни одного опровержения не видел. Мне одного того что для каждой записи RecID генерируется на клиенте достаточно..
Могу в картинках...[/quot]
Вам же уже сказали:
1. читайте доку про update_recordset, insert_recordset
2. построчно на клиента переносятся результаты запросов. Запросы с агрегирующими функциями (типа select count(recid) from custtable group by custaccount) выполняются на сервере. Получившиеся результаты построчно переносятся на клиента. Но строк в результате гораздо меньше, чем в исходной таблице. Так работает курсор.

В общем, пилите дальше.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004902
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmbelugin
Предположим такой сценарий

Есть две транзакции A и B.

А приходует товары a1 и a2 на склад С1.
B перемещает товар a1 c С1 на склад C2.

Сценарий

1. A увеличила остаток a1 на C1
2. В посмотрела на этот остаток (так как блокировки нет, она не знает что он "грязный" и что нельзя закоммититься) перенесла его на склад C2.
3. А пытается увеличить остаток a2 на С1 но что-то происходит и транзакция откатывается.

Итого:

- Нет ни одной приходной накладной
- На складе С2 есть остаток, который неизвестно откуда взялся.
если такие сценарии решаются при помощи физических блокировок записей в БД, то грустно, очень.
А описанные Вами пунктики 1 и 3 как раз то, о чем говорит Волочкова (построчная обработка). С момента появления реляционных СУБД такой стиль работы выглядит даже дико.
Нужно посмотреть, но может пример неудачный? Или действительно так? под рукой нет.

Дикость прямо с самой презентации видна, невооруженным взглядом.
:-)
Только в том примере, который тут в 3 строчки дали....
а если строк 10 скажем? и блокировки прут на уровни MS SQL, т.к. данные сильно фрагментированы и индексы тяжелые... т.к. по текстовым полям..

В итоге маразм выглядит так..
Первый пользователь...
Взяли первую строку... заблокировали ( заблокировалась целая страница данных)...
Взяли вторую строку... заблокировали ( заблокировалась целая страница данных)...
Взяли третью строку... заблокировали ( заблокировалась целая страница данных)...
А четвертую строку взять не можем, т.к. второй пользователь... наблокировал своих страничек... и ждет когда мы отпустим первую ...
И так блокировками поростает весь сервер...

И про 100 человек одновременно работающих... лично я не верю..
Выше описано... если база данных.. 3 раза помещается в ОЗУ... то проблема тормозов в архитектура БД и принципах обработки..

Это как приговор..
И полумерами.. описанными в презентации, вынесение... в промежуточные таблицы.. это еще один путь в коллапс... только более жестокий..
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004904
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkovaу нее фрагментация 16% остается после 100% сделанных в ночь.
/topic/650982&pg=7#7209568
Разберитесь наконец с индексами.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004908
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mazzyVolochkova
Но зато человеку достоверно известно:
Volochkova
Но логика построчной обработки записей, накладывает ущербный отпечаток на кодеров...

Я пока от Вас ни одного опровержения не видел. Мне одного того что для каждой записи RecID генерируется на клиенте достаточно..
Могу в картинках...
Вам же уже сказали:
1. читайте доку про update_recordset, insert_recordset
2. построчно на клиента переносятся результаты запросов. Запросы с агрегирующими функциями (типа select count(recid) from custtable group by custaccount) выполняются на сервере. Получившиеся результаты построчно переносятся на клиента. Но строк в результате гораздо меньше, чем в исходной таблице. Так работает курсор.

В общем, пилите дальше.[/quot]

Это и есть построчная гемороидалья.... Можно дальше не пилить... :-)
Вместо отправки на сервер запроса - проведи документ и получить результат...
Пользователь сидит и ждет.. когда же для каждой строки отработают куча маленьких запросиков..
Достаточно взглянуть SQL профайлером, что делает процесс... как бегает курсором по таблицам.. :-)

Так что красивые маркетинговые фишки... это не клиент серверная обработка. :-)
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004915
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mazzyVolochkovaу нее фрагментация 16% остается после 100% сделанных в ночь.
/topic/650982&pg=7#7209568
Разберитесь наконец с индексами.

Гы.. и что там не так?
Индекс что кластерный, что нет.. эффект одинаковый.. база стоит колом :-))) только с кластенрым при 20 пользователях.. а без него на 5 :-)

Порядок полей ( если вернуть как было в Аксапте) база стоит раком в принципе :-)))
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004921
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой... А что это за табличка?
Индексы не трогал....
А что за пробелы такие левые????
:-)
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004932
Bладимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmесли такие сценарии решаются при помощи физических блокировок записей в БД, то грустно, очень.
А описанные Вами пунктики 1 и 3 как раз то, о чем говорит Волочкова (построчная обработка). С момента появления реляционных СУБД такой стиль работы выглядит даже дико.

Блокировочники, а MS SQL 2000 - чистый блокировочник, именно так и работают. Другое дело, что блокировки не должны накладываться на все время пользовательского ввода (работы с формой), а только на время записи операции в базу.
Но вряд ли аксапта блокирует записи на время жизни формы - это и сделать-то не очень просто.
А 20 часов на закрытие магазина - ТС можно только посочувствовать, там видимо после всех оптимизаций и доработок все поразъехалось, и все это хозяйство на него(нее?) вывалилось.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004953
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bладимир
Блокировочники, а MS SQL 2000 - чистый блокировочник, именно так и работают.
это к чему, уточните плз.
p.s. как работают блокировочники и то, что SQL2k чистый блокировочник наверняка все знают. Только речь идет совсем о другом.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36004987
miklenew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Volochkova
Вот табличка.. уж ХЗ насколько она стандартная.. мне от не ведомо..

Да уж. Когда я начинал изучать Axapt-у, то что такое слои было в первый день.
Ради интереса сдул пыль с книг по разработке. Ax 3.0 - 20 стр, Ax 4.0 - 40 стр.
Советую ещё раз вдумчиво почитать одну из этих книг.
Прежде чем мне доверили что-то оптимизировать, прошло месяца три не меньше.
Но я тогда уже основы знал как отче наш. И простых задач, но актуальных для организации много наделал. Знал не только как правильно, но и почему.
Да и у нас практиковался такой метод, как просмотр кода более старшими товарищами.
Axapta - отличная система, уже почти 3 года программирую на ней и средства что-то ускорить в ней есть. Я вообще стараюсь не лезть в БД.
То что действительно бывают проблемы как со скоростью или с неудачным архитектурным решением, это да. Но 98% случаях, это не стандартная Axapta, а то что написали либо партнёры (внедренцы) или на клиенте.
А вы не понимая, кто-что сделал наводите панику.
На axforum.info создать тему вы по какой-то причине боитесь или не хотите, чтоб вам помогли.
Пишите на непрофильном форуме, вполне конкретные проблемы вперемешку с поверхностными выводами.
Если проблем много, а подсказать доброжелательных старших товарищей нет, таких которые были в своё время у меня. Это плохо.
Могу помочь, стать тем самым старшим товарищем, 1-2 часа в день (по мере вашей в этом необходимости) проводить консультации по телефону или любыми другими удалёнными средствами.
Если интересно, то детали можно обсудить по почте kolosov82@inbox.ru.
PS
: Сразу оговорюсь, на всякий случай, не терплю хамства.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005011
Bладимир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmBладимир
Блокировочники, а MS SQL 2000 - чистый блокировочник, именно так и работают.
это к чему, уточните плз.


К тому что блокировочники борются с грязным чтением именно блокировками.

Вот описанная ситуация:
belugin

Есть две транзакции A и B.

А приходует товары a1 и a2 на склад С1.
B перемещает товар a1 c С1 на склад C2.

Сценарий

1. A увеличила остаток a1 на C1
2. В посмотрела на этот остаток (так как блокировки нет, она не знает что он "грязный" и что нельзя закоммититься) перенесла его на склад C2.
3. А пытается увеличить остаток a2 на С1 но что-то происходит и транзакция откатывается.

Итого:

- Нет ни одной приходной накладной
- На складе С2 есть остаток, который неизвестно откуда взялся.


К нему был Ваш коменнтарий:

iscrafm
если такие сценарии решаются при помощи физических блокировок записей в БД, то грустно, очень.


Может быть Вы раскажете, как с такой ситуацией надо бороться без блокировок?
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005070
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bладимир,
почитайте про понятие POSTING. В аксапте даже.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005137
mazzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmBладимир,
почитайте про понятие POSTING. В аксапте даже.
Давайте подробнее. Для меня, например, ваша мысль непонятна.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005254
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mazzy
Давайте подробнее. Для меня, например, ваша мысль непонятна.
если документ не "проведен", то его записи не учавствуют в учете (товар не оприходован). А учитывается весь документ или ничего. Одна транзакция. Поэтому и непонятно, как можно взять одну запись из документа в тот момент, пока транзакция не завершена. Подозрение только на то, что записи обрабатываются построчно, а не в одной транзакции (о чем говорит Волочкова). Могу ошибаться, посмотреть негде сейчас.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005355
V. Goncharenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VolochkovaВидимо я не понимаю ничего
Вы действительно ОЧЕНЬ многого не понимаете
авторМне одного того что для каждой записи RecID генерируется на клиенте достаточно..
Вы это каким образом определили? Вообще RecId на сервере геренируется в большинстве случаев (за исключением толстого клиента)
авторЗачем при приходе товара блокировать!!!! При продаже кстати тоже... блокировки не нужны :-))) Вопрос, как видите не с MS SQL а к логике, архитектуре. Именно ее я считаю ущербной...

Такие понятия, как ACID , для нас пустой звук, но архитектуры обсуждать любим..
Вам бы выйти из режима агрессивного отрицания (см. "маразм" в каждом сообщении) и начать задавать правильные вопросы на профильных форумах. А пока что резюме такое
- Снятая с поддержки версия приложения
- Снятая с поддержки версия СУБД
- Непонятной кривизны партнерское решение
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005394
Фотография sobolev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два вопроса касательно партнерского решения:
1. Предоставляет ли базовая поставка Dynamics AX функционал для розничной торговли (я так понимаю, что Volochkova пользует именно эту сферу бизнеса)?
2. Как партнер, предоставивший обсуждаемое решение позиционирует себя сам и как к этому относится MS?

Суть второго вопроса в том, что если это - официальный партнер со всякими регалиями, то на MS лежит значительная доля ответственности за решения этого партнера.
...
Рейтинг: 0 / 0
Поругайте MS Dynamics AX (AXAPT`У)
    #36005412
Viverna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sobolevДва вопроса касательно партнерского решения:
1. Предоставляет ли базовая поставка Dynamics AX функционал для розничной торговли (я так понимаю, что Volochkova пользует именно эту сферу бизнеса)?
2. Как партнер, предоставивший обсуждаемое решение позиционирует себя сам и как к этому относится MS?

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

Базовая не включает. Но есть решения партнеров для розничной торговли. Например Корус или Коламбус. Что за решение у Volochkova - вот в чем вопрос :) Да и думаю там и местные программисты успели пошаманить.
...
Рейтинг: 0 / 0
25 сообщений из 445, страница 9 из 18
Форумы / ERP и учетные системы [игнор отключен] [закрыт для гостей] / Поругайте MS Dynamics AX (AXAPT`У)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]