Переключение на Главную Страницу Страницы: 1 ... 9 10 [11] 12 13 ... 17 ОтправитьПечать
Очень популярная тема (более 25 ответов) Прямые запросы к бухгалтерским итогам (число прочтений - 124029 )
dsultan
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 4
Зарегистрирован: 02. Апреля 2008
Re: Прямые запросы к бухгалтерским итогам
Ответ #150 - 07. Апреля 2008 :: 05:46
Печать  
а возможно что то подобное в dbf базе?
  
Наверх
 
IP записан
 
alex-ander
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #151 - 17. Апреля 2008 :: 09:30
Печать  
Класс - класс!

Но один вопросик. Планируется ли ввести класс в 1cpp? При работе с .ert есть некоторые тормоза. Вот строка из замера скорострельности:

AccountsRecordsetV2.ert      2110      Возврат(Сам(Контекст).ПолучитьБазовыйКласс().ВыполнитьИнструкцию(ТекстЗапроса, ТЗ, ОчиститьТЗ));      2      0.507237      82.57

При проведении одного документа  - неважно, но про проведении пары тысяч каждая десятая секунды на счету.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #152 - 17. Апреля 2008 :: 09:33
Печать  
И о чем, как ты думаешь, говорит эта строка?
Как раз идет обращение к данным сервера, что и занимает основное время.
И тут не столь важно, из внутреннего кода 1С++ выполняется код или из класс, все равно все тормоза будут исходить из данных и их настройки.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
alex-ander
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #153 - 17. Апреля 2008 :: 09:56
Печать  
artbear писал(а) 17. Апреля 2008 :: 09:33:
И о чем, как ты думаешь, говорит эта строка?
Как раз идет обращение к данным сервера, что и занимает основное время.
И тут не столь важно, из внутреннего кода 1С++ выполняется код или из класс, все равно все тормоза будут исходить из данных и их настройки.


Дело в том, что запрос непосредственно к таблицам (без класса) выполняется гораздо быстрее. Разницы же между виртуальными таблицами из 1cpp и непосредственным обращением к реальным таблицам я почти не вижу. Из этого и вывод, что подтормаживает класс.

Писать же запросы к таблицам, имея ТАКОЙ класс - мазохизм, вот и геморроюсь тут Улыбка
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #154 - 17. Апреля 2008 :: 10:39
Печать  
Если у тебя есть предложения по оптимизации формируемых запросов, я готов к обсуждению.
Хотя, для класса, сделанного от нечего делать, пока лежал дома с ангиной, получилось не так уж плохо..  Улыбка
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
alex-ander
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #155 - 17. Апреля 2008 :: 11:19
Печать  
berezdetsky писал(а) 17. Апреля 2008 :: 10:39:
Если у тебя есть предложения по оптимизации формируемых запросов, я готов к обсуждению.
Хотя, для класса, сделанного от нечего делать, пока лежал дома с ангиной, получилось не так уж плохо..  Улыбка


Оптимизировать запросы, судя по всему, абсолютно не нужно. Просто хорошо бы, если б этот класс был внутри 1cpp рядышком с индексированной таблицей. Он достоин того.
  
Наверх
 
IP записан
 
lumox
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 10. Мая 2008
Re: Прямые запросы к бухгалтерским итогам
Ответ #156 - 10. Мая 2008 :: 15:58
Печать  
Делаю запрос
|SELECT ОсновнойОборотыДтКт.СчетДт [СчетДт $Счет.Основной]
|               , ОсновнойОборотыДтКт.СчетКт [СчетКт  $Счет.Основной]
|               , ОсновнойОборотыДтКт.СубконтоДт1 [СубконтоДт1 $Субконто]
|               , ОсновнойОборотыДтКт.СубконтоДт1_вид
|               , ОсновнойОборотыДтКт.СубконтоДт2 [СубконтоДт2 $Субконто]
|               , ОсновнойОборотыДтКт.СубконтоДт2_вид
|               , ОсновнойОборотыДтКт.СубконтоДт3 [СубконтоДт3 $Субконто]
|               , ОсновнойОборотыДтКт.СубконтоДт3_вид
|               , ОсновнойОборотыДтКт.СубконтоКт1 [СубконтоКт1 $Субконто]
|               , ОсновнойОборотыДтКт.СубконтоКт1_вид
|               , ОсновнойОборотыДтКт.СубконтоКт2 [СубконтоКт2 $Субконто]
|               , ОсновнойОборотыДтКт.СубконтоКт2_вид
|               , ОсновнойОборотыДтКт.СубконтоКт3 [СубконтоКт3 $Субконто]
|               , ОсновнойОборотыДтКт.СубконтоКт3_вид
|               , ОсновнойОборотыДтКт.СуммаОборот
|               , ОсновнойОборотыДтКт.ВалютнаяСуммаОборот
|               , ОсновнойОборотыДтКт.КоличествоОборот
|FROM $БИОборотыДтКт.Основной(:ВыбДата, :ВыбДата1 ~,,,
|               ((СчетДт = :ВыбСчет) AND (СубконтоДТ1 = :Ном) AND (СубконтоДт2 = :места))
|       ) AS ОсновнойОборотыДтКт
|";

выпадает с такой ошибкой.


тз = ар.ВыполнитьИнструкцию(ТекстЗапроса);
{D:\ТРЕНИРОВКАПО БИ.ERT(101)}: AccountsRecordset::СформироватьОшибку(Строка ТекстОшибки=State 42S22, native 207, message [Microsoft][ODBCSQL Server Driver][SQL Server]Invalid column name 'СубконтоДТ2'.) : State

Что делаю не так?
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #157 - 11. Мая 2008 :: 06:34
Печать  
В секциях УсловиеСчета можно использовать только соответствующее поле Счет. Условия по субконто нужно перенести в секцию Условие. Если ВыбСчет это не группа, то условие по счету тоже лучше перенести в секцию Условие - так будет эффективнее.
  

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


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 10. Мая 2008
Re: Прямые запросы к бухгалтерским итогам
Ответ #158 - 11. Мая 2008 :: 09:14
Печать  
Огромное спасибо... Работает на ура... А я уже себе всю голову сломал... С толку сбили предыдущие посты с подобной структурой.
  
Наверх
 
IP записан
 
GEORG
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 43
Зарегистрирован: 15. Мая 2008
Re: Прямые запросы к бухгалтерским итогам
Ответ #159 - 31. Мая 2008 :: 10:15
Печать  
где проставить условие (РазделительУчета= :РазделительУчета)???
  
Наверх
 
IP записан
 
g00d
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 68
Зарегистрирован: 13. Ноября 2006
Re: Прямые запросы к бухгалтерским итогам
Ответ #160 - 25. Июня 2008 :: 07:25
Печать  
в чем ошибка ?
     СпСчетов=СоздатьОбъект("СписокЗначений");
     СпСчетов.ДобавитьЗначение(СчетПоКоду("20"));
     СпСчетов.ДобавитьЗначение(СчетПоКоду("25"));
     СпСчетов.ДобавитьЗначение(СчетПоКоду("26"));
     СпСчетов.ДобавитьЗначение(СчетПоКоду("29"));
     СпСчетов.ДобавитьЗначение(СчетПоКоду("44"));
     
     SQL = СоздатьОбъект("AccountsRecordSet");
     SQL.SetDatabase1C(); 
     SQL.debug(1); 
      SQL.УстановитьТекстовыйПараметр("НачДата",НачДата);
     SQL.УстановитьТекстовыйПараметр("КонДата", КонДата);
     SQL.УстановитьТекстовыйПараметр("Подразд", Подразд);
     SQL.УложитьСписокОбъектов(СпСчетов, "#ВыбСчет");


     ТекстЗапроса = "
     |select ОборотыДтКт.Период
     |            , ОборотыДтКт.СчетДт [СчетДт $Счет.Основной]
     |            , ОборотыДтКт.СчетКт [СчетКт $Счет.Основной]
     |            , ОборотыДтКт.Валюта [Валюта $Справочник.Валюты]
     |            , ОборотыДтКт.СубконтоДт1 [СубконтоДт1 $Субконто]
     |            , ОборотыДтКт.СубконтоДт1_вид
     |            , ОборотыДтКт.СубконтоКт1 [СубконтоКт1 $Субконто]
     |            , ОборотыДтКт.СубконтоКт1_вид
     |            , ОборотыДтКт.СуммаОборот
     |            , ОборотыДтКт.ВалютнаяСуммаОборот
     |            , ОборотыДтКт.КоличествоОборот
     |            $БИОборотыДтКт.Основной(:НачДата, :КонДата ~, ,
     |            INNER JOIN $Справочник.Товары AS Товары (NOLOCK) ON СубконтоДт1 = Товары.ID
     |                              , (СчетДт in (select val from #ВыбСчет))
     |                              , (Товары)
     |                              , (СчетКт in (select val from #ВыбСчет))
     |                              , (Товары), ) AS ОборотыДтКт      
     |            LEFT OUTER JOIN _1SACCS AS ПланСчетовДт (NOLOCK) ON ОборотыДтКт.СчетДт = ПланСчетовДт.ID
     |            LEFT OUTER JOIN _1SACCS AS ПланСчетовКт (NOLOCK) ON ОборотыДтКт.СчетКт = ПланСчетовКт.ID
     |ORDER BY ОсновнойОборотыДтКт.Период
     |            , ПланСчетовДт.SCHKOD
     |            , ПланСчетовКт.SCHKOD
     |";
                 
     тз = SQL.ВыполнитьИнструкцию(ТекстЗапроса); 


===========================================================================
AccountsRecordset::СформироватьОшибку(String Ошибка=State 42000, native 156, message [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'SELECT'.)
вм.СформироватьОшибку(Ошибка);
{AccountsRecordsetV2@MD(30) }
===========================================================================
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #161 - 25. Июня 2008 :: 07:33
Печать  
Что то вы батенько фигнюс написали, например явно не хватает FROM
  
Наверх
ICQ  
IP записан
 
g00d
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 68
Зарегистрирован: 13. Ноября 2006
Re: Прямые запросы к бухгалтерским итогам
Ответ #162 - 25. Июня 2008 :: 07:34
Печать  
Nick писал(а) 25. Июня 2008 :: 07:33:
Что то вы батенько фигнюс написали, например явно не хватает FROM

глаз алмаз...
хотя помню что былаПодмигивание
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #163 - 23. Июля 2008 :: 13:32
Печать  
Подскажите, пожалуйста.
Хочу отчет запускать из базы где нет плана счетов.
подключаться к бухгалтерсой базе и вытягивать данные.
При попытке создания класса выдает ошибку:
"AccountsRecordset::СформироватьОшибку(Строка Ошибка=План счетов не определен!) : План счетов не определен!
вм.СформироватьОшибку(Ошибка);"
  
Наверх
 
IP записан
 
Berck
Junior Member
**
Отсутствует



Сообщений: 66
Местоположение: Москва
Зарегистрирован: 17. Июля 2007
Пол: Мужской
Re: Прямые запросы к бухгалтерским итогам
Ответ #164 - 23. Июля 2008 :: 13:43
Печать  
При попытке создания объекта вот такая ошибка :
"клРСБух = СоздатьОбъект("AccountsRecordset");
{E:\MY\БУХЗАПРОС.ERT(6)}: Поле агрегатного объекта не обнаружено
AccountsRecordset::Конструктор()
Сам(Контекст).ПолучитьБазовыйКласс().ВыполнитьИнструкцию(ТекстЗапроса);
{\\server\BUH\ExtForms\Классы\AccountsRecordsetV2.ert(2342) }
==================================

Это можно как-то решить без замены 1С++ версия "1.7.0.0" или это никак не связано?
(очень много всего завязано на эту дллку и менять пока страшно  Смущённый )

З.Ы это при запуске в бухгалтерсой базе.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 9 10 [11] 12 13 ... 17
ОтправитьПечать