|
Как в запросе при проведении учитывать предыдущие движения этого докумета? | ☑ | ||
---|---|---|---|---|
0
Lentina
30.09.11
✎
09:54
|
Добрый день.
Документ должен делать следующие движения: Сначала перемещать с одного места хранения на другое (по среднему) Затем со второго места хранения должен списывать (тоже по среднему) Когда я выполняю запрос для расчета средней стоимости для второго движения, я передаю параметр МоментВремени(). Но тогда не учитывается первое движение. Как корректно сделать? |
|||
1
PR
30.09.11
✎
09:54
|
Движения.Записать();
|
|||
2
Lentina
30.09.11
✎
10:02
|
Нет, все равно не видит
|
|||
3
Goggy
30.09.11
✎
10:04
|
Валюнь, озвуч плз фоточку для дальнейшего возможного обьснения :)
|
|||
4
Axel2009
30.09.11
✎
10:14
|
ну используй границу включая момент времени
|
|||
5
Lentina
30.09.11
✎
10:15
|
Я сделала дата+1, работает, но мне кажется это не верно.
Axel2009, ок, попробую сейчас |
|||
6
Lentina
30.09.11
✎
10:22
|
Axel2009, чего-то я или туплю или не поняла.
Ты же не о движениях границы периода? |
|||
7
Axel2009
30.09.11
✎
10:54
|
Новый Граница(Новый МоментВремени, ВидГраницы.Включая)
|
|||
8
Axel2009
30.09.11
✎
10:55
|
это вместо параметра МоментВремени
|
|||
9
jump if zero
30.09.11
✎
11:07
|
испоьзвать новую методику , сначала пишем движения в конце записи блокируем, потом читаем остатки с учетом этих движений.
http://nashe1c.ru/materials-view.jsp?id=321 |
|||
10
Axel2009
30.09.11
✎
11:11
|
(9) псц методика. записать а потом проверить, то что на запись уходит 50% времени пофигу.
можно сделать через объединить и не надо будет соединять ничего. и NULL не будет. |
|||
11
unregistered
30.09.11
✎
11:21
|
(10) Ты не понял сути методики. К тому же в данном конкретном случае она не применима - (9) не к месту тут.
|
|||
12
Irbis
30.09.11
✎
11:24
|
А сложить остатки с сформированнными движениями никак?
|
|||
13
Axel2009
30.09.11
✎
11:35
|
(11) ну ну, прям пипец как там все сложно.
суть записать в базу и считать получившиеся остатки. запись занимает 50% времени. в итоге увеличивается время проведения, даже учитывая соединение и проверку пипец какую тяжелую для сервера ЕСТЬNULL |
|||
14
ssh2006
30.09.11
✎
11:50
|
предполагается что в новой методике у док-та установлено свойство удаления движений "удалять автоматически при отмене проведения". Таким образом в обработке проведения существующие движения не удаляются, поэтому нужно сделать явную запись движений. после чего проконтролировать остатки. В купе с тем, что [Ведь мы чаще все же записываем документ с правильными цифрами и он проводится, чем документы которые уводят остатки в минус] оптимизация налицо
|
|||
15
Axel2009
30.09.11
✎
12:01
|
(14) ну да, в идеальных базах где работает один человек, и нет конкуренции за отгрузку, выйграем 0.01%. соглашусь, на лицо.
|
|||
16
unregistered
30.09.11
✎
12:16
|
(15) Плюс уменьшение времени блокировок. Так что как раз в условиях конкуренции за отгрузку методика выигрывает.
Ну изучи ты её повнимательнее... Хотя бы Радченко полистай. |
|||
17
Axel2009
30.09.11
✎
12:32
|
(16) в каком месте уменьшение времени блокировок?
|
|||
18
pumbaEO
30.09.11
✎
12:33
|
(17) только одна блокировка на запись, а в старом варианте сначала чтение, потом на запись.
|
|||
19
ssh2006
30.09.11
✎
12:34
|
(17) перед получением остатков по старой методике ты уже сначала накладываешь блокировку от чтения
|
|||
20
unregistered
30.09.11
✎
12:35
|
(17) Чукча писатель? Иди Радченко читай.
|
|||
21
Axel2009
30.09.11
✎
13:32
|
(18) да пофигу сколько блокировок, вопрос во времени блокировок.
(19) и чем это поможет снизить общее время блокировки? (20) сам иди читай, только книги по блокировочникам, а не Радченко. |
|||
22
ssh2006
30.09.11
✎
13:41
|
(21) тебе правда непонятен этот момент?
|
|||
23
Axel2009
30.09.11
✎
13:49
|
(22) чем снизить общее время блокировки - правда не понятен.
из приведеной выше ссылки автор пишет в чем плюс его методики: "Посмотрите, мы избавились от соединений, и, что не маловажно, от проверки типа значения NULL. Запрос получит данные только по отрицательным остаткам и покажет их пользователю!" то что автор не умеет строить запросы - лично его проблемы. хорошо что он не начал распаляться про блокировки, видимо про них он ничего не знает, хоть тут молодец. |
|||
24
unregistered
30.09.11
✎
13:52
|
(22) Не обращай внимания. Axel2009 - nипичный тролль - будет возмущаться и нести ахинею не имеющую к вопросу отношения, но хрен прочтет то, что ему сказали. Спорить с такими бесполезно.
|
|||
25
vladenoff
30.09.11
✎
13:58
|
Думаю в любом случае надо делать как минимум две записи движений.
Сначала записываем первое движение, потом учитываем его в запросе. После формирования второй порции движений опять пишем его в базу. Но, думаю это не совсем правильно идеологически. Более правильно первую порцию сформировать в таблицу значений, потом её в качестве параметра использовать в запросе для формирования второй порции, сформировать все движения и ОДИН раз записать в БД. |
|||
26
Axel2009
30.09.11
✎
13:59
|
(24) ты реально чучка или притворяешься?
ты читал не Радченко, а вообще информацию по блокировочникам, что и когда блокировка вешается и когда она снимается? смотрел профайлер на эту тему, анализировал сам поведение сервера СУБД? вот пошукай хотябы годик, потом поговорим на одном уровне. |
|||
27
unregistered
30.09.11
✎
14:28
|
(26) >> потом поговорим
И не подумаю. :) А по блокировкам в самой статье из (9) практически ни чего нет. Видимо от этого твоё возмущение... |
|||
28
Vladal
30.09.11
✎
14:31
|
(3) В Кодексе Мисты написано, что фоточкой поинтересоваться можно после решения проблемы
|
|||
29
Axel2009
30.09.11
✎
14:33
|
(27) тогда говорить про блокировки бессмысленно.
а на тему блокировок начал не я, а в (16), удивительно твое сообщение! я говорил только про время проведения. |
|||
30
vladenoff
30.09.11
✎
14:51
|
(0)
"я передаю параметр МоментВремени()" После записи попробуй передать в запрос не МоментВремени() а "новый Граница(....МоментВремени(), ВидГраници.Включая)" |
|||
31
ssh2006
30.09.11
✎
15:00
|
(29) посмотри еще вот это http://gilev.blogspot.com/2010/07/1_23.html
там и про блокировку есть |
|||
32
Axel2009
30.09.11
✎
15:28
|
(31) прочитал про управляемые блокировки. спасибо. в автоматическом режиме блокировки повесятся уже в самом начале транзакции, когда произойдет в явном виде запись регистров
про универсализацию понял не сразу, ну да для универсальных типовых баз - лучшее решение, чтобы весь штат прогеров дышал в одну дудку, а не было как дышло. и принимаю, что осознал факт универсализации. но факт уменьшения времени транзакций - не согласен. впрочем кому это уже интересно? только тем, кому реальна важна скорость. |
|||
33
Lentina
05.10.11
✎
10:03
|
Axel2009, спасибо Вам!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |