Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Бухитоги в DBF (число прочтений - 2527 )
КилоГрамм
Senior Member
****
Отсутствует


Таити, Таити...

Сообщений: 434
Зарегистрирован: 14. Июня 2006
Пол: Мужской
Бухитоги в DBF
25. Июня 2006 :: 07:17
Печать  
1.О бухитогах вообще - это «бедный родственник», несмотря на их огромное количество
Например автор конструктора SQL запросов на мой вопрос о неприятии БИ ответил:
Цитата:
По поводу бухитогов: мне они не интересны. Но, если их поддержка (напр. в виде ВТ) появится в 1С++, всё это появится и в конструкторе.

Попыток хоть как-то систематизировать запрос к бухитогам я нашел только две: БыстрыеИтоги и БИSQL.
2.О запросе к бухитогам в DBF – это вообще «пасынок бедного родственника», а их количество вообще несоизмеримо со всеми родственниками «1С Предприятие»
Здесь только одна попытка: БИSQL, которая в том виде, как она есть, в DBF не работает. а только после ряда исправлений: замена имен таблиц с «_1SBKTTL» и «_1SEntry» на «1SBKTTL» и «1SEntry» соответственно, приведение типов остатков и оборотов к типу «число» (в таблицах они имеют тип «строка»). И даже после того, как запрос заработает, он вряд ли сможет удовлетворить всем потребностям.
Из всего вышеизложенного я для себя сделал следующие выводы:
1.Писать тест запроса необходимо ручками самому, а не ждать, когда добрый дядя приподнесет готовое на блюдечке. От самостоятельных тренингов ничего кроме пользы нет.
2.Даже если есть какой-то готовый инструмент типа «БИSQL», он не сможет удовлетворить все потребности, поэтому писать нужно для каждого конкретного случая отдельно, а не «цитировать» какие-то «шаблоны» - это может отнять больше времени и сил.
ИТОГ: тема «Бухитоги в DBF« ждет своего развития.
  

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


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Мая 2008
Re: Бухитоги в DBF
Ответ #1 - 25. Мая 2008 :: 09:57
Печать  
Как ваши успехи в развитии данной темы?  Смущённый
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Бухитоги в DBF
Ответ #2 - 26. Мая 2008 :: 17:06
Печать  
Ничего невозможного нет, елси что то есть - оно возможно. Что конкретно интересует? Какой отчет, какие данные надо получить?
  
Наверх
IP записан
 
Pilokarpios
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Мая 2008
Re: Бухитоги в DBF
Ответ #3 - 27. Мая 2008 :: 11:25
Печать  
pvase писал(а) 26. Мая 2008 :: 17:06:
Ничего невозможного нет, елси что то есть - оно возможно. Что конкретно интересует? Какой отчет, какие данные надо получить?


http://www.1cpp.ru/forum/YaBB.pl?num=1211377364/15#15
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Бухитоги в DBF
Ответ #4 - 27. Мая 2008 :: 14:56
Печать  
По сумме примерно так (на 25.05.2008, т.е. получаем на начало квартала+Оборот за первый месяц квартала + обороты из проводок за период меньше месяца):
Код
Выбрать все
SELECT

	TMP.Счет,

	TMP.Субконто1,

	SUM(TMP.СНД) AS СНД,

	SUM(TMP.СНК) AS СНК,

	SUM(TMP.ДО) AS ДО,

	SUM(TMP.КО) AS КО,

	SUM(CASE WHEN (TMP.АП = 1) OR ((TMP.АП = 3) AND (TMP.СНД-TMP.СНК+TMP.ДО-TMP.КО >=0)) THEN TMP.СНД-TMP.СНК+TMP.ДО-TMP.КО ELSE 0 END) AS СКД,

	SUM(CASE WHEN (TMP.АП = 2) OR ((TMP.АП = 3) AND (TMP.СНД-TMP.СНК+TMP.ДО-TMP.КО <0)) THEN -(TMP.СНД-TMP.СНК+TMP.ДО-TMP.КО) ELSE 0 END) AS СКК

FROM

(

SELECT

	TabSch.SCHKOD As Счет,

	TabSch.ACTIVE AS АП,

	TabIt.SC0 AS Субконто1,

	SUM(CASE WHEN (TabSch.ACTIVE = 1) OR ((TabSch.ACTIVE = 3) AND (TabIt.SD >=0)) THEN TabIt.SD ELSE 0 END) AS СНД,

	SUM(CASE WHEN (TabSch.ACTIVE = 2) OR ((TabSch.ACTIVE = 3) AND (TabIt.SD <0)) THEN -TabIt.SD ELSE 0 END) AS СНК,

	SUM(TabIt.OBDT1) AS ДО,

	SUM(TabIt.OBKT1) AS КО



FROM

	_1SBKTTL AS TabIt (NOLOCK)

	INNER JOIN _1SACCS AS TabSch (NOLOCK) ON (TabIt.ACCID = TabSch.ID)

WHERE

	(TabIt.DATE = '20080401')

	AND (TabIt.KIND = 1)

	AND (TabSch.SCHKOD = '36.1.     ')

GROUP BY

	TabSch.SCHKOD,

	TabSch.ACTIVE,

	TabIt.SC0

UNION ALL

SELECT

	TabSch.SCHKOD AS Счет,
	  TabSch.ACTIVE AS АП,
	  TabProv.DTSC0 AS Субконто1,
	  0 AS СНД,
	  0 AS СНК,
	TabProv.SUM_ AS ДО,
	  0 AS КО


FROM _1SENTRY AS TabProv (NOLOCK)

	INNER JOIN _1SACCS AS TabSch (NOLOCK) ON ((TabProv.ACCDTID = TabSch.ID))

	INNER JOIN _1SJOURN AS TabJ (NOLOCK) ON (TabJ.IDDOC = TabProv.DOCID)

WHERE

	TabProv.DATE_TIME_DOCID >= '20080501'

	AND TabProv.DATE_TIME_DOCID <= '20080525'

	AND TabProv.ACTIVE = ' '

	AND TabSch.SCHKOD = '36.1.     '


) AS TMP

GROUP BY

	TMP.Счет,

	TMP.Субконто1

ORDER BY

	TMP.Счет,

	TMP.Субконто1
 


Если по количеству тогда надо смотреть на Kind. Для лучшего понимания читай здесь:
http://metaprog.co.ua/secrprog/buh_s.html
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать