14.01.2010, 11:18 | #21 |
Участник
|
Что тоже не есть гуд.. Как я и говорил..
Счас актуально, передать парамметр, через коммандную строку. И по поводу СОМ конектора, кто нить делал что то подобное? Я тут нашел на форуме что: Цитата:
Axapta COM connector работает ТОЛЬКО с IIS
|
|
14.01.2010, 11:30 | #22 |
Участник
|
Может быть Вам стоит просто ограничить максимальное количество строк в одном журнале? Скажем, не более 500..1000 строк.
Как мне кажется, выполнять разноску в пакетном режиме не есть хорошая идея. Т.е. сегодня журнал создали, ночью попытались разнести, вылезла ошибка разноски, исправили, следующей ночью опять попытались разнести, вылезла другая ошибка разноски,... И сколько дней Вы будете пытаться повторять попытку разноски? Ах, у Вас не будет ошибок разноски? Ну-ну.. Как Вам уже неоднократно намекали, основная проблема разносок - это взаимные блокировки. И распаралеливание процессов Вам вообще никак не поможет. По сути, Вы просто повторите ту ситуацию, которая происходит сейчас. Когда Вы пытаетесь разнести в процессе работы такой огромный журнал вся работа встает. Другой пользователь (процесс) не может ничего сделать из-за наложенных процессом разноски блокировок. И в чем разница, если в качестве другого пользователя будет выступать другой процесс разноски? Единственные путь решения проблемы без существенной переделки кода - это банальное ограничение количества строк журнала. Ну, сделают пользователи не один мега-журнал, а 10..20 небольших журналов. Например, просто копируя строки из предварительно созданного мега-журнала. Это и контролировать будет проще и обрабатывать... |
|
|
За это сообщение автора поблагодарили: Andrey Peganov (1). |
14.01.2010, 11:54 | #23 |
Участник
|
То что вы описали (с ночными ошибками) это как раз вариант с пакетами..
Ограничение строк журналов будет однозначно. Я все таки хочу попробовать, о результатах отпишусь. Последний раз редактировалось Вата; 14.01.2010 в 11:58. |
|
14.01.2010, 12:08 | #24 |
Участник
|
Цитата:
Еще раз, подумайте над таким вопросом: чем отличается запуск разноски через запуск еще одной копии Axapta, от включения в работу еще одного пользователя? Это не одно и то же? Если нет, то ЧЕМ отличается? |
|
14.01.2010, 12:17 | #25 |
Модератор
|
Цитата:
Цитата:
Да и подход "купите новый продукт, так как старый не делает того, что должен был делать" весьма сомнительный аргумент.
__________________
-ТСЯ или -ТЬСЯ ? |
|
14.01.2010, 12:18 | #26 |
NavAx
|
Да. Без IIS прекрасно работает.
Пример: файл TestAOS.vbs Цитата:
'Имя аоса к которому подключаемся
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 |
|
14.01.2010, 12:45 | #27 |
Участник
|
Cоздай свою команду загрузки, см. SysStartupCmd::construct()
__________________
PS. Сложно приехать в Москву, но ещё сложнее уехать отсюда. |
|
14.01.2010, 12:53 | #28 |
Участник
|
Цитата:
Цитата:
Сообщение от Владимир Максимов
Как Вам уже неоднократно намекали, основная проблема разносок - это взаимные блокировки. И распаралеливание процессов Вам вообще никак не поможет. По сути, Вы просто повторите ту ситуацию, которая происходит сейчас. Когда Вы пытаетесь разнести в процессе работы такой огромный журнал вся работа встает. Другой пользователь (процесс) не может ничего сделать из-за наложенных процессом разноски блокировок.
|
|
14.01.2010, 16:52 | #29 |
Участник
|
Цитата:
Например, до 3.0 включительно, в процессе разноски была блокировка InventSum. Это значит, что другой пользователь не сможет выполнить никаких операций с тем же самым артикулом по той же складской аналитике. Ни заказ отфактуровать, ни закупку оприходовать. В 4.0 механизм блокировки InventSum в операциях разноски переделали (блокируют не в начале операции, а в конце). Т.е. с этой стороны опасности вроде нет. Но возможно, там возникают ли какие-нибудь другие блокировки. Цитата:
Операции в памяти (обработка классов) - самые быстрые. На них "по определению" не может тратится времени больше, чем на запросы к базе данных. Другое дело, что объектная модель имеет "родимое пятно" в виде многкратного повторного обращения к одним и тем же данным базы данных (поиск справочной информации). Вот здесь и имеет смысл оптимизировать выполнив поиск где-то при инициализации класса и записав найденные данные в переменные класса. Возможно, достаточно будет проверить (изменить) режимы кеширования справочных таблиц, используемых в классах разноски. Распаралеливанием процессов путем запуска еще одной копии Axapta Вы никакого выигрыша не получите. Скорее, лишние проблемы и тормоза. |
|
14.01.2010, 17:18 | #30 |
Участник
|
Насчет блокировок в 3.0 я был не совсем прав. Если включен IMTS, то их может и не быть. Но, вроде бы, никто не советует его включать из-за возникающих дополнительных рисков. Есть очень хорошая статья, насчет того, кто и что блокирует
Dynamics AX 4 и IMTS Так что, далеко не факт, что в процессе разноски одного журнала другой пользователь сможет разнести другой журнал. Как повезет... |
|
15.01.2010, 15:25 | #31 |
Участник
|
|
|
15.01.2010, 15:40 | #32 |
Участник
|
Цитата:
В InventSum сливаются модификации от складских журналов, заказов и закупок. Каким образом Вы предполагаете "развести" эти разные типы документов по разным складским аналитикам? В смысле, чтобы в один и тот же момент времени они не использовали одинаковые складские аналитики по одним и тем же артикулам? Да даже и в рамках только складских журналов. Каким образом Вы собираетесь "развести" разных пользователей по разным складским аналитикам? Т.е. один пользователь создал журнал, а второй не может ничего делать, поскольку ему НАДО (ну, вот надо и все тут!) создать строку с той же складской аналитикой. А Вы запрещаете! Мне кажется, это еще хуже, чем создать журнал, но не смочь его разнести... |
|
15.01.2010, 16:18 | #33 |
Участник
|
Очень просто.. ночью, когда работает только один пользователь..
|
|
15.01.2010, 18:29 | #34 |
Участник
|
Т.е. у Вас с Axapta работает один пользователь и Вы хотите паралельно запускать "скрытую" копию Axapta? А что, пользователь не начнет тут же создавать другой журнал (заказ, закупку) по тем же складским аналитикам? И как Вы ему объясните, что "нельзя"? Почему собственно?
Вы можете хотя бы самому себе объяснить ЗАЧЕМ Вам надо автоматически запускать некий скрытый процесс? Почему пользователь не может это сделать самостоятельно? |
|
Теги |
ax3.0, запуск, конфигурационная утилита, параметры |
|
|