Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Виртуальная таблица "Остатки" регистра накопления: исключить движения одного регистратора

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

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует