Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите с СКД и макетом  (Прочитано 6937 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dreamkiper
Гость
« : 19-03-2010 15:48 » 

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

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

СГРУППИРОВАТЬ ПО
ДвиженияДенежныхСредств.Контрагент) КАК Маркетинг
ПО ВложенныйЗапрос.Контрагент = Маркетинг.Контрагент,
РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
ГДЕ
ДвиженияДенежныхСредств.СтатьяДвиженияДенежныхСредств = &Аванс

СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Контрагент,
ЕСТЬNULL(Маркетинг.Сумма, 0),
ДвиженияДенежныхСредств.Контрагент   
 
Но как для него создать макет определенной формы ни как не могу сообразить. Приблизительный вид отчета во вложении.   

* Пример оформления.JPG (103.34 Кб - загружено 764 раз.)
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 19-03-2010 16:33 » 

А по умолчанию как выводит?
ИМХО запрос у тебя не рабочий...
Что такое декартово произведение знаешь? Так вот результатом запроса будет декартово произведение (ВложенныйЗапрос, Маркетинг) И (ДвиженияДенежныхСредств)
Записан
Dreamkiper
Гость
« Ответ #2 : 19-03-2010 18:37 » 

Примерно так и получается! Два отдельных  отчета нормально выводятся. А вот в один никак не могу собрать.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 19-03-2010 20:45 » 

Вот этот кусок кода
Код:
ПО ВложенныйЗапрос.Контрагент = Маркетинг.Контрагент,
РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
по идее должен выглядеть так:
Код:
ПО ВложенныйЗапрос.Контрагент = Маркетинг.Контрагент
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств КАК ДвиженияДенежныхСредств
ПО ДвиженияДенежныхСредств.Контрагент = Маркетинг.Контрагент
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines