v7: 1c++: получить за период обороты по реквизитам регистра с группировкой по дням #587524


#0 by dk
Исходные: 1С++, 1С 7.7 Регистр ТОварыНАскладах 2 реквизита Оборот и Списание измерение товар Хочу получить обороты по реквизитам с группировкой по дням например .... Пока наваял через конструктор но матерится qryConsole : State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'Оборот'.
#1 by Mikeware
и?
#2 by dk
вообще исходная задача чуть шире - надо получить средние продажи за период, т.е. определить дни присутствия / продаж товара на складе и поделить сумму продаж за период на дни присутствия. может кто уже решал подобное
#3 by Гефест
В ВТ вроде нет реквизитов?
#4 by dk
>но матерится qryConsole : State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'Оборот'.
#5 by dk
их нет из-за группировки день?
#6 by Гефест
Их совсем нет. Сроду не завозили
#7 by dk
куда они из оборотов-то делись? )
#8 by Гефест
Из оборотов никуда не девались, а в ВТ Обороты их нет
#10 by dk
тогда возвращаемся к теме как получить обороты по реквизиту с группировкой по дням?
#12 by Mikeware
Я решал.
#13 by Гефест
Запросом к реальной таблице оборотов регистра. А там уже группируй как хочешь
#14 by Mikeware
"оборот по реквизиту" - не понял нифига
#15 by dk
конструктор показывает, что есть реквизиты в ВТ по оборотам, врет?
#16 by viktor_vv
Уточню, точно имеются ввиду реквизиты, а не ресурсы ?
#17 by ado
Может, все-таки по измерению?
#18 by dk
реквизиты по реквизиту
#19 by Гефест
Значит врет
#20 by ado
Да не, не врет. А вот автор врет. То что он написал конструктор выдать не мог.
#21 by ado
Стоп, стоп, "Оборот" и "Списани" -- это что, названия реквизитов?
#22 by dk
я токмо суммы добавил покажи как правильно, раз я вру
#23 by dk
да, читаем
#24 by ado
Для начала, нарисуй структуру регистра, как она есть в конфигураторе. И уточни, оборотный он, или остаточный.
#25 by dk
измерения: товар склад ... ресурсы: Колво вес ... реквизиты:
#26 by Mikeware
все равно я нифига не понял. что ты в них хранишь, в этих реквизитах?
#27 by dk
конфа такая, себестоимость и сумма продаж там.
#28 by viktor_vv
Как-то так. SELECT top 100 FROM $Регистр.ТоварыПоСкладам AS ТоварыПоСкладамОбороты (nolock) Left join _1Sjourn as Ж (nolock) on Ж.IDDOC = ТоварыПоСкладамОбороты.IDDOC Where Ж.Date_Time_IDDOC between :НачДата and :КонДата~ или inner join , не могу до конца понять, как лучше. Это если не стоит флаг "Быстрая обработка движений", если стоит, то журнал не нужен, Left(ТоварыПоСкладамОбороты.Date_Time_IDDOC,8)
#29 by dk
вроде разобрался уже через простой регистр
#30 by Mikeware
#31 by dk
NullIf(Cast(Left(ТоварыПоСкладам.DATE_TIME_IDDOC, 8) AS datetime), '17530101') хз конструктор наваял а min - это для будующего union с остатками
#32 by toypaul
а в toysql без проблем :)
#33 by Ёпрст
юнион в селект листе ? ну-ну..
#34 by dk
а все оказалось напрасно ( долбаный 1с++ такую лажу возвращает из ВТ по остаткам на каждый день
#35 by Ёпрст
а при чем тут остатки ? :)
#36 by ado
А ты, небось, еще и остатки по реквизитам получить хочешь? ;-)
#37 by AeDen
+ и причем тут 1С++?
#38 by viktor_vv
А метод дополнения небось ДвиженияИГраницыПериода ?
#39 by dk
Средние продажи нужны - дополнительно остатки по каждому дню считаю через ---- проверял оба, оба лажу показывают
#40 by viktor_vv
+ Хотя для периодичности День метод дополнения неважен.
#41 by viktor_vv
В чем лада заключается ? И группировать не надо, укажи в параметрах по каким измерениям считать. ВТ вернет уже свернутую нормально.
#42 by dk
остатки вообще неадекватные возвращает
#43 by viktor_vv
:КонДата~
#44 by ado
А что такое "ОстатокТовараКонечныйОстаток"? Я в не вижу ресурса с названием ОстатокТовара
#45 by viktor_vv
#46 by dk
пофигу, я же за период смотрю, а не на последнюю дату
#47 by dk
он есть там ... )
#48 by viktor_vv
Ну это повлияет только на последний день периода. А так не знаю, где ты смотришь адекватные остатки, у меня нормально показывает.
#49 by dk
сравнивал с regprint и с ВТ остатки на заданную дату regprint и ВТ остатки показывали правильный остаток, ВТОстаткиОбороты фигню
#50 by viktor_vv
Ну ХЗ. Сравнивал с тем же регпринтом, все нормально. Ты бы все-таки прописал измерение в параметры ВТ убрал Group by и убрал NullIf(ТовОстаткиОбороты.Период, '17530101'), оставив ТовОстаткиОбороты.Период, от греха подальше.
#51 by dk
если еще интересно тек версия 1С++ 3.2.1.0 ВТ остаткиобороты без группировки - несколько записей на 1 дату ВТ остаткиобороты с группировкой - обороты вроде идут, остатки левые ВТ остатки regprint
#52 by Ёпрст
ёпта, перечисли наконец список нужных измерений унутри ВТ.
#53 by ЧеловекДуши
Вот, держи функцию... может поможет Позволяет из строки дату получить в нужном разрезе :)        |create FUNCTION  "+ФункПР+"( @len1 varchar, @len2 int) RETURNS datetime
#54 by Ёпрст
и остатки не левые, нужно всего лишь прибавить приход-расход к предыдущему итогу.
#55 by dk
точно, помогло, спасибо
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С