Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 17 ОтправитьПечать
Очень популярная тема (более 25 ответов) AccountsRecordset v3.17. Прямые запросы к БИ. (число прочтений - 137637 )
g00d
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 68
Зарегистрирован: 13. Ноября 2006
Re: AccountsRecordset v3.03. Прямые запросы к БИ.
Ответ #90 - 02. Апреля 2009 :: 11:54
Печать  
berezdetsky писал(а) 01. Апреля 2009 :: 18:41:
Будь осторожнее с недокументированными возможностями  Подмигивание  - БИОборотыДтКт не всегда строится по проводкам.

а можно добавить функционал ?
что для оборотных запросов  строящихся на таблице проводок, можно было запрашивать реквизиты проводок
надо добавить выделенное красным, при наличии в запросе $РеквизитПроводки.*

либо при наличии запроса $РеквизитПроводки.*
собирать данные только через таблицу проводок


к примеру для такого запроса
           | select  
           |        Основной.Субконто1 [Субконто1 $Субконто]
           |      , Основной.Субконто1_вид
           |      , Основной.СуммаОборот as Факт
           |      , $РеквизитПроводки.РеквизитПроводки as СтатусПроводки
           | FROM $БИОборотыДтКт.Основной(:НачДата, :КонДата~,,,,,,) AS Основной


select  
       Основной.СубконтоДт1 [СубконтоДт1 $Субконто]
     , Основной.СубконтоДт1_вид
     , 0 as План
     , Основной.СуммаОборот as Факт
     ,Основной. РеквизитПроводки as РеквизитПроводки  
FROM (SELECT РазделительУчета
     , Валюта
     , СчетДт
     , СчетКт
     , СубконтоДт1, СубконтоДт1_вид, СубконтоДт2, СубконтоДт2_вид, СубконтоДт3, СубконтоДт3_вид, СубконтоКт1, СубконтоКт1_вид, СубконтоКт2, СубконтоКт2_вид, СубконтоКт3, СубконтоКт3_вид
     , РеквизитПроводки
     , Sum(СуммаОборот) СуммаОборот
     , Sum(ВалютнаяСуммаОборот) ВалютнаяСуммаОборот
     , Sum(КоличествоОборот) КоличествоОборот
     
FROM (
     SELECT _1SENTRY_vt.SP5124 РазделительУчета
           , _1SENTRY_vt.CURRID Валюта
           , _1SENTRY_vt.ACCDTID СчетДт
           , _1SENTRY_vt.ACCKTID СчетКт
           , _1SENTRY_vt.DTSC0 СубконтоДт1, _1SENTRY_vt.VDTSC0 СубконтоДт1_вид, _1SENTRY_vt.DTSC1 СубконтоДт2, _1SENTRY_vt.VDTSC1 СубконтоДт2_вид, _1SENTRY_vt.DTSC2 СубконтоДт3, _1SENTRY_vt.VDTSC2 СубконтоДт3_вид, _1SENTRY_vt.KTSC0 СубконтоКт1, _1SENTRY_vt.VKTSC0 СубконтоКт1_вид, _1SENTRY_vt.KTSC1 СубконтоКт2, _1SENTRY_vt.VKTSC1 СубконтоКт2_вид, _1SENTRY_vt.KTSC2 СубконтоКт3, _1SENTRY_vt.VKTSC2 СубконтоКт3_вид
           , _1SENTRY_vt.SP8968 РеквизитПроводки
           , _1SENTRY_vt.SUM_ СуммаОборот
           , _1SENTRY_vt.CURSUM ВалютнаяСуммаОборот
           , _1SENTRY_vt.AMOUNT КоличествоОборот
           
     FROM _1SENTRY AS _1SENTRY_vt WITH (NOLOCK)
           
     WHERE (_1SENTRY_vt.ACTIVE = ' ')
           AND (_1SENTRY_vt.PROVKIND = ' ')
AND ((_1SENTRY_vt.KTSC0 is not null or _1SENTRY_vt.DTSC0 is not null )) AND (_1SENTRY_vt.DATE_TIME_DOCID Between '20090401' AND '20090401Z')
) sq_vt
GROUP BY РазделительУчета, СчетДт, СчетКт, Валюта, СубконтоДт1, СубконтоДт1_вид, СубконтоДт2, СубконтоДт2_вид, СубконтоДт3, СубконтоДт3_вид, СубконтоКт1, СубконтоКт1_вид, СубконтоКт2, СубконтоКт2_вид, СубконтоКт3, СубконтоКт3_вид, РеквизитПроводки
HAVING (Sum(СуммаОборот) <> 0)
     OR (Sum(ВалютнаяСуммаОборот) <> 0)
     OR (Sum(КоличествоОборот) <> 0)
) AS Основной


  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.03. Прямые запросы к БИ.
Ответ #91 - 02. Апреля 2009 :: 12:43
Печать  
Реквизиты проводок штатно присутствуют в ВТ БИДвиженияССубконто.

g00d писал(а) 02. Апреля 2009 :: 11:54:
Код
Выбрать все
AND (_1SENTRY_vt.KTSC0 is not null or _1SENTRY_vt.DTSC0 is not null ) 


В этих полях не может быть null.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
g00d
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 68
Зарегистрирован: 13. Ноября 2006
Re: AccountsRecordset v3.03. Прямые запросы к БИ.
Ответ #92 - 02. Апреля 2009 :: 13:12
Печать  
berezdetsky писал(а) 02. Апреля 2009 :: 12:43:
Реквизиты проводок штатно присутствуют в ВТ БИДвиженияССубконто.


понятно, нет так нет

berezdetsky писал(а) 02. Апреля 2009 :: 12:43:
В этих полях не может быть null.

я знаю, это условие ни на что не влияющее (как вариант делаю СубконтоДт1=СубконтоДт1 )
условие я ставлю специально,
что бы потом было легко добавлять условия зависящие от опций (не надо отслеживать and)
например в условии
Код
Выбрать все
|СубконтоДт1 =СубконтоДт1
|"+?(ОтборСубконтоКт.GetListSize()>0," and (СубконтоКт1 in (select val from #ОтборСубконтоКт))","")+"
|"+?(ОтборСубконтоДт.GetListSize()>0," and (СубконтоДт1 in (select val from #ОтборСубконтоДт))","")+"
|"+?(СтатусПроводки=0,""," and ($РеквизитПроводки.СтатусПроводки =1)")+"
|"+?(ОтбПодр=1," and (РазделительУчета =:Подразд)","")+"
  




  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #93 - 21. Апреля 2009 :: 03:51
Печать  
2 berezdetsky
В методе УложитьСписокГрупп есть одна небольшая проблемка. При укладке объектов "Счет" при указании вида объектов выполняется код:
Код
Выбрать все
set nocount on
insert %tmp
select a2.id
from %tmp
inner join _1saccs a1 with (nolock) on a1.id = %tmp.val
left join _1saccs a2 with (nolock) on left(a2.schkod, len(a1.schkod)) = a1.schkod
where (a2.isfolder = 1) and (a2.planid = %pid) and (a2.id not in (select val from %tmp))
set nocount off 



Но дело в том что в таблице _1saccs на сколько я в курсе признак isfolder - это признак "может ли счет иметь субсчета", т.е. 0 - не может, 1 - может. В твоем случае проверка стоит на = 1, следовательно в отбор сами субсчета не попадают. Надо наверное все таки проверку = 0.

Пы.сы. я переписал твой код в свой класс (скопировал по просту говоря) и у себя это обнаружил. Если я не прав, прошу не сильно пинать ногами.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #94 - 21. Апреля 2009 :: 07:26
Печать  
Собственно, поэтому метод и называется УложитьСписокГруппПодмигивание
Просто уложить список счетов можно и штатным УложитьСписокОбъектов.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #95 - 21. Апреля 2009 :: 08:57
Печать  
АААААААААА..... блин я не понял  Очень довольный
Изивини за беспокойство.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #96 - 23. Апреля 2009 :: 10:49
Печать  
напсал такой запрос как Вид дока увидеть

     |      select    Документ [док $Документ]
     |,СубконтоКТ1 [СубконтоКТ1 $Субконто]
     |     , СубконтоКТ1_вид as СубконтоКТ1_вид  
     |      ,СодержаниеПроводки [СодержаниеПроводки]
     |      , Сумма as Факт
     |from
     |      $БИДвиженияССубконто.Основной(:Начдата,:Кондата,,СубконтоКТ1=:Контрагент) ОборотыДебет
     |
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #97 - 23. Апреля 2009 :: 12:23
Печать  
Соединить с журналом (_1sjourn) по iddoc и получить оттуда iddocdef.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #98 - 23. Апреля 2009 :: 12:28
Печать  
понятно я думал както лучше Улыбка
Спасибо огромное

можешь еще тут прояснить
http://www.1cpp.ru/forum/YaBB.pl?num=1240465773
  
Наверх
ICQ  
IP записан
 
mash
1c++ donor
Отсутствует


1C++ v. 3.0.1.23

Сообщений: 148
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.04. Прямые запросы к БИ.
Ответ #99 - 23. Апреля 2009 :: 12:35
Печать  
В 3.04 поймал такой баг
вот такая конструкция не работает (вирт. таблица пуста)
[code]
select
*
from
$БИОстатки.Новый(:выбДата~,,Счет = :сч20,(Номенклатура,Подразделения,ВидыДеятельности),РазделительУчета = :выбФирма and Субконто2 = :выбПодразделение) ТаблицаОстатки[/code]

а вот так (условие по субконто вынесли из вирт. таблицы) - все нормально

[code]
select
*
from
$БИОстатки.Новый(:выбДата~,,Счет = :сч20,(Номенклатура,Подразделения,ВидыДеятельности),РазделительУчета = :выбФирма ) ТаблицаОстатки
where
Субконто2 = :выбПодразделение[/code]
  

Поспешность наносит ущерб
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.05. Прямые запросы к БИ.
Ответ #100 - 23. Апреля 2009 :: 18:26
Печать  
Исправлено в v3.05.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
NFF
Junior Member
**
Отсутствует



Сообщений: 23
Зарегистрирован: 19. Июня 2008
Re: AccountsRecordset v3.05. Прямые запросы к БИ.
Ответ #101 - 27. Апреля 2009 :: 12:11
Печать  
Есть задача сформировать запрос к бух. итогам в чужой базе в разрезе по кор. счетам, реально ли реализовать решение с помощью данного класса?
  
Наверх
 
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: AccountsRecordset v3.05. Прямые запросы к БИ.
Ответ #102 - 30. Апреля 2009 :: 11:20
Печать  
           ТекстЗапроса = "SELECT  *
           |FROM
           |$БИОстаткиОбороты.Основной(:НачДата, :КонДата~, , , , ,  ) AS Основной
           |";      

не работает почему-то

AccountsRecordset::СформироватьОшибку(Строка Ошибка=Неправильный формат времени!)
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.05. Прямые запросы к БИ.
Ответ #103 - 30. Апреля 2009 :: 11:26
Печать  
Покажи установку параметров. Или, лучше, давай тестовую обработку.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Paranoid Android
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 76
Местоположение: Санкт-Петербург
Зарегистрирован: 10. Апреля 2007
Пол: Мужской
Re: AccountsRecordset v3.05. Прямые запросы к БИ.
Ответ #104 - 30. Апреля 2009 :: 11:31
Печать  
так разобрался
Кондата
было с большой буквы !!(я думал регистр тут не важен )

а вот следущая ошибка

     ТекстЗапроса = "SELECT  *
           |FROM $БИОборотыДтКт.Основной(:Начдата, :Кондата~,,,,,,СчетДТ IN (SELECT Val FROM #спСчет)) вв

В метод необходимо передавать непустые объекты типа метаданных
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 17
ОтправитьПечать