Имя: Пароль:
1C
 
Есть запрос.Выбираю из виртуальной таблицы товары и остатки данные.
,
0 serg-lom89
 
02.08.16
14:01
Есть запрос.Выбираю из виртуальной таблицы товары и остатки данные.

ВЫБРАТЬ
    ПринадлежностьСкладовСрезПоследних.Склад,
    ПринадлежностьСкладовСрезПоследних.Организация
ПОМЕСТИТЬ СкладыОрганизаций
ИЗ
    РегистрСведений.ПринадлежностьСкладов.СрезПоследних(&КонецПериода, Склад.ТипСклада <> ЗНАЧЕНИЕ(перечисление.типыСкладов.виртуальный)) КАК ПринадлежностьСкладовСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(СкладыОрганизаций.Организация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК СкладыОрг,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Период КАК ПериодДата,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, 0) КАК КонОСТ,
    (ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, 0)) * ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Литраж, 0) КАК Литраж
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
            &НачалоПериода,
            &КонецПериода,
            День,
            ,
            Склад.ТипСклада <> ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.Виртуальный)
                И Склад.Код = "0001"
                И Номенклатура.НоменклатурнаяГруппа.Поставщик.Код = "BS") КАК ТоварыНаСкладахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ СкладыОрганизаций КАК СкладыОрганизаций
        ПО ТоварыНаСкладахОстаткиИОбороты.Склад = СкладыОрганизаций.Склад
ИТОГИ
    СУММА(КонОСТ)
ПО
    ПериодДата

Если выполняю данный запрос с итогом по периодДень,то сумма по каждому дню итоговая.

Если затем мою выборку заношу в ВиртТаблицу и уже из нее делаю итоги теже самые,то итог на нач и кон Большие,а на периоды между ними совсем другие как итоги из первой таблицы

Как такое получается и как с этим бороться?
1 serg-lom89
 
02.08.16
14:02
номер 2 запрос

ВЫБРАТЬ
    ПринадлежностьСкладовСрезПоследних.Склад,
    ПринадлежностьСкладовСрезПоследних.Организация
ПОМЕСТИТЬ СкладыОрганизаций
ИЗ
    РегистрСведений.ПринадлежностьСкладов.СрезПоследних(&КонецПериода, Склад.ТипСклада <> ЗНАЧЕНИЕ(перечисление.типыСкладов.виртуальный)) КАК ПринадлежностьСкладовСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(СкладыОрганизаций.Организация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК СкладыОрг,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Период КАК ПериодДата,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, 0) КАК КонОСТ,
    (ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, 0)) * ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Литраж, 0) КАК Литраж
ПОМЕСТИТЬ ИТОГОВАЯ
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
            &НачалоПериода,
            &КонецПериода,
            День,
            ,
            Склад.ТипСклада <> ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.Виртуальный)
                И Склад.Код = "0001"
                И Номенклатура.НоменклатурнаяГруппа.Поставщик.Код = "BS") КАК ТоварыНаСкладахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ СкладыОрганизаций КАК СкладыОрганизаций
        ПО ТоварыНаСкладахОстаткиИОбороты.Склад = СкладыОрганизаций.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ИТОГОВАЯ.СкладыОрг,
    ИТОГОВАЯ.Склад,
    ИТОГОВАЯ.Номенклатура,
    ИТОГОВАЯ.ПериодДата КАК ПериодДата,
    ИТОГОВАЯ.КонОСТ КАК КонОСТ,
    ИТОГОВАЯ.Литраж
ИЗ
    ИТОГОВАЯ КАК ИТОГОВАЯ
ИТОГИ
    СУММА(КонОСТ)
ПО
    ПериодДата
2 serg-lom89
 
02.08.16
14:06
итог таб первой

01.07 |   02.07  |   03.07  |   04.07 |
----------------------------------------
10000 |   90 000 |  99 000  |   70 000|

итог таб 2
01.07 |   02.07  |   03.07  |   04.07 |
----------------------------------------
12000 |   5 000 |  2 000  |     70 000|

вот такая картина получается
3 serg-lom89
 
02.08.16
14:07
просто нужно занести в вирт.таб. для дальнейшей работы с результатом,а результат какой то не такой получается(
4 vicof
 
02.08.16
14:15
Читал, читал всю эту писанину, а потом решил забить. Ибо рука тянется к лицу. Что автору надо, что не получается, что решает - непонятно,А и ему самому, похоже, тоже.
5 Nuobu
 
02.08.16
14:19
(4) с разрешения  vicof перефразирую его пост:
Зачем всё это?
6 serg-lom89
 
02.08.16
14:24
(5) для построения диаграммы по дням
7 serg-lom89
 
02.08.16
14:24
(4) -> (6)
8 Nuobu
 
02.08.16
14:24
(6) В СКД?
9 Nuobu
 
02.08.16
14:25
(6) Сорри за (8), моя глупость.
Не используй итоги в СКД.
10 serg-lom89
 
02.08.16
14:25
(8) данный запрос выполняю в консоли.Ну а затем как окончательно сделаю  выборку ,тогда в СКД
11 serg-lom89
 
02.08.16
14:26
(9) так в СКД не испоьзую,без итогов туда закидываю его
12 Nuobu
 
02.08.16
14:27
(11) Так а зачем тогда ты показываешь эти два запроса здесь? Если в СКД они идут без итогов?
13 serg-lom89
 
02.08.16
14:27
затем нужно будет прикрутить к этому запросу срез последнихЦен за выбранный период.А если быть точнее потом цену*количествоОстаток,и получить стоимостную оценку
14 serg-lom89
 
02.08.16
14:28
(12) так в скд они выводят на начало и конец заданного периода какие бешенные цифры,а между ними итоги маленькие
15 Nuobu
 
02.08.16
14:29
(14) Покажи запрос, который ты подсовываешь СКД.
16 serg-lom89
 
02.08.16
14:30
(15)

ВЫБРАТЬ
    ПринадлежностьСкладовСрезПоследних.Склад,
    ПринадлежностьСкладовСрезПоследних.Организация
ПОМЕСТИТЬ СкладыОрганизаций
ИЗ
    РегистрСведений.ПринадлежностьСкладов.СрезПоследних(&КонецПериода, Склад.ТипСклада <> ЗНАЧЕНИЕ(перечисление.типыСкладов.виртуальный)) КАК ПринадлежностьСкладовСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(СкладыОрганизаций.Организация, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) КАК СкладыОрг,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Период КАК ПериодДата,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, 0) КАК КонОСТ,
    (ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) + ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот, 0)) * ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Литраж, 0) КАК Литраж
ПОМЕСТИТЬ ИТОГОВАЯ
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
            &НачалоПериода,
            &КонецПериода,
            День,
            ,
            Склад.ТипСклада <> ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.Виртуальный)
                И Склад.Код = "0001"
                И Номенклатура.НоменклатурнаяГруппа.Поставщик.Код = "BS") КАК ТоварыНаСкладахОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ СкладыОрганизаций КАК СкладыОрганизаций
        ПО ТоварыНаСкладахОстаткиИОбороты.Склад = СкладыОрганизаций.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ИТОГОВАЯ.СкладыОрг,
    ИТОГОВАЯ.Склад,
    ИТОГОВАЯ.Номенклатура,
    ИТОГОВАЯ.ПериодДата КАК ПериодДата,
    ИТОГОВАЯ.КонОСТ КАК КонОСТ,
    ИТОГОВАЯ.Литраж
ИЗ
    ИТОГОВАЯ КАК ИТОГОВАЯ
17 vicof
 
02.08.16
14:32
Периоды нужно правильно расставлять
18 vicof
 
02.08.16
14:34
19 serg-lom89
 
02.08.16
15:09
(17) не понял,насчет периода
20 serg-lom89
 
02.08.16
15:23
(18) спасибо за статью
21 serg-lom89
 
02.08.16
15:50
(18) сделал по остаткам,запихнул в скд все вроде норм)
22 serg-lom89
 
02.08.16
16:45
сделал запрос по остаткам,начала выводить диаграмму в СКД по конОстатку.

все ок.
приклеил таблицу с ценами и снова что то не правильно.
Количество неверно и стоимость  

запрос проверял по цифрам кажись все ок

ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДата,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонОстаток,
    ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Литраж, 0) * ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК Литраж
ПОМЕСТИТЬ ИтогТаблица
ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
            &НачалоПериода,
            &КонецПериода,
            Авто,
            ,
            Склад.ТипСклада <> ЗНАЧЕНИЕ(Перечисление.ТипыСкладов.Виртуальный)
                И Склад.Код = "0001"
                И Номенклатура.НоменклатурнаяГруппа.Поставщик.Код = "BS") КАК ТоварыНаСкладахОстаткиИОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ИтогТаблица.Склад,
    ИтогТаблица.Номенклатура,
    ИтогТаблица.ПериодДата,
    ИтогТаблица.КоличествоНачальныйОстаток,
    ИтогТаблица.КонОстаток,
    ИтогТаблица.Литраж,
    МАКСИМУМ(ЦеныНоменклатуры.Период) КАК МаксДата
ПОМЕСТИТЬ втМаксПериод
ИЗ
    ИтогТаблица КАК ИтогТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
        ПО ИтогТаблица.Номенклатура = ЦеныНоменклатуры.Номенклатура
            И ИтогТаблица.ПериодДата >= ЦеныНоменклатуры.Период
            И (ЦеныНоменклатуры.ТипЦен.Код = "А00000004")

СГРУППИРОВАТЬ ПО
    ИтогТаблица.Склад,
    ИтогТаблица.Номенклатура,
    ИтогТаблица.ПериодДата,
    ИтогТаблица.КоличествоНачальныйОстаток,
    ИтогТаблица.КонОстаток,
    ИтогТаблица.Литраж
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втМаксПериод.Склад,
    втМаксПериод.Номенклатура,
    втМаксПериод.ПериодДата,
    втМаксПериод.КоличествоНачальныйОстаток,
    втМаксПериод.КонОстаток,
    втМаксПериод.Литраж,
    втМаксПериод.КонОстаток * ЦеныНоменклатуры.Цена КАК Стоимость
ИЗ
    втМаксПериод КАК втМаксПериод
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
        ПО втМаксПериод.Номенклатура = ЦеныНоменклатуры.Номенклатура
            И втМаксПериод.МаксДата = ЦеныНоменклатуры.Период
            И (ЦеныНоменклатуры.ТипЦен.Код = "А00000004")
23 serg-lom89
 
02.08.16
16:51
уже мозг разрывается!!((
24 serg-lom89
 
02.08.16
17:50
сегодня надо идти в бар!