|
Получение остатков по регистру без учета текущего документа | ☑ | ||
---|---|---|---|---|
0
shane13
13.07.11
✎
13:39
|
Всем привет! туплю...
Как при проведении документа получить остатки по регистру, который он двигает, без учета движений этого самого документа??? Вот отрывок кода: Запрос.УстановитьПараметр("Момент", Новый Граница(Объект.МоментВремени(), ВидГраницы.Исключая); РегистрНакопления.ДолгиКлиентов.Остатки(&Момент,) КАК ДолгиКлиентовОстатки" или так: Запрос.УстановитьПараметр("Момент", Объект.Дата-1); РегистрНакопления.ДолгиКлиентов.Остатки(&Момент,) КАК ДолгиКлиентовОстатки" В обоих случаях движения этого документа попадают((( Что не так? Хелп! |
|||
1
Maxus43
13.07.11
✎
13:41
|
во втором то не может попасть точно, чудес не бывает
|
|||
2
Maxus43
13.07.11
✎
13:44
|
Объект.Дата - что в отладчике? что-то не так помоему
|
|||
3
ice777
13.07.11
✎
13:44
|
Регистратор<>&Ссылка ?
Ccылка - твой док. |
|||
4
Maxus43
13.07.11
✎
13:45
|
(3) у остатков?
|
|||
5
ice777
13.07.11
✎
13:46
|
(4) тогда использовать что-то другое.
|
|||
6
shane13
13.07.11
✎
13:46
|
(2) дата на 1 сек. меньше моего документа, не пойму где заковырка...
|
|||
7
Escander
13.07.11
✎
13:46
|
(0) только по варианту 1
|
|||
8
Maxus43
13.07.11
✎
13:47
|
Граница всегда работала, зачем другое. помоему что то не так делается в (0)
|
|||
9
73
13.07.11
✎
13:47
|
(0) Остатки вроде и так НА. т.е. исключая...
|
|||
10
unregistered
13.07.11
✎
13:47
|
В обоих случаях остатки будет получены на момент ДО проведения документа. Даже если в первом случае указать просто момент времени, а не границу, и во втором случае просто Объект.Дата (без "-1").
Остатки всегда получатся на начало переданного параметра Период, кроме случая границы вида "Включая". |
|||
11
Maxus43
13.07.11
✎
13:47
|
(9) для очистки совести
|
|||
12
shane13
13.07.11
✎
13:48
|
мне тоже первый вариант кажется правильным, ведь в 1 сек может быть несколько доков.
|
|||
13
73
13.07.11
✎
13:49
|
(2)+ что в Объект ?
|
|||
14
ice777
13.07.11
✎
13:49
|
я переписал кучу запросов у себя с остатков на остаткиИобороты, только для того, чтоб отсеять регистратор.
но мне это только и надо было. а то, что ТС пытается проделать - это получить остатки до опред. момента. |
|||
15
unregistered
13.07.11
✎
13:50
|
А вообще правильно:
Запрос.УстановитьПараметр("Момент", Объект.МоментВремени()) Если запрос к виртуальной таблице Остатки регистра накопления... |
|||
16
unregistered
13.07.11
✎
13:51
|
(14) >> переписал кучу запросов у себя с остатков на остаткиИобороты, только для того, чтоб отсеять регистратор.
Чаво? А смысл в чем? |
|||
17
shane13
13.07.11
✎
13:52
|
(13) немного наврала во втором без объект написано
Запрос.УстановитьПараметр("Момент", Дата-1); РегистрНакопления.ДолгиКлиентов.Остатки(&Момент,) КАК ДолгиКлиентовОстатки" |
|||
18
ice777
13.07.11
✎
13:52
|
(16) см замечание (4)
|
|||
19
Ayvengo
13.07.11
✎
13:53
|
(0) Получаешь таблица остатков на дату документа или на какую там тебе надо.
Создаешь таблицу в которой будет количество, которое предполагаемо будет добавлено в регистр. Ну и соединяешь это все в запросе, а потом получаешь нужные тебе данные. Имеет смысл, если документ у тебя уже был проведен. В противном случае нет смысла :) |
|||
20
shane13
13.07.11
✎
13:55
|
(19) т.е. первый вариант не будет получать остатки на документ?
|
|||
21
ice777
13.07.11
✎
13:55
|
(19) имеено, что еще смотреть, проведен или нет и т.п. Пальцев не жалко? )
|
|||
22
unregistered
13.07.11
✎
13:56
|
(18) Всё равно ни чего не понимаю.
Если мне нужны остатки на момент времени, зачем тянуть тяжелую таблица ОстаткиИОбороты, когда всё есть в таблице Остатки, получаемой из итоговых таблиц? |
|||
23
Ayvengo
13.07.11
✎
13:56
|
(22) ни в коем разе нельзя тянуть, зачем систему лишний раз нагружать? :)
|
|||
24
shane13
13.07.11
✎
13:57
|
и все-таки как получить остатки до проведения документа?
|
|||
25
ice777
13.07.11
✎
13:57
|
(22) чтоб не выкручиваться с регистратором.
|
|||
26
unregistered
13.07.11
✎
13:57
|
Автор! Докажи, что ты не врешь, утверждая (0)!
(1) +100500 >> чудес не бывает |
|||
27
ice777
13.07.11
✎
13:58
|
(22) чтобы не выкручиваться с отсутствием Регистратора в остатках )
|
|||
28
unregistered
13.07.11
✎
13:58
|
(25) Что значит "выкручиваться" с тем, чего нет в остатках?
Или сами себе трудности создаем, чтобы потом понаустанавливать отборы на регистраторы? |
|||
29
ice777
13.07.11
✎
14:00
|
(28) перечитай (0). ему нужны движения, кроме сделанных определенным регистратором.
|
|||
30
shane13
13.07.11
✎
14:00
|
(26) я смотрю отладчиком при проведении(((((
|
|||
31
ice777
13.07.11
✎
14:03
|
(30) запусти лучше конструктор запросов и сделай все быстро без геморроя. из ОстатковИ Оборотов. Все равно траффик не сильно поднимется, ты же только остаток верншь.
|
|||
32
unregistered
13.07.11
✎
14:14
|
(29) Перечитываю (0):
получить ОСТАТКИ по регистру, который он двигает, БЕЗ учета движений Может я конечно чего-то не понимаю.... |
|||
33
shane13
13.07.11
✎
14:16
|
(32)все верно понимаешь!!!
|
|||
34
unregistered
13.07.11
✎
14:16
|
Впрочем, если нравиться, развлекайтесь... :)
|
|||
35
Maxus43
13.07.11
✎
14:18
|
(33) в консоль запросов запихни запрос свой, и проверь на проведённом и не проведённом документе своём
|
|||
36
Ayvengo
13.07.11
✎
14:21
|
(0) А в регистре период какой попадает?
|
|||
37
unregistered
13.07.11
✎
14:22
|
(33) В (0) написана явная неправда. Чудес не бывает. Даже если с моментом и границей могут быть какие-нибудь проблемы, то получение остатков на "Дата-1" ну ни как не может вернуть остатки, включающие движения документа.
Показывай уже запрос. И вообще. Где всё это происходит? Не в обработке проведения часом? Если да, то что там с автоматическим удалением движений? можно еще тупо в самом начале проведения написать Движения.ДолгиКлиентов.Записать(), записав таким образом пустой набор записей. |
|||
38
shane13
13.07.11
✎
14:29
|
(37)происходит это все в обработке проведения, верно догадались
В начале пишу так: Движения.ДолгиКлиентов.Записывать = Истина; Движения.ДолгиКлиентов.Очистить(); |
|||
39
shane13
13.07.11
✎
14:29
|
(37) удаление движений стоит: удалять автоматически при отмене проведения
|
|||
40
Maxus43
13.07.11
✎
14:30
|
да какая разница где? только если по странной логике движения в регистр делаются не на дату документа
|
|||
41
Ayvengo
13.07.11
✎
14:30
|
(38) период какой в регистре ... дата ?? или начало дня или чего там? :)
|
|||
42
Maxus43
13.07.11
✎
14:30
|
(39) При перепроведении не удалит
|
|||
43
shane13
13.07.11
✎
14:34
|
(42) ого!
|
|||
44
hhhh
13.07.11
✎
14:37
|
(37) чего ты прикалываешься? Бывают чудеса. Ну например, как ты думаешь, зачем во всех документах в типовых вставлено свойство "ДатаДокументаСдвинутаВперед"? Вот в (0) именно такой случай. Дата (и момент) сдвинута вперед, а движения остались далеко пазади.
|
|||
45
shane13
13.07.11
✎
14:38
|
(37)+ (42) Спасибо вам большое!
и правда при перепроведении в таком режиме движения не удаляются. Сделала Движения.ДолгиКлиентов.Записать() и все ОК!!! |
|||
46
shane13
13.07.11
✎
14:39
|
(44) не совсем понятно, это как?
|
|||
47
Maxus43
13.07.11
✎
14:40
|
(46) Это (40) значит, движения не на дату документа
|
|||
48
Maxus43
13.07.11
✎
14:40
|
(44) во всех? всмысле новых только? на старых такого нет
|
|||
49
shane13
13.07.11
✎
14:42
|
у мну движения делаются на дату документа
|
|||
50
unregistered
13.07.11
✎
14:52
|
(44) (48) В старых такого нет. Предположу, что тут обыгрывается история, когда перепроводится документ, у которого изменили дату. Тут и смотриться - куда переместили документ - вперёд или назад относительно старых движений.
Чтобы не делать запись пустого набора и при этом быть уверенным, что в результат запроса по остаткам не попадут старые движения этого-же документа. Ну.... это как-бы догадка. Я последние типовые не видел. :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |