Вход | Регистрация



Регистр накопления, остатки НЕ по дате Регистратора

Регистр накопления, остатки НЕ по дате Регистратора
Я
   nordbox
 
21.02.18 - 08:12
Тема как то проскакивала, но ни темы и тем более ТС найти не удалось
В общем то суть вопроса.
Есть регистр накопления, вопрос в том что одно из измерений это дата, так вот как получить остатки на определенную дату измерения?
НЕ по дате Регистратора, а именно по дате, по измерению, дата регистратора может быть любая.
На данном этапе пока вопрос только изучаю, выбираю оптимальный вариант, его все равно мне надо решать хоть криво, хоть косо но надо))).
 
 
   Borteg
 
1 - 21.02.18 - 08:13
(0) Через объединение
+ в один запрос -  в другой, сгруппировать
   бомболюк
 
2 - 21.02.18 - 08:15
раз Дата - это у тебя обычное измерения - точно так же, как, например, по складу.
   Фрэнки
 
3 - 21.02.18 - 08:17
(0) если нужное поле с требуемым типом ДатаНужная включено в Измерение, то какие проблемы? Устанавливаем на это Измерение Параметр и вписываем в условие запроса к Виртуальной таблице Остатки, так же точно, как по любому другому параметру
   Borteg
 
4 - 21.02.18 - 08:17
(2) (3) тогда группировка произойдет по этой дате и все)
   Фрэнки
 
5 - 21.02.18 - 08:21
(4) что и все - много раз такие запросы писаны для клиентов - работает. Какая разница? Если условие в обращении к виртуальной таблице составлено верно, по тому же типу, какой установили в измерение, то все работает.

Чем один примитивный тип может отличатся от другого примитивной типа, указанного в измерениях Регистра? Ну есть ограничение, что у строкового типа должна быть ограничена длина поля. Остальное все работает.
   nordbox
 
6 - 21.02.18 - 08:25
Ну вот смотрите Регистр накопления Остатки пример, на самом деле там побольше, н сути не меняет :
Измерения:
ВидДеятельности
РазрезУчета
ДатаДвижения
....
....
Ресурсы:
Cумма1
Сумма2

Пишется это все в регистр доком, у которого в таб части присутствует ДатаДвижения, то есть Факт наступления события.
Потом строится отчет между двумя датами Начало и Конец
Если бы по регистратору, то понятно, а вот по дате по сути все с начала и до конца пересчитывать?
   Borteg
 
7 - 21.02.18 - 08:26
(5) издеваешься? Если дата это измерение , то указав ИзмерениеДата = 11.01.2018 ты получишь все записи у которых дата =11.01.2018 в группировки, а ему надо ОСТАТОк ему надо все записи до этой даты
   Малыш Джон
 
8 - 21.02.18 - 08:27
(7) а почему условие: ИзмерениеДата=чему-то  ?

наверное ИзмерениеДата<=чему-то ?
   catena
 
9 - 21.02.18 - 08:29
(7)Значки больше-меньше украли?
   бомболюк
 
10 - 21.02.18 - 08:29
заведи рядышком еще один регистр, где эта дата будет обычным периодом регистра накопления и не мучайся.
 
 Рекламное место пустует
   nordbox
 
11 - 21.02.18 - 08:29
Ну например отчет
ДатаДвижения>=Дата И ДатаДвижения<=Дата
   nordbox
 
12 - 21.02.18 - 08:30
Получается надо весь регистр лопатить?
   nordbox
 
13 - 21.02.18 - 08:31
(10) Помедленней пожалуйста, я записываю))
еще раз можно?
   catena
 
14 - 21.02.18 - 08:33
(13)Читаешь через строчку?
РегистрНакопления.РЕГИСТР.Остатки(,
    ДатаДвижения <=&Дата1 
    ) КАК РЕГИСТР
   nordbox
 
15 - 21.02.18 - 08:40
Спасибо.
Сейчас попробую что нибудь нарисовать, но я не прощаюсь, обещаю вернуться ))
   Borteg
 
16 - 21.02.18 - 08:42
(14) как я думаю, в этот запрос не попадут некоторые движения, так как остатки хранятся по дате +1 секунда.
   vde69
 
17 - 21.02.18 - 08:43
в сабже не правильно спроектирован регистр, если требуется использовать дату отличную от регистратора - то ее нужно писать при проведении в поле "Период", и потом все идет штатно...
   Borteg
 
18 - 21.02.18 - 08:43
(14) надо накладывать дополнительное условие по периоду, а его ему не надо.
   Borteg
 
19 - 21.02.18 - 08:43
(14) именно поэтому зуп и прочие запросы по 20 страниц не через остатки а через объединение
   nordbox
 
20 - 21.02.18 - 08:44
(17) Не все так просто, у меня таб поле, и несколько дат движения в нем, как я тебе буду туда писать???
   nordbox
 
21 - 21.02.18 - 08:45
+20 причем их может быть море и не по порядку
   Малыш Джон
 
22 - 21.02.18 - 08:46
(17) в ЗУПе много такого, когда дата действия документа отличается от самОй даты документа
   catena
 
23 - 21.02.18 - 08:47
(16)Вы сейчас говорите про штатный Период. А в измерении хранится ровно то, что туда кладут.
   nordbox
 
24 - 21.02.18 - 08:48
у меня уже мыли даже продят, распилить этот регистр на несколько, но это походу ничего не решит
   nordbox
 
25 - 21.02.18 - 08:50
(23) Правильно говоришь, штатный период тут не катит
   Сияющий в темноте
 
26 - 21.02.18 - 08:52
А несколько записей в регистр с разными датами?
   Сияющий в темноте
 
27 - 21.02.18 - 08:53
или другой вопрос-зачем данному регистру период?
   vde69
 
28 - 21.02.18 - 08:53
(22) ЗУП писали упоротые наркоманы
(25) почему?
   nordbox
 
29 - 21.02.18 - 08:54
(26) Их может быть просто моооооооре
(27) Ты предлагаешь регистр сведений?
проходили, хуже решения не придумаешь )))
   vde69
 
30 - 21.02.18 - 08:55
(20) пишется элементарно, каждая строка в регистре имеет свой "период", и это нормально
   nordbox
 
31 - 21.02.18 - 08:56
(30) Так ))) поподробнее пожалуйста )
   vde69
 
32 - 21.02.18 - 08:59
(31) "Период" это обыкновенный реквизит, у него всего 3 особенности, одна из которых он заполняться автоматически из регистратора, но никто не мешает в движениях явным образом ему назначить любую дату...
   nordbox
 
33 - 21.02.18 - 09:00
НУ вот смотрите еще раз:
Измерения:
ВидДеятельности
РазрезУчета
ДОГОВОР  (добавим для наглядности)
ДатаДвижения
....
....
Ресурсы:
Cумма1
Сумма2

Срок договора может быть от начала мира и до  судного дня
По нему могут быть как затраты, расход так и поступления, оплата, авансы и т.д. но в разное время, дни месяца, года и т.д.
Нужно
 
 
   nordbox
 
34 - 21.02.18 - 09:00
Отчет состояния договора между двух дат
   vde69
 
35 - 21.02.18 - 09:03
(33) можно сделать и по такому регистру отчет, только он будет сильно неоптимальным...

я рекомендую (17) и отчет уже совсем простой
   Малыш Джон
 
36 - 21.02.18 - 09:04
(28) "ЗУП писали упоротые наркоманы "

ну это - да, есть такое)
   nordbox
 
37 - 21.02.18 - 09:09
(35)>>можно сделать и по такому регистру отчет, только он будет сильно неоптимальным...
Я в курсе что не оптимальный, а при оч большом объеме, а он ни куда не денется он будет это вообще будет полная Ж.
Надо попробовать период, правда я никогда не делал так.
   nordbox
 
38 - 21.02.18 - 09:13
А где вообще про период почитать моно, про его внутренности? или это про просто тупая дата регистратора?
   nordbox
 
39 - 21.02.18 - 09:14
Тогда попутно возникает вопрос, а как же регистратор?
   vde69
 
40 - 21.02.18 - 09:31
ИначеЕсли ИмяРегистра = "ДДСЛимиты" Тогда 
        Результат = Результат + "
        |" + 
        "ВЫБРАТЬ
        |    ИСТИНА КАК Активность,
        |    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения,
        |    РеквизитыДокумента.Ссылка КАК Регистратор,
        |    РеквизитыДокумента.ПериодБюджета.ДатаНачала КАК Период,
        |    РеквизитыДокумента.Проект КАК Проект,
        |    РеквизитыДокумента.ЦФО КАК ЦФО,
        |    РеквизитыДокумента.ПериодБюджета КАК ПериодОтчета,
        |    РеквизитыДокумента.ВалютаДокумента КАК Валюта,
        |    ТабПланРасхода.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
        |    СУММА(ВЫРАЗИТЬ(ТабПланРасхода.Сумма * КурсыВалют.Курс * КурсыВалютРег.Кратность / (КурсыВалютРег.Курс * КурсыВалют.Кратность) КАК ЧИСЛО(15, 2))) КАК СуммаУпр
        |ИЗ
        |    ВТПланРасхода КАК ТабПланРасхода,
        |    РеквизитыДокумента КАК РеквизитыДокумента
        |        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалют
        |        ПО РеквизитыДокумента.ВалютаДокумента = КурсыВалют.Валюта
        |        ЛЕВОЕ СОЕДИНЕНИЕ КурсыВалют КАК КурсыВалютРег
        |        ПО (КурсыВалютРег.Валюта В
        |                (ВЫБРАТЬ
        |                    ВалютаРегламентированногоУчета.Значение
        |                ИЗ
        |                    Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета))
        |
        |СГРУППИРОВАТЬ ПО
        |    РеквизитыДокумента.Ссылка,
        |    РеквизитыДокумента.ПериодБюджета,
        |    РеквизитыДокумента.ПериодБюджета.ДатаНачала,
        |    РеквизитыДокумента.ВалютаДокумента,
        |    РеквизитыДокумента.ЦФО,
        |    ТабПланРасхода.СтатьяДвиженияДенежныхСредств,
        |    РеквизитыДокумента.Проект";
   nordbox
 
41 - 21.02.18 - 09:41
(40) Ага, Спасибо, сейчас я что то подобное и делаю, посмотрю что получится )
   nordbox
 
42 - 21.02.18 - 16:42
Так, поднимаю тему.
Ничего не получается.
Дело все в том что отчет строится так:
Выборка идет как выборка записей регистра накопления
А остатки надо выбирать из виртуальных таблиц т.е.
либо Остатки, либо ОстаткиИОбороты,
пытался скрестить по разному не срастается
Это один из вариантов извращений ) 
ВЫБРАТЬ
    ДДСПроектов.ДатаДвижения КАК Период,
    ДДСПроектов.Договор КАК Договор,
    ДДСПроектов.ВидДвиженияДС КАК ВидДвиженияДС,
    ДДСПроектов.ДвижениеДС КАК ДвижениеДС,
    ДДСПроектов.СуммаБУПлан КАК СуммаБУПлан,
    ДДСПроектов.ВидДвижения КАК ВидДвижения,
    ДДСПроектовОстаткиИОбороты.СуммаБУПланНачальныйОстаток КАК СуммаБУПланНачальныйОстаток,
    ДДСПроектовОстаткиИОбороты.СуммаБУПланКонечныйОстаток КАК СуммаБУПланКонечныйОстаток
ИЗ
    РегистрНакопления.ДДСПроектов КАК ДДСПроектов,
    РегистрНакопления.ДДСПроектов.ОстаткиИОбороты(, , Месяц, ,) КАК ДДСПроектовОстаткиИОбороты
ГДЕ
    ДДСПроектов.Договор = &Договор
И ВОТ так делал, тоже
 
РегистрНакопления.ДДСПроектов.ОстаткиИОбороты(, , Месяц, ,&Договор) КАК ДДСПроектовОстаткиИОбороты
 
Или фигню какую то выдает, или ошибку
 
И договор из виртуальной таблицы ему запихивал, 
и в параметрах Виртуальной таблицы период указывал и роли обозначала и убирал, ну ни как не хочет
Без остатков все нормально работает
Туплю наверное.
   nordbox
 
43 - 21.02.18 - 17:16
Подскажет кто нибудь в какую сторону копать?
   nordbox
 
44 - 21.02.18 - 17:22
Все поля не показываю что бы не рябило и так мультики уже ))
Примерно вот так надо, возможны варианты это не окончательно
https://a.radikal.ru/a03/1802/63/aad11a30f93f.jpg
   Fragster
 
45 - 21.02.18 - 17:37
нужно ссаными тряпками гнать того, кто сделал измерение с датой. если по уму, то либо устанавливать период записи <> периоду регистратора (тут могут быть нюансы, если есть последовательность), либо писать во второй регистр с такой же структурой в нужные периоды, либо (в самом крайнем случае) запихать дату в реквизит и самому формировать аналоги виртуальных таблиц (ну и таблицы итогов на регистрах сведений в подписке).
   nordbox
 
46 - 21.02.18 - 17:40
(45) Ты тут не пыли )))
Если Дату движения впихнуть в Период при проведении, та же самая картинка.
   nordbox
 
47 - 21.02.18 - 17:41
+46 Документ один, а в таб части мИного записей с датами
   Fragster
 
48 - 21.02.18 - 17:43
(47) и что? у каждой записи может быть своя дата. нюансы есть только если есть последовательность.
   nordbox
 
49 - 21.02.18 - 17:43
Да, у каждой записи своя дата
 
 Рекламное место пустует


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