Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) не могу получить представление документа (число прочтений - 5910 )
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
не могу получить представление документа
16. Февраля 2011 :: 07:33
Печать  
делаю запрос по виртуальной таблице регистра остатков и оборотов с детализацией по документу движения...никак не могу получить нормальное представление этого документа....киньте в меня каким нибудь примером как это делается, заранее благодарен
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #1 - 16. Февраля 2011 :: 07:48
Печать  
просто типизируй это поле (к типу Документ) и всё
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #2 - 16. Февраля 2011 :: 08:30
Печать  
так все работает

SELECT
Выборка.Подразделение as [Подразделение $Справочник.Подразделение],
Выборка.Документ as [Документ $Документ],
Выборка.ИтогПоПодразделение as ИтогПоПодразделение,
Выборка.ИтогПоДокумент as ИтогПоДокумент,
     Выборка.КоличествоНачОст as НачОст,
     Выборка.КоличествоПриход as Прих,
     Выборка.КоличествоРасход as Расх,
     Выборка.КоличествоКонОст as КонОст
FROM
(
SELECT
Рег.Подразделение as Подразделение,
Рег.ПозицияДокумента as Документ,
GROUPING(Рег.Подразделение) as ИтогПоПодразделение,
GROUPING(Рег.ПозицияДокумента) as ИтогПоДокумент,
     SUM(Рег.КоличествоНачальныйОстаток) as КоличествоНачОст,
     SUM(Рег.КоличествоПриход) as КоличествоПриход,
     SUM(Рег.КоличествоРасход) as КоличествоРасход,
     SUM(Рег.КоличествоКонечныйОстаток) as КоличествоКонОст
FROM
     $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,:КонДата~,Документ,,
                                                     INNER JOIN _1SJOURN AS Журнал ON RIGHT(ДокументОборота, 9) = Журнал.IDDOC
                                                     INNER JOIN $Справочник.ЦепочкиДокументооборота AS ЦепочкиДокументооборота ON ЦепочкиДокументооборота.ID = Журнал.$ОбщийРеквизит.ЦепочкаДокументооборота
                                               ,
                              , (Подразделение,ДокументОборота)
                              , (Количество)) as Рег
     
GROUP BY
      Рег.Подразделение, Рег.ПозицияДокумента WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC
но в отчет попадает -   <Объект не найден>(1731732/ZPH)...и так далее
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #3 - 16. Февраля 2011 :: 08:52
Печать  
Конечно не найден.. нужно из позиции взять iddoc + либо слева прибавить ВидДокумента , либо просто поле добавить ВидДокумента как Док_вид
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #4 - 16. Февраля 2011 :: 08:58
Печать  
в этом то и проблема - не знаю куда добавить
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #5 - 16. Февраля 2011 :: 09:05
Печать  
Либо так:

Код
Выбрать все
Выборка.Документ as [Документ $Документ],
Выборка.ВидДокумента Док_вид
FROM
(
SELECT
RIGHT(Рег.ПозицияДокумента,9) Документ,
MAX(Рег.ВидДокумента) ВидДокумента 



либо так:

Код
Выбрать все
Выборка.Документ as [Документ $Документ],
FROM
(
SELECT
Рег.ВидДокумента+RIGHT(Рег.ПозицияДокумента,9) Документ,
 



  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #6 - 16. Февраля 2011 :: 09:32
Печать  

SELECT
Выборка.Подразделение as [Подразделение $Справочник.Подразделение],
Выборка.Документ as [Документ $Документ],
Выборка.ВидДокумента Док_вид,
Выборка.ИтогПоПодразделение as ИтогПоПодразделение,
Выборка.ИтогПоДокумент as ИтогПоДокумент,
     Выборка.КоличествоНачОст as НачОст,
     Выборка.КоличествоПриход as Прих,
     Выборка.КоличествоРасход as Расх,
     Выборка.КоличествоКонОст as КонОст
FROM
(
SELECT
Рег.Подразделение as Подразделение,
RIGHT(Рег.ПозицияДокумента,9) Документ,
MAX(Рег.ВидДокумента) ВидДокумента,
GROUPING(Рег.Подразделение) as ИтогПоПодразделение,
GROUPING(Рег.ПозицияДокумента) as ИтогПоДокумент,
     SUM(Рег.КоличествоНачальныйОстаток) as КоличествоНачОст,
     SUM(Рег.КоличествоПриход) as КоличествоПриход,
     SUM(Рег.КоличествоРасход) as КоличествоРасход,
     SUM(Рег.КоличествоКонечныйОстаток) as КоличествоКонОст
FROM
     $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,:КонДата~,Документ,,
                                                     INNER JOIN _1SJOURN AS Журнал ON RIGHT(ДокументОборота, 9) = Журнал.IDDOC
                                                     INNER JOIN $Справочник.ЦепочкиДокументооборота AS ЦепочкиДокументооборота ON ЦепочкиДокументооборота.ID = Журнал.$ОбщийРеквизит.ЦепочкаДокументооборота
                                               ,
                              , (Подразделение,ДокументОборота)
                              , (Количество)) as Рег
     
GROUP BY
      Рег.Подразделение WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC

тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\WORKINGNEW\ВЕДОМОСТЬПОДОКУМЕНТООБОРОТУSQL.ERT(379)}: State 42000, native 8161, message [Microsoft][ODBC SQL Server Driver][SQL Server]A grouping function argument does not match any of the expressions in the GROUP BY clause. по второму способу тоже ошибка выскакивает
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #7 - 16. Февраля 2011 :: 09:44
Печать  
Ну дык.. у тебя group by Рег.Подразделение стоит, ясен пень, что после этого в табличке уже нет Рег.Документ и Рег.ВидДокумента..
Улыбка
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #8 - 16. Февраля 2011 :: 10:01
Печать  
простите, а как должно быть?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #9 - 16. Февраля 2011 :: 10:10
Печать  
Добавь в group by документ свой еще.. (или выражение для второго варианта)
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #10 - 16. Февраля 2011 :: 10:16
Печать  
GROUP BY
      Рег.Подразделение, RIGHT(Рег.ПозицияДокумента,9) WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC

тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\WORKINGNEW\ВЕДОМОСТЬПОДОКУМЕНТООБОРОТУSQL.ERT(379)}: State 42000, native 8161, message [Microsoft][ODBC SQL Server Driver][SQL Server]A grouping function argument does not match any of the expressions in the GROUP BY clause.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #11 - 16. Февраля 2011 :: 10:28
Печать  
в гроуппинг измени тоже
ты же в итоговой строке (для роул ап)  должен тоже idd поиметь, а не позицию.
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #12 - 16. Февраля 2011 :: 10:38
Печать  
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\WORKINGNEW\ВЕДОМОСТЬПОДОКУМЕНТООБОРОТУSQL.ERT(379)}: Для типизации поля "Документ", не найдено дополнительное типизирующее поле.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #13 - 16. Февраля 2011 :: 10:41
Печать  
JBoy писал(а) 16. Февраля 2011 :: 10:38:
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\WORKINGNEW\ВЕДОМОСТЬПОДОКУМЕНТООБОРОТУSQL.ERT(379)}: Для типизации поля "Документ", не найдено дополнительное типизирующее поле.


ты текст запроса приведи хоть
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #14 - 16. Февраля 2011 :: 10:42
Печать  
сейчас снова попробовал 2-й вариант
SELECT
Выборка.Подразделение as [Подразделение $Справочник.Подразделение],
Выборка.Документ as [Документ $Документ],
Выборка.ИтогПоПодразделение as ИтогПоПодразделение,
Выборка.ИтогПоДокумент as ИтогПоДокумент,
     Выборка.КоличествоНачОст as НачОст,
     Выборка.КоличествоПриход as Прих,
     Выборка.КоличествоРасход as Расх,
     Выборка.КоличествоКонОст as КонОст
FROM
(
SELECT
Рег.Подразделение as Подразделение,
Рег.ВидДокумента+RIGHT(Рег.ПозицияДокумента,9) Документ,
GROUPING(Рег.Подразделение) as ИтогПоПодразделение,
GROUPING(Рег.ВидДокумента+RIGHT(Рег.ПозицияДокумента,9)) as ИтогПоДокумент,
     SUM(Рег.КоличествоНачальныйОстаток) as КоличествоНачОст,
     SUM(Рег.КоличествоПриход) as КоличествоПриход,
     SUM(Рег.КоличествоРасход) as КоличествоРасход,
     SUM(Рег.КоличествоКонечныйОстаток) as КоличествоКонОст
FROM
     $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,:КонДата~,Документ,,
                                                     INNER JOIN _1SJOURN AS Журнал ON RIGHT(ДокументОборота, 9) = Журнал.IDDOC
                                                     INNER JOIN $Справочник.ЦепочкиДокументооборота AS ЦепочкиДокументооборота ON ЦепочкиДокументооборота.ID = Журнал.$ОбщийРеквизит.ЦепочкаДокументооборота
                                               ,
                              , (Подразделение,ДокументОборота)
                              , (Количество)) as Рег
     
GROUP BY
      Рег.Подразделение, Рег.ВидДокумента+RIGHT(Рег.ПозицияДокумента,9) WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC

тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\WORKINGNEW\ВЕДОМОСТЬПОДОКУМЕНТООБОРОТУSQL.ERT(379)}: State 22018, native 245, message [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '  EEVK   ' to a column of data type int.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #15 - 16. Февраля 2011 :: 10:47
Печать  
Код
Выбрать все
SELECT
Выборка.Документ  [Документ $Документ],
Выборка.ВидДокумента Док_вид,

FROM
(
SELECT
RIGHT(Рег.ПозицияДокумента,9) Документ,
max(Рег.ВидДокумента) ВидДокумента
GROUPING(RIGHT(Рег.ПозицияДокумента,9)) as ИтогПоДокумент,
..........
FROM
 ...........    
GROUP BY
	Рег.Подразделение, RIGHT(Рег.ПозицияДокумента,9) WITH ROLLUP
) as Выборка 


  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #16 - 16. Февраля 2011 :: 11:40
Печать  
SELECT
Выборка.Подразделение as [Подразделение $Справочник.Подразделение],
Выборка.Документ as [Документ $Документ],
Выборка.ВидДокумента Док_вид,
Выборка.ИтогПоПодразделение as ИтогПоПодразделение,
Выборка.ИтогПоДокумент as ИтогПоДокумент,
     Выборка.КоличествоНачОст as НачОст,
     Выборка.КоличествоПриход as Прих,
     Выборка.КоличествоРасход as Расх,
     Выборка.КоличествоКонОст as КонОст
FROM
(
SELECT
Рег.Подразделение as Подразделение,
RIGHT(Рег.ПозицияДокумента,9) Документ,
MAX(Рег.ВидДокумента) ВидДокумента,
GROUPING(Рег.Подразделение) as ИтогПоПодразделение,
GROUPING(RIGHT(Рег.ПозицияДокумента,9)) as ИтогПоДокумент,
     SUM(Рег.КоличествоНачальныйОстаток) as КоличествоНачОст,
     SUM(Рег.КоличествоПриход) as КоличествоПриход,
     SUM(Рег.КоличествоРасход) as КоличествоРасход,
     SUM(Рег.КоличествоКонечныйОстаток) as КоличествоКонОст
FROM
     $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,:КонДата~,Документ,,
                                                     INNER JOIN _1SJOURN AS Журнал ON RIGHT(ДокументОборота, 9) = Журнал.IDDOC
                                                     INNER JOIN $Справочник.ЦепочкиДокументооборота AS ЦепочкиДокументооборота ON ЦепочкиДокументооборота.ID = Журнал.$ОбщийРеквизит.ЦепочкаДокументооборота
                                               ,
                              , (Подразделение,ДокументОборота)
                              , (Количество)) as Рег
     
GROUP BY
      Рег.Подразделение, RIGHT(Рег.ПозицияДокумента,9) WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC

тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
{C:\WORKINGNEW\ВЕДОМОСТЬПОДОКУМЕНТООБОРОТУSQL.ERT(379)}: Для типизации поля "Документ", не найдено дополнительное типизирующее поле.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #17 - 16. Февраля 2011 :: 12:11
Печать  
Выборка.Документ as [Док $Документ],

Код
Выбрать все
SELECT
Выборка.Подразделение as [Подразделение $Справочник.Подразделение],
Выборка.Документ as [Док $Документ],
Выборка.ВидДокумента Док_вид,
Выборка.ИтогПоПодразделение as ИтогПоПодразделение,
Выборка.ИтогПоДокумент as ИтогПоДокумент,
     Выборка.КоличествоНачОст as НачОст,
     Выборка.КоличествоПриход as Прих,
     Выборка.КоличествоРасход as Расх,
     Выборка.КоличествоКонОст as КонОст
FROM
(
SELECT
Рег.Подразделение as Подразделение,
RIGHT(Рег.ПозицияДокумента,9) Документ,
MAX(Рег.ВидДокумента) ВидДокумента,
GROUPING(Рег.Подразделение) as ИтогПоПодразделение,
GROUPING(Рег.ПозицияДокумента) as ИтогПоДокумент,
     SUM(Рег.КоличествоНачальныйОстаток) as КоличествоНачОст,
     SUM(Рег.КоличествоПриход) as КоличествоПриход,
     SUM(Рег.КоличествоРасход) as КоличествоРасход,
     SUM(Рег.КоличествоКонечныйОстаток) as КоличествоКонОст
FROM
     $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,:КонДата~,Документ,,
								     INNER JOIN _1SJOURN AS Журнал ON RIGHT(ДокументОборота, 9) = Журнал.IDDOC
								     INNER JOIN $Справочник.ЦепочкиДокументооборота AS ЦепочкиДокументооборота ON ЦепочкиДокументооборота.ID = Журнал.$ОбщийРеквизит.ЦепочкаДокументооборота
							     ,
					, (Подразделение,ДокументОборота)
					, (Количество)) as Рег

GROUP BY
	Рег.Подразделение, Рег.ПозицияДокумента WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC 

  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #18 - 16. Февраля 2011 :: 12:24
Печать  

SELECT
Выборка.Подразделение as [Подразделение $Справочник.Подразделение],
Выборка.Документ as [Док $Документ],
Выборка.ВидДокумента Док_вид,
Выборка.ИтогПоПодразделение as ИтогПоПодразделение,
Выборка.ИтогПоДокумент as ИтогПоДокумент,
     Выборка.КоличествоНачОст as НачОст,
     Выборка.КоличествоПриход as Прих,
     Выборка.КоличествоРасход as Расх,
     Выборка.КоличествоКонОст as КонОст
FROM
(
SELECT
Рег.Подразделение as Подразделение,
RIGHT(Рег.ПозицияДокумента,9) Документ,
MAX(Рег.ВидДокумента) ВидДокумента,
GROUPING(Рег.Подразделение) as ИтогПоПодразделение,
GROUPING(Рег.ПозицияДокумента) as ИтогПоДокумент,
     SUM(Рег.КоличествоНачальныйОстаток) as КоличествоНачОст,
     SUM(Рег.КоличествоПриход) as КоличествоПриход,
     SUM(Рег.КоличествоРасход) as КоличествоРасход,
     SUM(Рег.КоличествоКонечныйОстаток) as КоличествоКонОст
FROM
     $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,:КонДата~,Документ,,
                                                     INNER JOIN _1SJOURN AS Журнал ON RIGHT(ДокументОборота, 9) = Журнал.IDDOC
                                                     INNER JOIN $Справочник.ЦепочкиДокументооборота AS ЦепочкиДокументооборота ON ЦепочкиДокументооборота.ID = Журнал.$ОбщийРеквизит.ЦепочкаДокументооборота
                                               ,
                              , (Подразделение,ДокументОборота)
                              , (Количество)) as Рег
     
GROUP BY
      Рег.Подразделение, Рег.ПозицияДокумента WITH ROLLUP
) as Выборка
ORDER BY
Выборка.Подразделение,
Выборка.Документ,
Выборка.ИтогПоПодразделение DESC,
Выборка.ИтогПоДокумент DESC
запрос выполнился, но вместо представлений снова <объект не найден>.....
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #19 - 16. Февраля 2011 :: 12:48
Печать  
1.зачем тебе в ВТ получать ДокументОборота, если ты его потом нигде не используешь ?
2. Мот их того, и нет ужо в базе твоей ?
непосредственным удалением никто не баловался ?

Точнее, их железобетонно нет в базе..
Запусти тесты проверки 1sjourn и регистров на предмет битых ссылок.

ЗЫ: надеюсь, запрос к родной базе выполняешь ?
или пытаешься типизировать объекты  сторонней базы ? Улыбка)
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #20 - 16. Февраля 2011 :: 12:57
Печать  
ларчик просто открывался - сначала Выборка.ВидДокумента Док_вид, затем Выборка.Документ as [Док $Документ]...и все заработало
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #21 - 16. Февраля 2011 :: 12:59
Печать  
1. на самом деле запрос намного сложнее - группировки и их порядок формируется динамически, а также различные условия...
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: не могу получить представление документа
Ответ #22 - 16. Февраля 2011 :: 13:10
Печать  
JBoy писал(а) 16. Февраля 2011 :: 12:57:
ларчик просто открывался - сначала Выборка.ВидДокумента Док_вид, затем Выборка.Документ as [Док $Документ]...и все заработало


От порядка следования это не зависит..
А вот объект не найден есть только в том случае, если документ с таким iddoc в _1sjourn/dh/dt отсутствует
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #23 - 16. Февраля 2011 :: 13:16
Печать  
ну по крайней мере все заработало, остается проверить результаты с результатами регпринта
  
Наверх
 
IP записан
 
JBoy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #24 - 16. Февраля 2011 :: 14:55
Печать  
теперь обнаружилась интересная вещь - когда используется группировка по документам движения, непонятно откуда появляются начальные остатки...хотя их быть не должно
  
Наверх
 
IP записан
 
leshik
1c++ donor
Отсутствует



Сообщений: 820
Местоположение: Пятигорск
Зарегистрирован: 22. Апреля 2007
Пол: Мужской
Re: не могу получить представление документа
Ответ #25 - 16. Февраля 2011 :: 15:10
Печать  
JBoy писал(а) 16. Февраля 2011 :: 14:55:
теперь обнаружилась интересная вещь - когда используется группировка по документам движения, непонятно откуда появляются начальные остатки...хотя их быть не должно


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


1C++ rocks!

Сообщений: 52
Зарегистрирован: 29. Декабря 2010
Re: не могу получить представление документа
Ответ #26 - 16. Февраля 2011 :: 15:26
Печать  
вот запрос
     |SELECT Рег.Подразделение [Подразделение $Справочник.Подразделение]
     |      , RIGHT(Рег.ПозицияДокумента, 9) [Док $Документ]
     |      , (MAX(Рег.ВидДокумента)) Док_вид
     |      , (GROUPING(Рег.Подразделение)) ИтогПодр
     |      , (GROUPING(Рег.ПозицияДокумента)) ИтогДок
     |      , Sum(Рег.КоличествоНачальныйОстаток) СуммаКоличествоНачальныйОстаток
     |      , Sum(Рег.КоличествоПриход) СуммаКоличествоПриход
     |      , Sum(Рег.КоличествоРасход) СуммаКоличествоРасход
     |      , Sum(Рег.КоличествоКонечныйОстаток) СуммаКоличествоКонечныйОстаток
     |FROM $РегистрОстаткиОбороты.ДокументоОборот(:НачДата,
     |            :КонДата,
     |            Документ,
     |            Движения,,,
     |            Подразделение,) AS Рег
     |GROUP BY Рег.Подразделение
     |      , Рег.ПозицияДокумента
     |      WITH ROLLUP      
он выдает начальные остатки, хотя их не должно быть...конечные естественно тоже ошибочны....делать юнион специально для начальных и конечных остатков?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать