Имя: Пароль:
1C
1С v8
Как в одном запросе получить еще одни данные по тем же выборкам но за другой пер
0 svird
 
03.02.15
16:04
Надо сравнить движения за 2 разных промежутка дат по одним и тем же выборкам. И получить разницу. Типа План- Факт = Итого
1 vicof
 
03.02.15
16:05
ОБЪЕДИНИТЬ
2 svird
 
03.02.15
16:11
Не совсем понял, а может в типовой есть похожее что то?
3 vicof
 
03.02.15
16:12
(2) Запрос за один промежуток объединить с запросом за другой промежуток. Что непонятного?
4 vicof
 
03.02.15
16:13
(2) Есть) поищи по слову планфакт
5 svird
 
03.02.15
17:45
Осталось в СКД сделать Разницу, не совсем понятно, как эти вычисляемые поля организовать. Посмотреть бы где то, в планфакте разницы не нашел
6 vicof
 
03.02.15
17:46
ну давай, покажи свой велосипед
7 shuhard
 
03.02.15
17:50
(5) нет там ни каких вычисляемых полей
все делается в запросе
8 svird
 
03.02.15
18:00
9 svird
 
03.02.15
18:02
(6) Это схема компановки с объединением и макетом вывода - выводит нормально
10 shuhard
 
03.02.15
18:05
(9) ну и ?
11 svird
 
03.02.15
18:08
не совсем понимаю, как в запросе разницу получить
12 svird
 
03.02.15
18:08
там объединение 2-х запросов
13 anatoly
 
03.02.15
18:10
можно ВТ использовать.
14 ssh2QQ6
 
03.02.15
18:10
(11) Объединение во вложенном запросе, во втором запросе инвертируешь знак поля ( - поле1) и в верхнем запросе группировка и сумма(). Вот и будет разница
15 svird
 
03.02.15
18:12
(14) Так может средствами СКД можно как то, я выложил схему в (8)?
16 shuhard
 
03.02.15
18:16
(15)
вот тебе по шагам с тучей промежуточных ВТ:


ВЫБРАТЬ
    ОтражениеИнвентаризацииТовары.Номенклатура,
    ОтражениеИнвентаризацииТовары.Склад,
    СУММА(ОтражениеИнвентаризацииТовары.Количество) КАК Количество,
    ОтражениеИнвентаризацииТовары.Ссылка КАК Отражение
ПОМЕСТИТЬ ВТ_Партии
ИЗ
    Документ.ОтражениеИнвентаризации.Товары КАК ОтражениеИнвентаризацииТовары
ГДЕ
    ОтражениеИнвентаризацииТовары.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
    ОтражениеИнвентаризацииТовары.Номенклатура,
    ОтражениеИнвентаризацииТовары.Склад,
    ОтражениеИнвентаризацииТовары.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад,
    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
    СУММА(ИнвентаризацияТоваровНаСкладеТовары.Количество) КАК Количество,
    ОтражениеИнвентаризацииДокументыИнвентаризации.Ссылка КАК Отражение
ПОМЕСТИТЬ ВТ_Инв
ИЗ
    Документ.ОтражениеИнвентаризации.ДокументыИнвентаризации КАК ОтражениеИнвентаризацииДокументыИнвентаризации
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ИнвентаризацияТоваровНаСкладеТовары
        ПО ОтражениеИнвентаризацииДокументыИнвентаризации.СсылкаИнв = ИнвентаризацияТоваровНаСкладеТовары.Ссылка
ГДЕ
    ОтражениеИнвентаризацииДокументыИнвентаризации.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
    ИнвентаризацияТоваровНаСкладеТовары.Ссылка.Склад,
    ИнвентаризацияТоваровНаСкладеТовары.Номенклатура,
    ОтражениеИнвентаризацииДокументыИнвентаризации.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Партии.Номенклатура,
    ВТ_Партии.Склад,
    ВТ_Партии.Количество КАК Партия,
    0 КАК Инвентаризация,
    ВТ_Партии.Отражение
ПОМЕСТИТЬ ВТ_сырец
ИЗ
    ВТ_Партии КАК ВТ_Партии

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ВТ_Инв.Номенклатура,
    ВТ_Инв.Склад,
    0,
    ВТ_Инв.Количество,
    ВТ_Инв.Отражение
ИЗ
    ВТ_Инв КАК ВТ_Инв
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_сырец.Номенклатура,
    ВТ_сырец.Склад,
    СУММА(ВТ_сырец.Партия) КАК Партия,
    СУММА(ВТ_сырец.Инвентаризация) КАК Инвентаризация,
    ВТ_сырец.Отражение
ПОМЕСТИТЬ ВТ_Сжато
ИЗ
    ВТ_сырец КАК ВТ_сырец

СГРУППИРОВАТЬ ПО
    ВТ_сырец.Склад,
    ВТ_сырец.Номенклатура,
    ВТ_сырец.Отражение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Сжато.Номенклатура,
    ВТ_Сжато.Склад,
    СУММА(ВТ_Сжато.Партия) КАК Партия,
    СУММА(ВТ_Сжато.Инвентаризация) КАК Инвентаризация,
    СУММА(ВТ_Сжато.Партия - ВТ_Сжато.Инвентаризация) КАК Дельта,
    ВТ_Сжато.Отражение
ПОМЕСТИТЬ ВТ_Финмш
ИЗ
    ВТ_Сжато КАК ВТ_Сжато

СГРУППИРОВАТЬ ПО
    ВТ_Сжато.Номенклатура,
    ВТ_Сжато.Склад,
    ВТ_Сжато.Отражение
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Финмш.Номенклатура КАК Номенклатура,
    ВТ_Финмш.Склад КАК Склад,
    СУММА(ВТ_Финмш.Партия) КАК Партия,
    СУММА(ВТ_Финмш.Инвентаризация) КАК Инвентаризация,
    СУММА(ВТ_Финмш.Дельта) КАК Дельта,
    ВТ_Финмш.Номенклатура.ВидНоменклатуры КАК НоменклатураВидНоменклатуры,
    ВТ_Финмш.Отражение КАК Отражение
{ВЫБРАТЬ
    Номенклатура.*,
    Склад.*,
    Партия,
    Инвентаризация,
    Дельта,
    НоменклатураВидНоменклатуры.*,
    Отражение.*}
ИЗ
    ВТ_Финмш КАК ВТ_Финмш
ГДЕ
    ВТ_Финмш.Дельта <> 0
{ГДЕ
    ВТ_Финмш.Номенклатура.*,
    ВТ_Финмш.Склад.*,
    ВТ_Финмш.Партия,
    ВТ_Финмш.Инвентаризация,
    ВТ_Финмш.Дельта,
    ВТ_Финмш.Номенклатура.ВидНоменклатуры.*,
    ВТ_Финмш.Отражение.*}

СГРУППИРОВАТЬ ПО
    ВТ_Финмш.Склад,
    ВТ_Финмш.Номенклатура,
    ВТ_Финмш.Номенклатура.ВидНоменклатуры,
    ВТ_Финмш.Отражение
17 svird
 
03.02.15
18:20
(16) Спасибо, я такой вариант изучу, но у меня уже СКД эта, хочется знать как в СКД сделать. Темболее это модный инструмент и такая задача часто поподаеться.
18 svird
 
03.02.15
18:50
Что то пытаюсь поля сравнения добавить в Вычисляемые поля - Выдает: Синтаксическая ошибка
19 РазДва
 
03.02.15
18:58
(17) Если нужно на СКД и есть УПП, посмотри в произвольных отчетах, там куча примеров сравнения показателей разных периодов
20 svird
 
03.02.15
19:06
(19) Да смотрю, и толком не нашел.
А в каком ты видел?
21 svird
 
03.02.15
19:13
вроде нашел что то, спасибо за наводку (19)
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.