![]() |
#5 |
Участник
|
Делал как-то импорт номенклатуры из Excel, несско тыщ записей импортировались менее чем за минуту, но когда была реализована "репликация" номенклатуры между несколькими компаниями (сделать общей InventTable, разнеся по компаниям лишь InventTableModule, было нельзя), и каждая импортируемая номенклатура стала пробрасываться еще в пяток компаний, скорость импорта упала на порядок.
При каждом использовании changecompany происходит два вызова \Classes\Application\setDefaultCompany - сначала на переключение в другую компанию, а затем на переключение в исходную. Кода там выполняется немало (это можно увидеть, включив мониторинг вызываемых методов), так что стоимость переключения между компаниями, если их происходят тысячи, становится весьма существенной. В качестве полумеры можно использовать явный вызов appl.setDefaultCompany() вместо changecompany (но надо потом не забыть вернуться в исходную компанию), а так, если хотите достичь нормальной скорости - переделывайте алгоритм, чтобы свести переключения между компаниями к минимуму. |
|