Переключение на Главную Страницу Страницы: 1 ... 9 10 [11] 12 13 ... 17 ОтправитьПечать
Очень популярная тема (более 25 ответов) AccountsRecordset v3.17. Прямые запросы к БИ. (число прочтений - 135854 )
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #150 - 31. Марта 2010 :: 09:49
Печать  
Есть еще вопросик, вот смотри в ВТ БИОбороты при построении с параметрами БЕЗСУБКОНТО,БЕЗКОРСЧЕТОВ,БЕЗСУБКОНТО получается такая строка условий на таблицу проводок
WHERE .... AND (ACCDTID <> '     0   ') при сборе по дебету
WHERE .... AND (ACCKTID <> '     0   ') при сборе по кредиту
К чему эта проверка?
А если я напишу в дополнительных условия Счет = $ПустойИД, то получатся противоречивые условия и я не получу ничего в итоге вообще.

Может я просто затупил?
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #151 - 31. Марта 2010 :: 10:09
Печать  
vandalsvq писал(а) 31. Марта 2010 :: 09:49:
А если я напишу в дополнительных условия Счет = $ПустойИД

Эээ..  Озадачен А что ты ожидаешь с таким условием получить? Общий оборот всех забалансовых счетов из проводок без корреспонденций?
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #152 - 31. Марта 2010 :: 10:19
Печать  
Я не по конкретному примеру, я просто как то развертку у себя ВТ смотрел, да вот просто задумался. В живом примере я не знаю зачем мне это надо Улыбка.
На самом деле условие лишено жизненного смысла.
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #153 - 31. Марта 2010 :: 12:09
Печать  
vandalsvq писал(а) 31. Марта 2010 :: 10:19:
В живом примере я не знаю зачем мне это надо Улыбка.

Вот!  Смех

vandalsvq писал(а) 31. Марта 2010 :: 10:19:
На самом деле условие лишено жизненного смысла.

Обоснуй для запроса без отбора по счетам.
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #154 - 31. Марта 2010 :: 15:51
Печать  
Нееее.... я не про условие в ВТ, а про условие которое я в параметре написал (равенство с пустойИД).
Я подумаю, может я просто "отошел от темы" слишком сильно, поэтому и несу чушь Улыбка
  

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


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #155 - 31. Марта 2010 :: 16:08
Печать  
Это условие (в ВТ) нужно только для случаев, когда отбор по счету не задан. Когда задан - согласен, выглядит несколько неаккуратно, и даже съедает доли процента стоимости плана выполнения. Исправляется добавлением одной строки, но, IMHO, на ошибку это похоже гораздо меньше, чем условие Счет = $ПустойИДУлыбка
  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #156 - 31. Марта 2010 :: 16:21
Печать  
Иван я согласен, поэтому извини за беспокойство.

Офф... как бы 1sqlite научить эффективно работать с бугалтерскими таблицами.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Roman777
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 11. Апреля 2010
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #157 - 12. Апреля 2010 :: 06:57
Печать  
Задача - необходимо получить остатки и обороты по периодам (день) по клиентам и договорам по указанным счетам, свернуто по разделителям учета.
Сначала выполняю запрос по остаткам чтобы получить списки клиентов и договоров для последуещего отбора:
     ТекстЗапросаБИ1 = "
     |      SELECT      
     |         ОсновнойОстатки.Счет [Счет $Счет.Новый]
     |            , ОсновнойОстатки.Валюта [Валюта $Справочник.Валюты]
     |            , ОсновнойОстатки.Субконто1 [Субконто1 $Субконто]
     |            , ОсновнойОстатки.Субконто1_вид
     |            , ОсновнойОстатки.Субконто2 [Субконто2 $Субконто]
     |            , ОсновнойОстатки.Субконто2_вид
     |            , ОсновнойОстатки.СуммаОстатокДт
     |            , ОсновнойОстатки.СуммаОстатокКт
     |            , ОсновнойОстатки.ВалютнаяСуммаОстатокДт
     |            , ОсновнойОстатки.ВалютнаяСуммаОстатокКт
     |      FROM $БИОстатки.Новый(:КонДата,,
     |                  ,
     |                  (Клиент,Договор),
     |                  Счет IN (SELECT val FROM #ВыбСчета)
     |           AND (Субконто1_вид = $ВидСубконто.Клиент)
     |           AND (Субконто2_вид = $ВидСубконто.Договор)) AS ОсновнойОстатки
     |      ORDER BY ОсновнойОстатки.Счет, ОсновнойОстатки.Субконто1,ОсновнойОстатки.Субконто2
     |";

Затем выполняю запрос :
     ТекстЗапросаБИ = "
           |SELECT
           |         Период
           |            , Счет [Счет $Счет.Новый]
           |            , Валюта [Валюта $Справочник.Валюты]
           |            , Субконто1 [Субконто1 $Субконто]
           |            , Субконто1_вид
           |            , Субконто2 [Субконто2 $Субконто]
           |            , Субконто2_вид
           |            , СуммаНачальныйОстаток СуммаНач
           |            , СуммаОборот СуммаОборот 
           |            , СуммаКонечныйОстаток СуммаКон
           |            , ВалютнаяСуммаНачальныйОстаток  ВалНач
           |            , ВалютнаяСуммаОборот ВалОборот
           |            , ВалютнаяСуммаКонечныйОстаток ВалКон
           |      FROM $БИОстаткиОбороты.Новый(:НачДата, :КонДата~,
           |                  День,
           |                  Движения,,
           |                  ,(Клиент,Договор),
           |                   Счет IN (SELECT val FROM #СпСчета)
           |            AND (Субконто1 IN (SELECT val FROM #СпКлиенты))
           |            AND (Субконто2 IN (SELECT val FROM #СпДоговора))
           |) БИОстаткиОбороты
           |      ORDER BY
           |    БИОстаткиОбороты.Счет
           |  , БИОстаткиОбороты.Субконто1
           |  , БИОстаткиОбороты.Субконто2
           |  , БИОстаткиОбороты.Период
           |
           |";

Сначала столкнулся с проблемой - запрос по остаткам выдает по несколько записей по одному счету,клиенту, договору - вычислил , что данные не свернулись по разделителям учета.
Внес изменение в AccountsRecordsetV3.ert - поставил для переменной МетаданныеРазделительУчетаВыбран всегда значение 0 . Запрос по остаткам вернул все как надо - свернуто.
Но следующий запрос (остатки и обороты) все равно возвращает данные не свернутые по разделителям учета.
При этом если указываю только один счет, все возвращает как надо.
Версия AccountsRecordset - 3.09
Версия 1С++ - 2.5.0.7.
Куда копать?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #158 - 12. Апреля 2010 :: 09:18
Печать  
Roman777 писал(а) 12. Апреля 2010 :: 06:57:
Внес изменение в AccountsRecordsetV3.ert

  

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


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #159 - 12. Апреля 2010 :: 13:49
Печать  
Роман , чем менять класс лучше бы просто свернул без разделителя, и вопрос закрыт.
Код
Выбрать все
select ... sum() from (твой текст запроса) vt1 group by ..... 




Пы.сы. КОП в данном случае изменению вообще не подлежит. Все там правильно. Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Roman777
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 11. Апреля 2010
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #160 - 12. Апреля 2010 :: 17:56
Печать  
berezdetsky писал(а) 12. Апреля 2010 :: 09:18:
Roman777 писал(а) 12. Апреля 2010 :: 06:57:
Внес изменение в AccountsRecordsetV3.ert

  • Изменённый код не поддерживается.
  • Запросы обсуждаются в разделе


ОК. Код менять больше не буду. Просто попробовал как возможный вариант решения проблемы.
За КОП Спасибо.
  
Наверх
 
IP записан
 
Roman777
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 5
Зарегистрирован: 11. Апреля 2010
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #161 - 12. Апреля 2010 :: 17:59
Печать  
vandalsvq писал(а) 12. Апреля 2010 :: 13:49:
Роман , чем менять класс лучше бы просто свернул без разделителя, и вопрос закрыт.
Код
Выбрать все
select ... sum() from (твой текст запроса) vt1 group by ..... 




Пы.сы. КОП в данном случае изменению вообще не подлежит. Все там правильно. Подмигивание


Насчет
Код
Выбрать все
select ... sum() from (твой текст запроса) vt1 group by ..... 


- это первое что я сделал. К сожалению, в моем случае этот вариант не подходит, т.к. остатки с оборотами распределены по периодам, и уже не сворачиваются.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


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

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #162 - 12. Апреля 2010 :: 18:46
Печать  
Ну если остатки-обороты, то конечно. Но в таком случае можно было бы самому соорудить.
Кстати выборка без разделителей имхо не очень хороша. Там индекс строится так, что разделитель стоит в начале него. Если мне память не изменяет по вечерам конечно.
  

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



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #163 - 12. Апреля 2010 :: 20:39
Печать  
Предположим, что в выборке "с разделителем учета" будет 100 тыс. записей. Загнать результат в ИТЗ и свернуть займет, от силы секунд 5. Есть ли смысл вместо этого мучиться с написанием идеальнейшего запроса?
  
Наверх
ICQ  
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: AccountsRecordset v3.09. Прямые запросы к БИ.
Ответ #164 - 12. Апреля 2010 :: 21:02
Печать  
vandalsvq писал(а) 12. Апреля 2010 :: 18:46:
Кстати выборка без разделителей имхо не очень хороша.

Выборка без отбора по разделителям не очень хороша. Нужны ли разделители в списке выбора - это вопрос, на который у меня нет однозначного ответа, но убрать их можно лишь ценой потери обратной совместимости.

Roman777 писал(а) 12. Апреля 2010 :: 06:57:
Внес изменение в AccountsRecordsetV3.ert - поставил для переменной МетаданныеРазделительУчетаВыбран всегда значение 0 . Запрос по остаткам вернул все как надо - свернуто.
Но следующий запрос (остатки и обороты) все равно возвращает данные не свернутые по разделителям учета.
При этом если указываю только один счет, все возвращает как надо.

Итоги всегда развёрнуты по счетам, валютам, разделителям учёта и субконто. Если указанное изменение - единственное, и результат не свёрнут по разделителям, то где-то в классе есть ошибка. Покажи результат отладки для этого случая.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 9 10 [11] 12 13 ... 17
ОтправитьПечать