Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ (число прочтений - 4157 )
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
25. Сентября 2009 :: 06:01
Печать  
Переделываю обычный запрос в отчете Акт сверки с контрагентами. Отчет по регисту. Написал прямой запрос:
           |SELECT
           |      РегВзаиморасч.Заказ  AS [Заказ $Документ],
           |      РегВзаиморасч.ИтогПоЗаказам,
           |      РегВзаиморасч.СуммаНачОст,
           |      РегВзаиморасч.СуммаПриход,
           |      РегВзаиморасч.СуммаРасход,
           |      РегВзаиморасч.СуммаКонОст
           |FROM
           |      (
           |      SELECT
           |            Рег.Заказ AS Заказ,
           |            GROUPING(Рег.Заказ) AS ИтогПоЗаказам,
           |            SUM(Рег.СуммаНачальныйОстаток) AS СуммаНачОст,
           |            SUM(Рег.СуммаПриход) AS СуммаПриход,
           |            SUM(Рег.СуммаРасход) AS СуммаРасход,
           |            SUM(Рег.СуммаКонечныйОстаток) AS СуммаКонОст
           |      FROM
           |            $РегистрОстаткиОбороты.Взаиморасчеты(:НачДата, :КонДата~, , ,, Контрагент=:ВыбКонтра1,(Контрагент, Заказ),(Сумма)) AS Рег
           |      GROUP BY Рег.Заказ WITH ROLLUP
           |      ) AS РегВзаиморасч
           |ORDER BY РегВзаиморасч.Заказ, РегВзаиморасч.ИтогПоЗаказам DESC
           |";
Данный запрос работает нормально и отображает результаты правильно. Но мне нужно отобразить еще и в разрезе документов.
Изменил я этот запрос вот так:
           |SELECT
           |      РегВзаиморасч.Заказ  AS [Заказ $Документ],
           |      RIGHT(РегВзаиморасч.ПозицияДокумента,9) AS [Документ $Документ],
           |      РегВзаиморасч.Док_вид AS [Документ_вид $ВидДокумента],
           |      РегВзаиморасч.ИтогПоЗаказам,
           |      РегВзаиморасч.ИтогПоДокументам,
           |      РегВзаиморасч.СуммаНачОст,
           |      РегВзаиморасч.СуммаПриход,
           |      РегВзаиморасч.СуммаРасход,
           |      РегВзаиморасч.СуммаКонОст
           |FROM
           |      (
           |      SELECT
           |            Рег.Заказ AS Заказ,
           |            Рег.ПозицияДокумента AS ПозицияДокумента,
           |            GROUPING(Рег.Заказ) AS ИтогПоЗаказам,
           |            GROUPING(Рег.ПозицияДокумента) AS ИтогПоДокументам,
           |            MAX(Рег.ВидДокумента) AS Док_вид,
           |            SUM(Рег.СуммаНачальныйОстаток) AS СуммаНачОст,
           |            SUM(Рег.СуммаПриход) AS СуммаПриход,
           |            SUM(Рег.СуммаРасход) AS СуммаРасход,
           |            SUM(Рег.СуммаКонечныйОстаток) AS СуммаКонОст
           |      FROM
           |            $РегистрОстаткиОбороты.Взаиморасчеты(:НачДата, :КонДата~, Документ, ,, Контрагент=:ВыбКонтра1,(Контрагент, Заказ),(Сумма)) AS Рег
           |      GROUP BY Рег.Заказ, Рег.ПозицияДокумента WITH ROLLUP
           |      ) AS РегВзаиморасч
           |ORDER BY РегВзаиморасч.Заказ, РегВзаиморасч.ИтогПоЗаказам DESC, РегВзаиморасч.ПозицияДокумента DESC
           |";
В результате суммы на начало на конец отображаются не правильно. Подскажите где я что не правильно сделал?
Пробовал в ВТ изменять МетодДополнения на Движения и ДвиженияИГраницыПериода, результат не изменился.
Пробовал выполнение на 1С++ 2.5.0.7 и 3.0.1.22
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #1 - 25. Сентября 2009 :: 06:05
Печать  
Не из той же песни? http://www.1cpp.ru/forum/YaBB.pl?num=1253518527
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #2 - 25. Сентября 2009 :: 07:04
Печать  
JohnyDeath писал(а) 25. Сентября 2009 :: 06:05:
Не из той же песни? http://www.1cpp.ru/forum/YaBB.pl?num=1253518527


Похоже что не с этой оперы, пробовал я и с начала месяца, все равно не правильно. Так что вопрос актуален, может кто подскажет что в запросах не так?
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #3 - 28. Сентября 2009 :: 12:47
Печать  
Я так понял что никто не знает почему запрос в разрезе документов не правильно выполняется? Или прямые запросы по регистру в разрезе документов не доделаны? Кто-нибудь из профи в этих прямых запросах подскажите плизззз.
  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #4 - 28. Сентября 2009 :: 13:29
Печать  
Lexus писал(а) 28. Сентября 2009 :: 12:47:
Я так понял что никто не знает почему запрос в разрезе документов не правильно выполняется? Или прямые запросы по регистру в разрезе документов не доделаны? Кто-нибудь из профи в этих прямых запросах подскажите плизззз.


На начало и конец чего отображаются неправильно?
А вообще, используй лучше union по рег. Остатков и рег. Оборотов.
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #5 - 28. Сентября 2009 :: 13:51
Печать  
Цитата:
На начало и конец чего отображаются неправильно?

И на начало и на конец отображается неправильно.

Цитата:
А вообще, используй лучше union по рег. Остатков и рег. Оборотов.

А при чем здесь UNION? Для чего мне его использовать?
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #6 - 19. Октября 2009 :: 09:00
Печать  
Многоуважаемые профи по прямым запросам, кто что может сказать по моим вопросам? Ну очень нужно все отчеты переделать на прямые, а с группировками в прямых запросах я так понял не доработка? Если это не доработка то буду обходить все это другим путем, а если это ошибка в составлении прямого запроса то подскажите в чем причина.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #7 - 19. Октября 2009 :: 10:17
Печать  
Я бы стал писать все руками без виртуальных функций.


Также может тебе подойдет суммирование нарастающим итогом
было несколько веток на эту тему?
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #8 - 19. Октября 2009 :: 13:56
Печать  
Lexus писал(а) 19. Октября 2009 :: 09:00:
Многоуважаемые профи по прямым запросам, кто что может сказать по моим вопросам? Ну очень нужно все отчеты переделать на прямые, а с группировками в прямых запросах я так понял не доработка? Если это не доработка то буду обходить все это другим путем, а если это ошибка в составлении прямого запроса то подскажите в чем причина.

Попробуй выполнить свой запрос с включенной отладкой РекордСет.Отладка(1) и посмотри - во что он разворачивается. Потом потесть его в КвериАналайзере.
З.Ы. Я бы сделал тупенько, получил остаток на начало и все данные по документам. Потом уже в 1С-ке бы обработал. Можно еще попробовать нужные данные в ИндексированнуюТаблицу сложить и Группировать() с ее помощью
З.З.Ы. Ты, случаем, не с Челнов, ник больно уж напоминает работу на КамАЗ-е...
  
Наверх
ICQ  
IP записан
 
Meeshka
YaBB Newbies
*
Отсутствует


1C++ newbie

Сообщений: 4
Местоположение: Н.Новгород
Зарегистрирован: 29. Июня 2009
Пол: Мужской
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #9 - 09. Декабря 2009 :: 08:52
Печать  
Попробуй указать явно параметр после Документ
ДвиженияИГраницыПериода. А то он ведь по умолчанию кажет тебе остатки правильно только по тем периодам, где есть движения :с)
т.е.:
$РегистрОстаткиОбороты.Взаиморасчеты(:НачДата, :КонДата~, Документ,ДвиженияИГраницыПериода,...
  
Наверх
ICQ  
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: РегистрОстаткиОбороты с переодичностью ДОКУМЕНТ
Ответ #10 - 09. Декабря 2009 :: 09:01
Печать  
Meeshka писал(а) 09. Декабря 2009 :: 08:52:
Попробуй указать явно параметр после Документ
ДвиженияИГраницыПериода. А то он ведь по умолчанию кажет тебе остатки правильно только по тем периодам, где есть движения :с)
т.е.:
$РегистрОстаткиОбороты.Взаиморасчеты(:НачДата, :КонДата~, Документ,ДвиженияИГраницыПериода,...

Пробовал, не помогло.
Данную проблему решил с помощью двух запросов, первый запрос выполнил в разрезе документов, а второй без периодичности документов (в самом начале темы эти два запроса показаны). Затем результаты выводил на печатную форму с этих двух таблиц значений.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать