|
25.03.2016, 13:38 | #1 |
Программатор
|
Разноска миллиона накладных Ах2012
Коллеги, добрый день! Подскажите как можно "быстро" разнести миллион накладных по заказам на продажу? Ну хотя бы за пару-тройку дней Кто то сталкивался с таким объемом?
Заранее спасибо! |
|
25.03.2016, 14:09 | #2 |
Участник
|
По-моему, все зависит от числа строк в каждой накладной: если строк немного, то разнести этот объем можно и быстрее, тем более что в 12-ке разноска накладных штатно поддерживает распараллеливание. Если же в каждой накладной по 100+ строк, то вряд ли удастся уложиться в пару-тройку дней.
К примеру, если взять разноску розничных журналов реализации (по ним сначала создаются заказы на продажу, а уже потом разносятся накладные), то я в реале видел разноску в общей сложности свыше 1.5 млн строк заказов на продажу за сутки (2.5 млн строк чеков). Но для этого потребовалась предварительная оптимизация создания заказов/накладных и их разноски, включая оптимизацию разноски налогов. |
|
25.03.2016, 14:13 | #3 |
Участник
|
А зачем вам столько ?
Сальдо по куче договоров и клиентов формируете ? Может можно поговорить с заказчиком и уменьшить число документов на 1-2 порядка ? |
|
25.03.2016, 14:23 | #4 |
Программатор
|
|
|
26.03.2016, 13:22 | #5 |
Участник
|
Цитата:
Так потом же платежи еще перегонять и сопоставлять. Какой-то закат солнца вручную. Кстати если им только сами накладные с дебиторкой интересны, то можно товарный контур не брать. Перенести накладными на услуги. Будет намного быстрее. |
|
27.03.2016, 15:31 | #6 |
Участник
|
|
|
25.03.2016, 14:24 | #7 |
Программатор
|
Я рою в строну Thread. Имеет ли смысл?
+ это не просто накладные 1 в 1 как заказ на продажу. Есть код, который собирает корректно ParmTabl'ы, Корректируется НДС. А потом уже запускается разноска Последний раз редактировалось Sada; 25.03.2016 в 14:26. |
|
25.03.2016, 14:37 | #8 |
Участник
|
Посмотрите, как штатно распараллеливается разноска накладных в 12-ке: там просто создается в runtime пакетная задача - и всё, остальное - проблемы пакетного сервера. Администратор идет и настраивает нужное число потоков или добавляет пакетные сервера для той же пакетной группы. А вручную создавая дохреналион потоков, вы либо недозагрузите имеющиеся мощности, либо уроните сервер.
А если в заказе строк мало, то лучше паковать их в bundle'ы, как сделано в 12-ке для распараллеливания разноски журналов ГК. |
|
25.03.2016, 14:52 | #9 |
Программатор
|
Цитата:
Сообщение от gl00mie
Посмотрите, как штатно распараллеливается разноска накладных в 12-ке: там просто создается в runtime пакетная задача - и всё, остальное - проблемы пакетного сервера. Администратор идет и настраивает нужное число потоков или добавляет пакетные сервера для той же пакетной группы. А вручную создавая дохреналион потоков, вы либо недозагрузите имеющиеся мощности, либо уроните сервер.
А если в заказе строк мало, то лучше паковать их в bundle'ы, как сделано в 12-ке для распараллеливания разноски журналов ГК. |
|
25.03.2016, 14:37 | #10 |
Участник
|
А может в лоб SQL запросами перебросить все таблички ? Структура баз данных конечно сильно различается, но при некоторой сноровке я думаю можно создать скриптик.
PS. А в 2012 нет штатной процедуры по транформации базы из 4.0 по аналогии с 3.0 --> 2009 ? PS2. При выбранном вами подходе есть некоторая вероятность, что поползут копейки Последний раз редактировалось Alexius; 25.03.2016 в 14:44. |
|
25.03.2016, 14:45 | #11 |
Программатор
|
Цитата:
Сообщение от Alexius
А может в лоб SQL запросами перебросить все таблички ? Структура баз данных конечно сильно различается, но при некоторой сноровке я думаю можно создать скриптик.
PS. А в 2012 нет штатной процедуры по транформации базы из 4.0 по аналогии с 3.0 --> 2009 ? PS2. При выбранном вами подходе есть некоторая вероятность, что поползут копейки Последний раз редактировалось Sada; 25.03.2016 в 14:47. |
|
28.03.2016, 10:47 | #12 |
Участник
|
Цитата:
The supported source systems for direct upgrade to Microsoft Dynamics AX 2012 are as follows: • Microsoft Dynamics AX 4.0 • Microsoft Dynamics AX 2009 The upgrade starts and the source environment is still live, but there is minimal effect to the live system |
|
28.03.2016, 11:50 | #13 |
Участник
|
Для проверки производительности системы делали нечто подобное. Делали так:
1) Планируем запускать, например, 100 сессий. В отдельной таблице делаем распределение заказов на разноску для этих 100 сессий. 2) Делаем Batch файл который запускает АХ2012R3, при этом в info.startup прописан старт класса на разноску распределенных заказов из списка для этой сессии. Средняя скорость разноски для 100 сессий (при количестве строк от 5 до 300~400) - заказ в секунду. Пробовали запускать в отдельном потоке, вместо сессий, результат тот же. Таким образом, можно предсказать, что ваши заказы будут разноситься около 10,11 суток С уважением, Дмитрий. |
|
28.03.2016, 13:58 | #14 |
Программатор
|
Цитата:
Сообщение от DmitryK
Для проверки производительности системы делали нечто подобное. Делали так:
1) Планируем запускать, например, 100 сессий. В отдельной таблице делаем распределение заказов на разноску для этих 100 сессий. 2) Делаем Batch файл который запускает АХ2012R3, при этом в info.startup прописан старт класса на разноску распределенных заказов из списка для этой сессии. Средняя скорость разноски для 100 сессий (при количестве строк от 5 до 300~400) - заказ в секунду. Пробовали запускать в отдельном потоке, вместо сессий, результат тот же. Таким образом, можно предсказать, что ваши заказы будут разноситься около 10,11 суток С уважением, Дмитрий. Запускали 30 сессий. Разносит где то 1000 в час((( |
|
28.03.2016, 16:19 | #15 |
Участник
|
Очень странно, т.к. у нас использовался низко производительный сервер и на рабочем результаты должны быть выше.Поставили ли вы галочку авторезервирование в шапке заказа, это может ускорить процесс, т.к. резервирование будет проходить на этапе создания заказа.
Какая у вас загрузка процессора при 30 сессиях выполняющих разноску? Есть ли блокировки? Есть ли ошибки? С уважением, Дмитрий. Последний раз редактировалось DmitryK; 28.03.2016 в 16:23. |
|
25.03.2016, 17:59 | #16 |
Программатор
|
Так и сделаю, в пакетах. Посмотрим что получится
|
|
25.03.2016, 22:31 | #17 |
Участник
|
|
|
26.03.2016, 12:16 | #18 |
Программатор
|
|
|
26.03.2016, 00:08 | #19 |
Banned
|
классический подход нети. дайте денег - а мы посмотрим что получится)))) при этом наивный сада имеет максимум 25% от того что платит наивный клиент... хотя судя по результатам имеет нети, причем всех и клиента и исполнителя... это бизнес сада, ничего личного. бггггг
Последний раз редактировалось YinYang; 26.03.2016 в 00:45. |
|
26.03.2016, 12:17 | #20 |
Программатор
|
Спасибо за ваше мнение, оно очень важно для нас. Главное конструктивно и по теме
|
|