Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Отчет Ведомость по Остаткам прямым запросом! (число прочтений - 6021 )
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Отчет Ведомость по Остаткам прямым запросом!
23. Июля 2008 :: 07:43
Печать  
Народ помогите плиззз, нужно собрать именно из регистра остатки движение остатков, тоесть нач,приход,расход,кон остатков и движения документов по ним.
есть ниже следующий запрос и он работает, НО не могу в Индтз вывести еще документы, тоесть чтобы по ним сгруппировать и получится по датам документов группировка, как в типовой версии 1С:Торговля Ведомость по остаткам!

[code]
     рс = СоздатьОбъект("ODBCRecordset");
     рс.Отладка(1);
     ТекстЗапроса = "-- qryMaker:Отчет1.2008.07.22.16.13.43
           |SELECT
           |        ОборотыТМЦ.ТМЦ [ТМЦ $Справочник.ТМЦ]
           |      , ОборотыТМЦ.Склад [Склад $Справочник.МестаХранения]
           |      , ОборотыТМЦ.Фирма [Фирма $Справочник.Фирмы]
           |      , Sum(ОборотыТМЦ.КоличествоНачальныйОстаток) НачКолОстаток
           |      , Sum(ОборотыТМЦ.КоличествоПриход) КолПриход
           |      , Sum(ОборотыТМЦ.КоличествоРасход) КолРасход
           |      , Sum(ОборотыТМЦ.КоличествоКонечныйОстаток) КонКолОстаток
           |      , Sum(ОборотыТМЦ.ТранспНачальныйОстаток) НачТранспОстаток
           |      , Sum(ОборотыТМЦ.ТранспПриход) ТранспПриходС
           |      , Sum(ОборотыТМЦ.ТранспРасход) ТранспРасходС
           |      , Sum(ОборотыТМЦ.ТранспКонечныйОстаток) КонТранспОстаток
           |FROM $РегистрОстаткиОбороты.ОстаткиТМЦ(:ДатаНачала,:ДатаКонца~,Document,,,";
           Если (ПустоеЗначение(Фирма)=0) и (ПустоеЗначение(Склад)=0) Тогда
                 ТекстЗапроса=ТекстЗапроса+"(Фирма = :Фирма) AND (Склад = :Склад),";
           ИначеЕсли ПустоеЗначение(Фирма)=0 Тогда
                 ТекстЗапроса=ТекстЗапроса+"(Фирма = :Фирма),";
           ИначеЕсли ПустоеЗначение(Склад)=0 Тогда
                 ТекстЗапроса=ТекстЗапроса+"(Склад = :Склад),";
           Иначе
                 ТекстЗапроса=ТекстЗапроса+",";
           КонецЕсли;
     ТекстЗапроса = ТекстЗапроса+"
           |            (Фирма, Склад, ТМЦ),
           |            (Количество, Трансп)) AS ОборотыТМЦ (NoLock)
           |GROUP BY ОборотыТМЦ.Фирма
           |      , ОборотыТМЦ.Склад
           |      , ОборотыТМЦ.ТМЦ
           |";
     рс.УстановитьТекстовыйПараметр("ДатаНачала",ДатаНачала);
     рс.УстановитьТекстовыйПараметр("ДатаКонца",ДатаКонца);
     рс.УстановитьТекстовыйПараметр("Фирма",Фирма);
     рс.УстановитьТекстовыйПараметр("Склад",Склад);
     рс.УстановитьТекстовыйПараметр("ТМЦ",ТМЦ);
     
     
     тз=СоздатьОбъект("ИндексированнаяТаблица");
     рс.ВыполнитьИнструкцию(ТекстЗапроса,тз,1);
     тз.ВыбратьСтроку();

[/code]
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #1 - 23. Июля 2008 :: 08:12
Печать  
зачем тебе Sum(ОборотыТМЦ.КоличествоНачальныйОстаток) НачКолОстаток ? Виртуальная таблица и так дает сумму. И где ты выбираешь из ВТ документ?
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #2 - 23. Июля 2008 :: 08:36
Печать  
Я бы делал через остатки - юнион олл - движения, без ВТ
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #3 - 23. Июля 2008 :: 09:15
Печать  
Mikeware писал(а) 23. Июля 2008 :: 08:12:
зачем тебе Sum(ОборотыТМЦ.КоличествоНачальныйОстаток) НачКолОстаток ? Виртуальная таблица и так дает сумму. И где ты выбираешь из ВТ документ?


По поводу нач и кон сумм не знал, убрал и в ИндТЗ пропали колонки по нач остаткам Печаль
вот именно что, я пробовал разные фигни и не смог выбрать документы и не понимаю как их выбрать Печаль в ВТ там есть только группировка по документам и все. Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #4 - 23. Июля 2008 :: 09:15
Печать  
Цитата:
Я бы делал через остатки - юнион олл - движения, без ВТ

для меня такое жестоко Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #5 - 23. Июля 2008 :: 11:05
Печать  
неужели никто ничего посоветовать не может? никто такого не писал чтоли?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #6 - 23. Июля 2008 :: 11:07
Печать  
pavlo писал(а) 23. Июля 2008 :: 09:15:
вот именно что, я пробовал разные фигни и не смог выбрать документы и не понимаю как их выбрать Печаль в ВТ там есть только группировка по документам и все. Печаль

Код
Выбрать все
 SELECT
  right(ОборотыТМЦ.ПозицияДокумента,9)  [Документ $Документ],
    ОборотыТМЦ.ВидДокумента [Документ_вид],
......
 


Вообще, в документации это описано.
  
Наверх
ICQ  
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #7 - 23. Июля 2008 :: 15:22
Печать  
хм, не видел такого в документации Печаль
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #8 - 24. Июля 2008 :: 02:32
Печать  
Mikeware писал(а) 23. Июля 2008 :: 11:07:
pavlo писал(а) 23. Июля 2008 :: 09:15:
вот именно что, я пробовал разные фигни и не смог выбрать документы и не понимаю как их выбрать Печаль в ВТ там есть только группировка по документам и все. Печаль

Код
Выбрать все
 SELECT
  right(ОборотыТМЦ.ПозицияДокумента,9)  [Документ $Документ],
    ОборотыТМЦ.ВидДокумента [Документ_вид],
......
 


Вообще, в документации это описано.


Странно, когда это добавляю в select то ругается, что нужна группировка, добавляю в группировку орет, что не определено значение "ОборотыТМЦ.Документ" Печаль
В чем проблема не в курсе?
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #9 - 24. Июля 2008 :: 05:41
Печать  
Потому что у тебя нет в таблице поля ОборотыТМЦ.Документ, у тебя есть: ОборотыТМЦ.ПозицияДокумента
  
Наверх
 
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #10 - 24. Июля 2008 :: 05:48
Печать  
JohnyDeath писал(а) 24. Июля 2008 :: 05:41:
Потому что у тебя нет в таблице поля ОборотыТМЦ.Документ, у тебя есть: ОборотыТМЦ.ПозицияДокумента


группирую по ОборотыТМЦ.ПозицияДокумента и тогда ругается так Печаль
Column 'ОборотыТМЦ.ВидДокумента' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #11 - 24. Июля 2008 :: 08:41
Печать  
pavlo писал(а) 24. Июля 2008 :: 05:48:
группирую по ОборотыТМЦ.ПозицияДокумента и тогда ругается так Печаль
Column 'ОборотыТМЦ.ВидДокумента' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

А зачем вообще группируешь? Чего хочешь получить от запроса???
  
Наверх
ICQ  
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #12 - 24. Июля 2008 :: 11:56
Печать  
так я же пишу, что хочу получить в итоге остатки на начало, приход, расход и остатки на конец.
группировка Фирма-Склад-ТМЦ-Документы движения
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
pavlo
1c++ donor
1c++ power user
Отсутствует



Сообщений: 712
Местоположение: г. Новосибирск
Зарегистрирован: 10. Ноября 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #13 - 25. Июля 2008 :: 03:11
Печать  
ну не ужеле никто не может помочь?  Плачущий
  

1с++     3.2.4.1
Formex  2.0.5.99b
Наверх
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Отчет Ведомость по Остаткам прямым запросом!
Ответ #14 - 25. Июля 2008 :: 07:10
Печать  
Убери summ() и группировки. Или вынеси их во внешний запрос
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать