Имя: Пароль:
1C
1С v8
Остатки и обороты из физических таблиц регистра накопления
0 slaif
 
02.09.14
17:48
ВЫБРАТЬ
    ДенежныеСредства.Период,
    ДенежныеСредства.Регистратор,
    ДенежныеСредства.НомерСтроки,
    ДенежныеСредства.Активность,
    ДенежныеСредства.ВидДвижения,
    ДенежныеСредства.Счет,
    ДенежныеСредства.БанковскийСчетКасса,
    ДенежныеСредства.ВидДенежныхСредств,
    ДенежныеСредства.Валюта,
    ДенежныеСредства.Субконто1,
    ДенежныеСредства.Субконто2,
    ДенежныеСредства.Субконто3,
    ДенежныеСредства.Сумма,
    ДенежныеСредства.СуммаВал,
    ДенежныеСредства.Отправитель,
    ДенежныеСредства.СчетОтправителя,
    ДенежныеСредства.Получатель,
    ДенежныеСредства.СчетПолучателя,
    ДенежныеСредства.ДДС,
    ДенежныеСредства.Объект
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ДенежныеСредства КАК ДенежныеСредства
ГДЕ
    ДенежныеСредства.Период = &ДатаНачала
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫБОР
        КОГДА Обороты.Регистратор = НЕОПРЕДЕЛЕНО
            ТОГДА NULL
        ИНАЧЕ Обороты.Регистратор
    КОНЕЦ КАК Регистратор,
    ВЫБОР
        КОГДА Обороты.ДДС = НЕОПРЕДЕЛЕНО
            ТОГДА NULL
        ИНАЧЕ Обороты.ДДС
    КОНЕЦ КАК ДДС,
    Обороты.Период,
    Обороты.Счет КАК Счет,
    Обороты.БанковскийСчетКасса,
    Обороты.ВидДенежныхСредств,
    Обороты.Валюта,
    Обороты.Субконто1,
    Обороты.Субконто2,
    Обороты.Субконто3,
    Обороты.Сумма КАК СуммаОборот,
    Обороты.СуммаВал КАК СуммаВалОборот,
    ВЫБОР
        КОГДА Обороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА Обороты.Сумма
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаПриход,
    ВЫБОР
        КОГДА Обороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА 0
        ИНАЧЕ Обороты.Сумма
    КОНЕЦ КАК СуммаРасход,
    ВЫБОР
        КОГДА Обороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА Обороты.СуммаВал
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаВалПриход,
    ВЫБОР
        КОГДА Обороты.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
            ТОГДА 0
        ИНАЧЕ Обороты.СуммаВал
    КОНЕЦ КАК СуммаВалРасход,
    ВЫБОР
        КОГДА Обороты.Объект = НЕОПРЕДЕЛЕНО
            ТОГДА NULL
        ИНАЧЕ Обороты.Объект
    КОНЕЦ КАК Объект,
    НачальныеОстатки.Сумма КАК СуммаНачальныйОстаток,
    НачальныеОстатки.СуммаВал КАК СуммаВалНачальныйОстаток
ИЗ
    РегистрНакопления.ДенежныеСредства КАК Обороты
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ КАК НачальныеОстатки
        ПО Обороты.Период = НачальныеОстатки.Период
            И Обороты.Счет = НачальныеОстатки.Счет
            И Обороты.БанковскийСчетКасса = НачальныеОстатки.БанковскийСчетКасса
            И Обороты.ВидДенежныхСредств = НачальныеОстатки.ВидДенежныхСредств
            И Обороты.Валюта = НачальныеОстатки.Валюта
            И Обороты.ДДС = НачальныеОстатки.ДДС
            И Обороты.Субконто1 = НачальныеОстатки.Субконто1
            И Обороты.Субконто2 = НачальныеОстатки.Субконто2
            И Обороты.Субконто3 = НачальныеОстатки.Субконто3
            И Обороты.Отправитель = НачальныеОстатки.Отправитель
            И Обороты.СчетОтправителя = НачальныеОстатки.СчетОтправителя
            И Обороты.Получатель = НачальныеОстатки.Получатель
            И Обороты.СчетПолучателя = НачальныеОстатки.СчетПолучателя
            И Обороты.Объект = НачальныеОстатки.Объект
ГДЕ
    Обороты.Период МЕЖДУ &НачалоПериода И &КонецПериода
    И НачальныеОстатки.Период = &НачалоПериода
1 slaif
 
02.09.14
17:49
СКД, запрос, нужно получить отбор по реквизиту регистра накопления.

Как их соединить... Правильно
2 slaif
 
02.09.14
17:51
Как не пробовал циферки не те, по отдельности все отлично
3 mikecool
 
02.09.14
17:52
остатки то на начало можно и с пом Остатки() взять
4 Ёпрст
 
02.09.14
17:52
(0) какие еще остатки в табличке  РегистрНакопления.ДенежныеСредства ?

:))
5 Ёпрст
 
02.09.14
17:53
если че - это табличка движений регистра, там нет остатков
6 РенеДекарт
 
02.09.14
17:53
Это что - имитация Регистр.ОстаткиОбороты?!
7 Awreli
 
02.09.14
17:54
А  я читал, если обращаешься к физ таблице, то необязательно её обёртывать по временную
8 Ёпрст
 
02.09.14
17:54
Ну, можешь конечно, и останки по ней посчитать, сделав запрос с начала времён по дату, т.е выбрав все движения и проссумировав приход - расход получить останки..
:))
9 РенеДекарт
 
02.09.14
17:55
(5) он оттуда субконто берет, а не реквизиты остатков. Прсото обозвал "НачальныеОстатки". Зачем-то.
10 mikecool
 
02.09.14
17:55
(7) читай еще, и не такое пишут )))
11 РенеДекарт
 
02.09.14
17:55
(7)>А  я читал, если обращаешься к физ таблице, то необязательно её обёртывать по временную
- Чего?!
по отдельности понимаю, а как такая фраза целиком получилась??
12 РенеДекарт
 
02.09.14
17:56
(8) получит останки базы? ))
13 Ёпрст
 
02.09.14
17:57
(9) он оттуда берёт х..ню, а не реквизиты..
по простому - суммы движений на определенную дату, зачем - хз.
14 slaif
 
02.09.14
17:58
(6) Да(
(7) Это я старый код кинул, не знаю как отредактировать сообщение, я и так и так пытался
(9) Да


Отдельно запросы отлично работают, Мне надо соединить Левым соединением таблицу в которой обороты с таблицой, в которой остатки на начало.
15 Ёпрст
 
02.09.14
18:03
(14) у тебя нет там остатков, чего ты там соединять собрался ?
16 РенеДекарт
 
03.09.14
13:35
(15)>в которой остатки на начало
- какой регистр содержит у вас остатки, и что (какой реквизит) понимается под остаткамми?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший