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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужна помощь с запросом по документам  (Прочитано 10653 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
AlexLM
Гость
« : 03-09-2009 04:14 » 

ВЫБРАТЬ РАЗРЕШЕННЫЕ
  ЗаказПокупателя.Ссылка.Подразделение КАК Подразделение, 
  ЗаказПокупателя.Ссылка.Ответственный КАК Ответственный,
  ЗаказПокупателя.Ссылка.Контрагент КАК Покупатель,
  ЗаказПокупателя.Ссылка.Ссылка КАК Заказ,
  ЗаказПокупателя.Ссылка.Ссылка,
ВЫБОР
  КОГДА ЗаказПокупателя.НомерСтроки = 1
    ТОГДА ЗаказПокупателя.Ссылка.СуммаУслуг
    ИНАЧЕ 0
  КОНЕЦ КАК СуммаУслуг,
  ЗаказПокупателя.Сумма КАК СуммаЗаказа,
  ЗаказПокупателя.СебестоимостьСумма КАК СуммаСебестоимости,
  ЗаказПокупателяК.Документ КАК ДокументКорректировки,
ВЫБОР
  КОГДА ЗаказПокупателя.НомерСтроки = 1
    ТОГДА ЗаказПокупателяК.Сумма
    ИНАЧЕ 0
  КОНЕЦ КАК СуммаКорректировки,
  ЗаказПокупателяО.Документ КАК ДокументОплаты,
ВЫБОР
  КОГДА ЗаказПокупателя.НомерСтроки = 1
    ТОГДА ЗаказПокупателяО.Сумма
    ИНАЧЕ 0
  КОНЕЦ КАК СуммаОпл
ИЗ
  Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.ДокументыКорректировки КАК ЗаказПокупателяК
    ПО ЗаказПокупателя.Ссылка = ЗаказПокупателяК.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.ДокументыОплаты КАК ЗаказПокупателяО
    ПО ЗаказПокупателя.Ссылка = ЗаказПокупателяО.Ссылка
ГДЕ
  ЗаказПокупателя.Ссылка.Дата >= &ДатаНачала
  И ЗаказПокупателя.Ссылка.Дата <= &ДатаКонца
ИТОГИ
  СУММА(СуммаУслуг),
  СУММА(СуммаЗаказа),
  СУММА(СуммаСебестоимости),
  СУММА(СуммаКорректировки),
  СУММА(СуммаОпл)
ПО
  Подразделение,
  Ответственный,
  Покупатель,
  Заказ,
  ДокументОплаты,
  ДокументКорректировки
 
СуммаУслуг берется из шапки, СуммаЗаказа и СуммаСебестоимости - из 1 ТЧ (по товарам), СуммаКорректировки - из 2-ой ТЧ, СуммаОпл - из 3-ей ТЧ...
Проблема в том, что если в 3-ей ТЧ несколько строк, то сумма из шапки и 1-ой ТЧ увеличивается на кол-во строк (если указываешь 1-ый номер строки из 3-ей ТЧ (сейчас в запросе ссылка на 1-ую ТЧ), то увеличивается и сумма по 3-ей)... + при таком запросе (указании группировки ДокументКорректировки) - выводится только одна строка из группировки ДокументОплаты...
 
PS. Сильно прошу не пинать, т.к. только учусь программированию на 8-ке...
PS2. Пробовал сделать запрос через ОБЪЕДИНИТЬ ВСЕ выбрав разные ТЧ, но результат запроса получается пустой... попадают только данные из шапки...
Записан
Kivals
Модератор

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

WWW
« Ответ #1 : 03-09-2009 07:05 » 

А что в итоге ты хочешь получить? у тебя на 1 документ должна быть одна строка результата с итоговыми суммами и дополнительной информацией (Подразделение, покупатель, ответсвтенный...) ?
Записан
AlexLM
Гость
« Ответ #2 : 03-09-2009 07:18 » new

строки типа -
ПО
  Подразделение,
  Ответственный,
  Покупатель,
  Заказ,
  ДокументОплаты,
  ДокументКорректировки
колонки типа -
ИТОГИ
  СУММА(СуммаУслуг),
  СУММА(СуммаЗаказа),
  СУММА(СуммаСебестоимости),
  СУММА(СуммаКорректировки),
  СУММА(СуммаОпл)
Записан
Kivals
Модератор

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

WWW
« Ответ #3 : 03-09-2009 09:32 » 

ДокументОплаты и ДокументКорректировки ты берешь из разных табличных частей - по какому принципу ты их сводишь в одну строку?
Записан
AlexLM
Гость
« Ответ #4 : 03-09-2009 09:48 » 

в плане "в одну"?
это две разные группировки... и в каждой из них может быть несколько документов...
а то что НомерСтроки = 1, так это я пробовал убрать суммирование результатов...
Записан
Kivals
Модератор

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

WWW
« Ответ #5 : 03-09-2009 10:41 » 

строки типа -
ПО
  Подразделение,
  Ответственный,
  Покупатель,
  Заказ,
  ДокументОплаты,
  ДокументКорректировки
...

На самом нижнем уровне группировок у тебя все эти значения будут заполнены. Так вот вопрос - как соотнести конкретный документ оплаты с конкретным документом корректировки, взятом из разных табличных частей?
Записан
AlexLM
Гость
« Ответ #6 : 03-09-2009 14:44 » 


На самом нижнем уровне группировок у тебя все эти значения будут заполнены. Так вот вопрос - как соотнести конкретный документ оплаты с конкретным документом корректировки, взятом из разных табличных частей?
[/quote]

а что значит "соотнести"?.. соотносятся доки оплаты и корректировки с доком заказа, а между собой - нафиг это нужно...
Нужны группировки Подразделение,  Ответственный,  Покупатель,  Заказ и ниже доки корректировки и оплаты... я решил это сделать через группировки... если есть другое решение - предложите...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines