AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 14.01.2010, 11:18   #21  
Вата ist offline
Вата
Участник
 
71 / 0 (1) +
Registriert seit: 20.09.2008
Что тоже не есть гуд.. Как я и говорил..

Счас актуально, передать парамметр, через коммандную строку.
И по поводу СОМ конектора, кто нить делал что то подобное? Я тут нашел на форуме что:
Zitat:
Axapta COM connector работает ТОЛЬКО с IIS
?!?!
Alt 14.01.2010, 11:30   #22  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.720 / 1207 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Может быть Вам стоит просто ограничить максимальное количество строк в одном журнале? Скажем, не более 500..1000 строк.

Как мне кажется, выполнять разноску в пакетном режиме не есть хорошая идея. Т.е. сегодня журнал создали, ночью попытались разнести, вылезла ошибка разноски, исправили, следующей ночью опять попытались разнести, вылезла другая ошибка разноски,... И сколько дней Вы будете пытаться повторять попытку разноски? Ах, у Вас не будет ошибок разноски? Ну-ну..

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

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

Ну, сделают пользователи не один мега-журнал, а 10..20 небольших журналов. Например, просто копируя строки из предварительно созданного мега-журнала. Это и контролировать будет проще и обрабатывать...
This post has been rated by: Andrey Peganov (1).
Alt 14.01.2010, 11:54   #23  
Вата ist offline
Вата
Участник
 
71 / 0 (1) +
Registriert seit: 20.09.2008
То что вы описали (с ночными ошибками) это как раз вариант с пакетами..
Ограничение строк журналов будет однозначно.

Я все таки хочу попробовать, о результатах отпишусь.

Geändert von Вата (14.01.2010 um 11:58 Uhr)
Alt 14.01.2010, 12:08   #24  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.720 / 1207 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Zitat:
Zitat von Вата Beitrag anzeigen
То что вы описали (с ночными ошибками) это как раз вариант с пакетами..
Ограничение строк журналов будет однозначно.

Я все таки хочу попробовать, о результатах отпишусь.
Еще раз, почему Вы хотите запустить паралельный процесс? ЗАЧЕМ? Что Вы хотите этим добиться? Какую проблему решить?

Еще раз, подумайте над таким вопросом: чем отличается запуск разноски через запуск еще одной копии Axapta, от включения в работу еще одного пользователя? Это не одно и то же? Если нет, то ЧЕМ отличается?
Alt 14.01.2010, 12:17   #25  
Vadik ist offline
Vadik
Модератор
Benutzerbild von Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3.631 / 1853 (69) ++++++++
Registriert seit: 18.11.2002
Ort: гражданин Москвы
Zitat:
Zitat von Вата Beitrag anzeigen
Успешный бизнес он наверное от того и успешный, что пытается из всего выжать максимум
Вы похоже смайлик в моем сообщении не заметили
Zitat:
Да и подход "купите новый продукт, так как старый не делает того, что должен был делать" весьма сомнительный аргумент.
"Должен" по отношению к программному продукту тоже аргумент весьма спорный. Он никому ничего не должен. У него есть свои особенности (фичи) и недостатки (баги), иногда одно достаточно трудно отличить от другого Фича в разноске больших и очень больших журналов ГК заключается в том, что время разноски растет не линейно в арифметической прогрессии от числа строк, а по экспоненте. Так что у Вас всегда есть выбор: понять особенность продукта и решить проблему штатно (ограничением максимального количества строк и запуском дополнительных пакетных серверов) либо продолжать рожать ежиков (COM Connector и пр.)
__________________
-ТСЯ или -ТЬСЯ ?
Alt 14.01.2010, 12:18   #26  
raz ist offline
raz
NavAx
Benutzerbild von raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1.499 / 1097 (39) ++++++++
Registriert seit: 22.07.2003
Ort: МО
Zitat:
Zitat von Вата Beitrag anzeigen
И по поводу СОМ конектора, кто нить делал что то подобное?
Да. Без IIS прекрасно работает.

Пример:

файл TestAOS.vbs

Zitat:
'Имя аоса к которому подключаемся
AOSName = "Axapta-AOS"

'Имя конфигурации аос клиента
ConfigurationClientName = "Real"

'Имя аос клиента под которым выполняем логин (для него настроена доменная авторизация)
AxaptaClientName = "aos1"

On Error Resume Next

' WScript.Sleep 120000

set ax=CreateObject("AxaptaCOMConnector.Axapta2.1")
Err = Ax.Logon (AxaptaClientName, "", "", ConfigurationClientName)
Ax.Logoff
if Err = 0 Then
WScript.Echo Err
ELSE
WScript.Echo Err
End If

Set ax = Nothing
Alt 14.01.2010, 12:45   #27  
3oppo ist offline
3oppo
Участник
Benutzerbild von 3oppo
 
222 / 32 (2) +++
Registriert seit: 30.06.2005
Zitat:
Zitat von Вата Beitrag anzeigen
Счас актуально, передать парамметр, через коммандную строку.
Cоздай свою команду загрузки, см. SysStartupCmd::construct()
Alt 14.01.2010, 12:53   #28  
Вата ist offline
Вата
Участник
 
71 / 0 (1) +
Registriert seit: 20.09.2008
Zitat:
Zitat von Владимир Максимов Beitrag anzeigen
Может быть Вам стоит просто ограничить максимальное количество строк в одном журнале? Скажем, не более 500..1000 строк.
Это понятно, и это одназначно будет делаться..

Zitat:
Zitat von Владимир Максимов Beitrag anzeigen
Как Вам уже неоднократно намекали, основная проблема разносок - это взаимные блокировки. И распаралеливание процессов Вам вообще никак не поможет. По сути, Вы просто повторите ту ситуацию, которая происходит сейчас. Когда Вы пытаетесь разнести в процессе работы такой огромный журнал вся работа встает. Другой пользователь (процесс) не может ничего сделать из-за наложенных процессом разноски блокировок.
Другой пользователь ничего не сможет сделать с тем же журналом! А с другим сможет.. Много времени ухожит именно на обработку кучи АХ классов разноски, а не обращение к БД. Вот на этом времени я и хочу выиграть.
Alt 14.01.2010, 16:52   #29  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.720 / 1207 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Zitat:
Zitat von Вата Beitrag anzeigen
Другой пользователь ничего не сможет сделать с тем же журналом! А с другим сможет..
Это Вам так кажется. Впрочем, зависит от версии Axapta.

Например, до 3.0 включительно, в процессе разноски была блокировка InventSum. Это значит, что другой пользователь не сможет выполнить никаких операций с тем же самым артикулом по той же складской аналитике. Ни заказ отфактуровать, ни закупку оприходовать.

В 4.0 механизм блокировки InventSum в операциях разноски переделали (блокируют не в начале операции, а в конце). Т.е. с этой стороны опасности вроде нет. Но возможно, там возникают ли какие-нибудь другие блокировки.

Zitat:
Zitat von Вата Beitrag anzeigen
Много времени ухожит именно на обработку кучи АХ классов разноски, а не обращение к БД. Вот на этом времени я и хочу выиграть.
Вы хронометраж делали? Ну, или трассировку?

Операции в памяти (обработка классов) - самые быстрые. На них "по определению" не может тратится времени больше, чем на запросы к базе данных.

Другое дело, что объектная модель имеет "родимое пятно" в виде многкратного повторного обращения к одним и тем же данным базы данных (поиск справочной информации). Вот здесь и имеет смысл оптимизировать выполнив поиск где-то при инициализации класса и записав найденные данные в переменные класса. Возможно, достаточно будет проверить (изменить) режимы кеширования справочных таблиц, используемых в классах разноски.

Распаралеливанием процессов путем запуска еще одной копии Axapta Вы никакого выигрыша не получите. Скорее, лишние проблемы и тормоза.
Alt 14.01.2010, 17:18   #30  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.720 / 1207 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Насчет блокировок в 3.0 я был не совсем прав. Если включен IMTS, то их может и не быть. Но, вроде бы, никто не советует его включать из-за возникающих дополнительных рисков. Есть очень хорошая статья, насчет того, кто и что блокирует

Dynamics AX 4 и IMTS

Так что, далеко не факт, что в процессе разноски одного журнала другой пользователь сможет разнести другой журнал. Как повезет...
Alt 15.01.2010, 15:25   #31  
Вата ist offline
Вата
Участник
 
71 / 0 (1) +
Registriert seit: 20.09.2008
Zitat:
Zitat von Владимир Максимов Beitrag anzeigen
Это значит, что другой пользователь не сможет выполнить никаких операций с тем же самым артикулом по той же складской аналитике.
Да это понятно.. Но я планирую разбивать данные таким образом чтобы скл. аналитика не пересекалась.
Alt 15.01.2010, 15:40   #32  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.720 / 1207 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Zitat:
Zitat von Вата Beitrag anzeigen
Но я планирую разбивать данные таким образом чтобы скл. аналитика не пересекалась.
Это как?

В InventSum сливаются модификации от складских журналов, заказов и закупок. Каким образом Вы предполагаете "развести" эти разные типы документов по разным складским аналитикам? В смысле, чтобы в один и тот же момент времени они не использовали одинаковые складские аналитики по одним и тем же артикулам?

Да даже и в рамках только складских журналов. Каким образом Вы собираетесь "развести" разных пользователей по разным складским аналитикам?

Т.е. один пользователь создал журнал, а второй не может ничего делать, поскольку ему НАДО (ну, вот надо и все тут!) создать строку с той же складской аналитикой. А Вы запрещаете!

Мне кажется, это еще хуже, чем создать журнал, но не смочь его разнести...
Alt 15.01.2010, 16:18   #33  
Вата ist offline
Вата
Участник
 
71 / 0 (1) +
Registriert seit: 20.09.2008
Zitat:
Zitat von Владимир Максимов Beitrag anzeigen
Это как?
Каким образом Вы предполагаете "развести" эти разные типы документов по разным складским аналитикам? В смысле, чтобы в один и тот же момент времени они не использовали одинаковые складские аналитики по одним и тем же артикулам?
.
Очень просто.. ночью, когда работает только один пользователь..
Alt 15.01.2010, 18:29   #34  
Владимир Максимов ist offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1.720 / 1207 (44) ++++++++
Registriert seit: 13.01.2004
Blog-Einträge: 3
Zitat:
Zitat von Вата Beitrag anzeigen
Очень просто.. ночью, когда работает только один пользователь..
Т.е. у Вас с Axapta работает один пользователь и Вы хотите паралельно запускать "скрытую" копию Axapta? А что, пользователь не начнет тут же создавать другой журнал (заказ, закупку) по тем же складским аналитикам? И как Вы ему объясните, что "нельзя"? Почему собственно?

Вы можете хотя бы самому себе объяснить ЗАЧЕМ Вам надо автоматически запускать некий скрытый процесс? Почему пользователь не может это сделать самостоятельно?
Stichworte
ax3.0, запуск, конфигурационная утилита, параметры

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Остановка и запуск сервера из командной строки KiselevSA DAX: Администрирование 13 17.11.2006 14:37
Как открыть ax32.exe из командной строки без ввода пароля? Morpheus DAX: Администрирование 6 16.11.2006 14:57
Как отпроцессить куб из командной строки? slava09 DAX: Программирование 6 01.06.2006 13:51
Параметры командной строки конфигурации listener DAX: Администрирование 3 18.12.2004 00:21
При создании строки в закупке статус строки становится "Отменено" AlexUnik DAX: Функционал 4 27.09.2004 16:05

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 04:10 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.