|
Запрос по остаткам регистра накопления остатков | ☑ | ||
---|---|---|---|---|
0
23th
10.03.16
✎
08:49
|
Я делаю запрос по остаткам на начало дня. т.е. время например 09.02.2016 00:00:00. У меня есть какой то остаток. Соответственно этому остатку я вывожу этот регистр в ноль. Т.е. документ делает движения по регистру и обнуляет его на это время.
Затем делаю еще один запрос на эту же дату: 09.02.2016 00:00:00 У меня следующий запрос должен выдать нулевой остаток, но он выдает остаток как бы на начало этой даты 09.02.2016 00:00:00, т.е. еще не обнуленный. и соответственно следующий документ опять его "обнуляет" и в итоге получается отрицательный остаток по регистру. Как мне сделать нормальный запрос по остаткам. т.е. без запроса на регистр ОстаткиИОбороты, где есть НачалоПериода и КонецПериода? Не хочу при запросе добавлять 1 секунду. |
|||
1
LordCMEPTb
10.03.16
✎
08:54
|
А если параметром передать не дату, а границу с включением даты?
|
|||
2
Serg_1960
10.03.16
✎
09:10
|
Если и границу начал дня, то исключая. А ещё лучше - исключая момент времени документа, "обнуляющего" остатки.
|
|||
3
Лефмихалыч
10.03.16
✎
09:37
|
(0) границу юзай
РегистрНакопленияМенеджер.<Имя регистра накопления> (AccumulationRegisterManager.<Имя регистра накопления>) Остатки (Balance) Синтаксис: Остатки(<МоментВремени>, <Отбор>, <Измерения>, <Ресурсы>) Параметры: <МоментВремени> (необязательный) Тип: Дата; МоментВремени; Граница. Момент времени, на который необходимо получить остатки. Если параметр не указан, то будут получены текущие остатки (на максимальную дату движений регистра). Если в качестве параметра передана Дата, то остатки будут получены на начало дня, если МоментВремени - то в остатках не будут учтены движения регистра, произошедшие в тот же момент времени. |
|||
4
Лефмихалыч
10.03.16
✎
09:38
|
остатки получаются на границу "Исключая", а обороты - почему-то на границу "Включая". Х.з. почему так, но это так и было всегда
|
|||
5
23th
10.03.16
✎
10:53
|
так это как в запросе писать? Границу?
|
|||
6
patria0muerte
10.03.16
✎
10:56
|
(6) Так в запрос ее передавай как параметр &Период, вместо даты..
|
|||
7
Лефмихалыч
10.03.16
✎
10:58
|
что мешает нажать ctrl+f1 и почитать?
Граница.По умолчанию Граница (Boundary) На основании значения и вида Синтаксис: Новый Граница(<Значение>, <ВидГраницы>) Параметры: <Значение> (обязательный) Тип: Произвольный. Значение границы. <ВидГраницы> (необязательный) Тип: ВидГраницы. Включение/исключение граничного значения. Если параметр не задан, используется вариант границы с включением граничного значения. Описание: Создает новую границу с заданными характеристиками. Также может быть создан с использованием функциональной формы оператора Новый. Важно! Конструктор в тонком и веб-клиентах не доступен. Пример: Параметры = Новый Массив(2); Параметры[0] = Дата; Параметры[1] = ВидГраницы.Включая; Граница = Новый(Тип("Граница"),Параметры); Запрос.УстановитьПараметр("КонГраница", Граница); |
|||
8
23th
10.03.16
✎
11:05
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ВзаиморасчетыСРаботникамиОрганизацийОстатки.Физлицо, | ВзаиморасчетыСРаботникамиОрганизацийОстатки.СуммаВзаиморасчетовОстаток |ИЗ | РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(&Дата, Физлицо = &Физик) КАК ВзаиморасчетыСРаботникамиОрганизацийОстатки"; Запрос.УстановитьПараметр("Физик", СсылкаДок.ФизЛицо); Запрос.УстановитьПараметр("Дата", ???) |
|||
9
ptiz
10.03.16
✎
11:22
|
(0) "Не хочу при запросе добавлять 1 секунду" - а зря, это самый простой способ получить остатки на конец предыдущей секунды.
|
|||
10
Лефмихалыч
10.03.16
✎
11:25
|
(9) это способ получить остатки на начало следующей секунды, а не на конец предыдущей.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |