|  06.07.2005, 14:25 | #1 | 
| Moderator | Пересчет inventSum 
			
			День добрый! 1. Можно ли стандартным образом функционалом пересчитать inventSum (интересует поле 'В наличии') на основании проводок? 2. Чем мне аукнется если я руками изменю поле 'В наличии'? | 
|  | 
|  06.07.2005, 14:44 | #2 | 
| Роман Долгополов (RDOL) | 
			
			1. Проверка целостности данных пересчитыват InventSum 2. Лучше не изменяй  А аукнется по разному смотря какую ты туда цифру поставишь   | 
|  | 
|  06.07.2005, 14:46 | #3 | 
| Moderator | 
			
			Спасибо! Как сделать проверку целостности? Можно ли ее делать одновременно с работой пользователей?? | 
|  | 
|  06.07.2005, 14:48 | #4 | 
| Участник | 
			
			Главное меню \ Основное \ Периодические операции \ Проверка целостности данных компании установите режим проверки Коррекция ошибок. любым образом выберите модуль управление запасами установите галочку в Номенклатура \ В наличии Помещу пожалуй в FAQ | 
|  | |
| За это сообщение автора поблагодарили: alex55 (1). | |
|  06.07.2005, 14:53 | #5 | 
| Роман Долгополов (RDOL) | 
			
			1. Основное\Периодические операции\Проверка целостности данных компании 2. Одновременно с работой лучше не надо. Если надо починить только InventSum, да еще одновременно с пользователями то лучше сделать какой джоб, расковыряв класс InventConsistencyCheck_Onhand. Хотя все зависит от того сколько у вас пользователей и какая нагрузка на систему | 
|  | 
|  06.07.2005, 14:55 | #6 | 
| Moderator |   
			
			Спасибо!    | 
|  | 
|  06.07.2005, 14:56 | #7 | 
| Участник | 
			
			не надо ковырять. проверка будет перебирать складские проводки и суммировать. при переборе складских проводок блокировка очень быстро эскалируется до таблицы. пользователи все равно работать не смогут. http://forum.mazzy.ru/index.php?showtopic=3419 | 
|  | 
|  06.07.2005, 15:01 | #8 | 
| злыдень | 
			
			2 db   2 mazzy: Запускали на живой. Пользователи живы  чтоб запускать пересчет на живой писали жоп а-ля: PHP код: 
			 Внизу конечно написано ексептион- дедлок | 
|  | |
| За это сообщение автора поблагодарили: Roman777 (2), Sergey Petrov (1), Shmel_83 (1), Deepoint (1). | |
|  06.07.2005, 15:02 | #9 | 
| Роман Долгополов (RDOL) | Цитата: 
		
			Изначально опубликовано mazzy  не надо ковырять. проверка будет перебирать складские проводки и суммировать. при переборе складских проводок блокировка очень быстро эскалируется до таблицы. пользователи все равно работать не смогут. http://forum.mazzy.ru/index.php?showtopic=3419 | 
|  | 
|  06.07.2005, 15:04 | #10 | 
| Участник | 
			
			как скажешь. я в факе и написал - при низкой активности  но чаще всего пересчитаывать приходится самую популярную номенклатуру... | 
|  | 
|  06.07.2005, 15:05 | #11 | 
| злыдень | 
			
			2 mazzy: не спорь с db, бесполезно..    | 
|  | 
|  06.07.2005, 15:20 | #12 | 
| Участник | Цитата: 
		
			Изначально опубликовано db  Склад параллельно с работой пономенклатурно закрыть получается, эта задачка уж явно не тяжелее Закрытие склада не перебирает все складские проводки. А только открытые. Пересчет итого перебирает все по каждой пересчитываемой номенклатуре. Проблема в том, что блокировка будет очень быстро эскалирована до уровня таблицы. И смотреть надо в сторону - что влияет на эскалацию. | 
|  | 
|  06.07.2005, 15:20 | #13 | 
| Участник | Цитата: 
		
			Изначально опубликовано Recoilme  2 mazzy: не спорь с db, бесполезно..   | 
|  | 
|  06.07.2005, 15:36 | #14 | 
| Роман Долгополов (RDOL) |  Короче, работает пересчет параллельно с юзерами. Блокировка до уровня таблицы на MS SQL - только если будет мало номенклатур. Постранично заблокирует, да, таблицу целиком - это только если в сервере памяти уж совсем нет. Блокировка в любом случае только на чтение - другие не смогут только изменять страницы с этими проводками. Кто нарвется на пересчитываемую номенклатуру - подождет некоторое время, подтормозит и все А сравнение с закрытием склада вполне резонное, так как узкое место для параллельной работы здесь не считка InventTrans, а обновление-пересоздание InventSum - будет и при пересчете InventSum и при закрытии склада | 
|  | 
|  06.07.2005, 16:21 | #15 | 
| Участник | 
			
			Лучше всего использовать ttsbegin; inventSumReCalcItem = new InventSumReCalcItem("SPH118448", false, CheckFix::Fix); inventSumReCalcItem.updateNow(); ttscommit; Стандртная вещь делает еще проверку целостности, что только для пересчета лишнее. Кроме того, там в классе сидит бага SysConsistencyCheck, которая на реальной базе с номенклатурой в десятки тысяч затянет дело на несколько часов.... | 
|  | |
| За это сообщение автора поблагодарили: Sergey Petrov (1), Shmel_83 (1). | |
|  07.07.2005, 13:13 | #16 | 
| Участник | 
			
			А можно ли из InventSum удалить пустые строки - или чем аукнется тоже?
		 | 
|  | 
|  07.07.2005, 13:23 | #17 | 
| Роман Долгополов (RDOL) | 
			
			которые Closed можно
		 | 
|  | 
|  07.07.2005, 14:05 | #18 | 
| Участник | 
			
			db  Спасибо! | 
|  | 
|  07.07.2005, 14:21 | #19 | 
| злыдень | 
			
			Только проверьте на всякий случай не висит ли сумм в деньгах на клоузед... 2 db: кстати откуда на них могут деньги остаться и как с этим бороться ?   | 
|  | 
|  07.07.2005, 14:54 | #20 | 
| Роман Долгополов (RDOL) | Цитата: 
		
			Изначально опубликовано Recoilme  Только проверьте на всякий случай не висит ли сумм в деньгах на клоузед... 2 db: кстати откуда на них могут деньги остаться и как с этим бороться ?     | 
|  |