Имя: Пароль:
1C
1С v8
Виртуальная таблица "Остатки" регистра накопления: исключить движения одного регистратора
0 Dmitriy_
Kolesnikov
 
19.03.19
18:40
Есть некий РН, мне нужно получить по нему остатки.
Но есть некий документ-регистратор, который в эти остатки попадать не должен.
Отфильтровать его по периоду или ещё как-то невозможно - только по Регистратору.
Как-нибудь можно это сделать красиво?

Всё что приходит в голову - временно распровести этот регистратор. Но решение очень плохое.
Может быть, чуть лучше - не пользоваться виртуальной таблицей остатки, делать запрос к регистру и накладывать условия. Но тоже не фонтан.
1 zak555
 
19.03.19
18:44
бредовая затея
2 Очевидно
 
19.03.19
18:51
затея конечно костылевая, но елси прям надо тогда варианта 2 :
1. Запрос № 1:
- Получить движения этого РН где регистратор = Нужный регистратор.
- Получить остатки на нужную дату
Объединить все
- Движения на регистратора со знаком "-".

Во вторую таблицу добавить условие что "Период" остатка > периода регистратора.

2. Получить Все движения РН, исключить отбором регистратор, сгруппировать по измерениям.
3 Джинн
 
19.03.19
18:53
(1) Вы ошибаетесь. Слово "бредовая" нужно писать с большой буквы.
4 PR
 
19.03.19
18:56
Понабежали Профессионалы важно раздувать щеки
В (2) в первом варианте все правильно сказано
Ветку можно закрывать
5 Джинн
 
19.03.19
19:01
(4) Угу. За весь период жизни как раз до пенсии архитектора этой системы запрос будет выполняться.
6 jsmith82
 
19.03.19
19:01
в типовых вычитают движения регистратора
7 Жан Пердежон
 
19.03.19
19:16
(0) к остатку добавить расходы, вычесть приходы по типу регистратора
(5) отбор по периоду и типу регистратора - в индекс попадает, так что норм
8 PR
 
19.03.19
19:47
(5) Джинн, ну вот нахрена ты пытаешься что-то сказать в теме, в которой не разбираешься?
9 PR
 
19.03.19
19:49
+(8) Я вот на военке в ВУЗе был секретчиком по С-300, но я ни черта в ней не секу, поэтому при ее обсуждении на той же Мисте молчу в тряпочку
А ты не пробовал сабж, раз заявляешь бред типа (5), но зачем-то бросашься такими утверждениями
Зачем?
10 Cyberhawk
 
19.03.19
19:52
(7) Вот только отбор по типу регистратора передается из 1С в СУБД, увы, не параметром (который через собаку). Что способствует более быстрому вымыванию кэша плана запроса. А ведь могли бы сделать через параметр и тогда план бы жил в кэше гораздо дольше.
Иногда из-за этого непараметризованного условия в запрсе прям узкое место наблюдается.
11 Dmitriy_
Kolesnikov
 
19.03.19
20:49
(2), благодарю, вариант №1 удобен тем, что к уже имеющемуся запросу, который выполняется в случае отсутствия исключаемого регистратора, можно дописать в конце #ИсключаемыйРегистратор, а потом, если его нет - заменять подстановочный шаблон на пустую строку, а если он есть - то на "ОБЪЕДИНИТЬ" и далее по тексту.

Насчет архитектуры - методологи, бухгалтера, программисты полгода думали, как решить задачу и наконец придумали. Решение возможно не самое красивое, но других просто нет.
12 gae
 
20.03.19
06:24
(0) Просто вычти обороты этого регистратора. При помощи "ОБЪЕДИНИТЬ ВСЕ".
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn