Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
25 ноя 2024, 04:10

Отчет по сравнению продож разных периодов

Автор Хильда, 12 сен 2017, 16:39

0 Пользователей и 1 гость просматривают эту тему.

Хильда

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

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

ВЫБРАТЬ
   ПродажаТоваровТовары.Номенклатура,
   0,
   0,
   0,
   0,
   ПродажаТоваровТовары.Количество,
   ПродажаТоваровТовары.Сумма,
   ОстаткиНоменклатурыОбороты.СуммаРасход,
   ПродажаТоваровТовары.Сумма - ОстаткиНоменклатурыОбороты.СуммаРасход,
   0
ИЗ
   Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары,
   РегистрНакопления.ОстаткиНоменклатуры.Обороты(&Дата3, &Дата4, , ) КАК ОстаткиНоменклатурыОбороты
ГДЕ
   ПродажаТоваровТовары.Ссылка.Дата МЕЖДУ &Дата3 И &Дата4
   И ПродажаТоваровТовары.Ссылка.Проведен

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

ВЫБРАТЬ
   ОстаткиНоменклатурыОстатки.Номенклатура,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ОстаткиНоменклатуры.Остатки(&Дата2, ) КАК ОстаткиНоменклатурыОстатки

На выходе - полная фигня :^454^: Выделила первый запрос и сначала сгруппировала во временную таблицу, потом подключила регистр.

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ТабДок.Номенклатура КАК Номенклатура,
   ТабДок.Количество КАК КолТек,
   ТабДок.Сумма КАК СумТек,
   ТабДок.Сумма - ОстаткиНоменклатурыОбороты.СуммаРасход КАК ПрибыльТек,
   0 КАК КолПред,
   0 КАК СумПред,
   0 КАК ПрибыльПред,
   0 КАК ОстТек 
ИЗ
   ТабДок КАК ТабДок
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Обороты(&Дата1, &Дата2, , ) КАК ОстаткиНоменклатурыОбороты
      ПО ТабДок.Номенклатура = ОстаткиНоменклатурыОбороты.Номенклатура


Заработал правильно. Хотела ту же штуку проделать и со вторым запросом - добавить в него вторую временную таблицу ТабДок1 (они аналогичные, только даты разные), но 1С меня обругала - Предложение ПОМЕСТИТЬ может располагаться только в основном запросе.
Весь день пытаюсь что-нить придумать, ничего не получается :dfbsdfbsdf:
Помогите, плиз! :(

oleg-x

:befhbt: над этим смайликом есть значок #, если выделить тект и нажать, то код будет заключен в теги и будет выглядеть так
//извините, не знаю, как вставить компактно программный код
Перем Тест Экспорт;
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

alex0402

Цитата: Хильда от 12 сен 2017, 16:39Предложение ПОМЕСТИТЬ может располагаться только в основном запросе.

еще одну ; и потом новый запрос для нового ПОМЕСТИТЬ
Спасибо за Сказать спасибо

Хильда

Я все-таки победила этот отчет :zebzdr:
ВЫБРАТЬ РАЗЛИЧНЫЕ
ПродажаТоваровТовары.Номенклатура КАК Номенклатура,
СУММА(ПродажаТоваровТовары.Количество) КАК Количество,
СУММА(ПродажаТоваровТовары.Сумма) КАК Сумма
ПОМЕСТИТЬ ПродажТек
ИЗ
Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары
ГДЕ
ПродажаТоваровТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
И ПродажаТоваровТовары.Ссылка.Проведен

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПродажТек.Номенклатура КАК Номенклатура,
ПродажТек.Количество КАК КолТек,
ПродажТек.Сумма КАК СумТек,
ОстаткиНоменклатурыОбороты.КоличествоРасход КАК КоличествоРасходТек,
ОстаткиНоменклатурыОбороты.СуммаРасход КАК СебестоимТек
ПОМЕСТИТЬ ИтогТек
ИЗ
ПродажТек КАК ПродажТек
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Обороты(&Дата1, &Дата2, , ) КАК ОстаткиНоменклатурыОбороты
ПО ПродажТек.Номенклатура = ОстаткиНоменклатурыОбороты.Номенклатура
;

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПродажиПред.Номенклатура КАК Номенклатура,
ПродажиПред.Количество КАК КолПред,
ПродажиПред.Сумма КАК СуммПред,
ОстаткиНоменклатурыОбороты.КоличествоРасход КАК КоличествоРасход,
ОстаткиНоменклатурыОбороты.СуммаРасход КАК СебестПред
ПОМЕСТИТЬ ИтогПред
ИЗ
ПродажиПред КАК ПродажиПред
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Обороты(&Дата3, &Дата4, , ) КАК ОстаткиНоменклатурыОбороты
ПО ПродажиПред.Номенклатура = ОстаткиНоменклатурыОбороты.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ИтогТек.Номенклатура КАК Номенклатура,
ИтогТек.КолТек КАК КолТек,
ИтогТек.СумТек КАК СумТек,
ИтогТек.СумТек - ИтогТек.СебестоимТек КАК ПрибыльТек,
0 КАК КолПред,
0 КАК СуммПред,
0 КАК ПрибыльПред,
0 КАК КолОст
ИЗ
ИтогТек КАК ИтогТек

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

ВЫБРАТЬ
ИтогПред.Номенклатура,
0,
0,
0,
ИтогПред.КолПред,
ИтогПред.СуммПред,
ИтогПред.СуммПред - ИтогПред.СебестПред,
0
ИЗ
ИтогПред КАК ИтогПред

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

ВЫБРАТЬ
ОстаткиНоменклатурыОстатки.Номенклатура,
0,
0,
0,
0,
0,
0,
ОстаткиНоменклатурыОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ОстаткиНоменклатуры.Остатки(&Дата2, ) КАК ОстаткиНоменклатурыОстатки

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск