Переключение на Главную Страницу Страницы: 1 [2] 3 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) DBF прямой запрос (Оборотно сальдовая) Бухгалтерия (число прочтений - 13331 )
Pilokarpios
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Мая 2008
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #15 - 27. Мая 2008 :: 11:15
Печать  
kiruha писал(а) 27. Мая 2008 :: 10:07:
FAQ
http://www.1cpp.ru/forum/YaBB.pl?num=1148038411/25#25,
FoxPro  ODBC тормознут, снят с поддержки уже лет 10, не поддерживает индексы 1С(с фильтром).
Рекомендуется OLEDB.

Код
Выбрать все
Виноват... спрошу по новому Требуется ускорить подбор из таблицы в которой расчет остатков производится быстрым (прямой запрос) расчетом бухгалтерских итогов Ит.СКД(3) в разрезе трех субконто, на данный момент локально или в режиме терминалов все работает ОК, при использовании сетевого варианта платформы 1С7.7 стандартный метод компиляции запроса работает медленно. 


Если остатки показываются в вычисляемой колонке справочника :
Для полной оптимизации этого дела потребуется табличное поле на ДБФ (в разработке) + вникать
в индексы(+ еще время).

Если объем базы не очень большой, возможна частичная оптимизация путем одновременного
расчета ВСЕХ остатков номенклатуры в ПриОткрытии- т.е. подбор вести не в реальном времени.

Если объем номенклатуры до 5000 элементов - при открытии будет наблюдаться торможение(расчет остатков)
около 1-2 сек, в дальнейшем подбор будет практически мгновенным.

Если остатки показываются как в типовой - внизу в текстовой строке лучше ограничиться стандартными методами
(ну только функцию по одному тому же товару не вызывать по 10 раз)


Читал я FAQ, про регистры понятно, а про бух.итоги ? !!!
насчет Оле согласен, просто вывалил пример
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #16 - 27. Мая 2008 :: 11:34
Печать  
gjpbw писал(а) 26. Мая 2008 :: 17:36:
думаю правильный ответ можно (тут не уверен) но НЕ НУЖНО (а вот тут практически уверен)
так что оптимизируйте код (выше вам уже писал)


Не согласен в корне. Вот тут попала оказия( есть конфа по расчету ЖКХ, сделана на бух итогах. ) получение квитанции занимало время от 7 мин до 10 в зависимости  от нагрузки, т.е.  бух сидела и в окно глядела.  Переписал на прямые запросы. Результат 1 мин. но и это не предел. там есть еще над чем  покумекать. Особенно большое спасибо kiruha за его вклад по работе с индексами!!! Но и при этом встает проблема попадания в индекс в таблице 1SBKTTL. Если надо получить несколько счетов, при известном субконто. Может просто я не нашел решения....
При ручном добавлении индекса, где не учитывается счет, скорость взлетала......... менее 1сек для получения  ТЗ со всеми оборотами и остатками.
А предложения где звучат, долой dbf  просто..... А кто будет обслуживать SQL,  если   на dbf то  не кому.......
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #17 - 27. Мая 2008 :: 12:11
Печать  
nicolas писал(а) 27. Мая 2008 :: 11:34:
gjpbw писал(а) 26. Мая 2008 :: 17:36:
думаю правильный ответ можно (тут не уверен) но НЕ НУЖНО (а вот тут практически уверен)
так что оптимизируйте код (выше вам уже писал)


Не согласен в корне. Вот тут попала оказия( есть конфа по расчету ЖКХ, сделана на бух итогах. ) получение квитанции занимало время от 7 мин до 10 в зависимости  от нагрузки, т.е.  бух сидела и в окно глядела.  Переписал на прямые запросы. Результат 1 мин. но и это не предел. там есть еще над чем  покумекать. Особенно большое спасибо kiruha за его вклад по работе с индексами!!! Но и при этом встает проблема попадания в индекс в таблице 1SBKTTL. Если надо получить несколько счетов, при известном субконто. Может просто я не нашел решения....
При ручном добавлении индекса, где не учитывается счет, скорость взлетала......... менее 1сек для получения  ТЗ со всеми оборотами и остатками.
А предложения где звучат, долой dbf  просто..... А кто будет обслуживать SQL,  если   на dbf то  не кому.......


Вероятно тогда есть готовые образцы запросов для бухитогов ДБФ - Pilokarpios как раз хотел на них взглянуть ...
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #18 - 27. Мая 2008 :: 12:22
Печать  
Идет выборка по нескольким счетам и по одному субконто.
Вобще то каждый раз приходится писать свой запрос, но это окупает скростью работы.
Был в прошлом году случай когда заставили делть отчет с 2002 года. так вот у меня он работал минут - 10. по словам буха, у коллег больше 12 часов, при это тогда было не до оптимизации... разовый отчет...

     |SELECT
     |ЛицСчет.ID  as [ЛицевойСчет $Справочник.икЛицевыеСчета]
     |,ВидУсл.ID as [ВидУслуги $Справочник.икВидыУслуг]
     |,БИ.сч as [Счет $Счет.основной]
     | , Sum(БИ.СуммаВх) AS СН
     |  ,Sum(БИ.Дебет) AS ДО
     |  ,Sum(БИ.Кредит) AS КО
     |  ,Sum(БИ.СуммаВх+БИ.Дебет-БИ.Кредит ) AS СК
     |FROM
     |(
     |SELECT   
     |  Ост.SC0 as Клиент
     |, Ост.SC1 as усл 
     |, Ост.ACCID as сч
     |,  "+СтрокаНачСумма+"
     |,$0 as Дебет
     |,$0 As Кредит
     |FROM 
     |      1SBKTTL   as Ост   
     |
     |WHERE 
     |
     |    (DTOS(Ост.DATE)+Ост.KIND+Ост.ACCID+Ост.SC0+Ост.SC1+Ост.SC2 +Ост.currid= DTOS(:НачПериода~~)+'1') -- вот тут и несовсем использутеся индекс когда создать свой DTOS(Ост.DATE)+Ост.KIND+Ост.SC0+Ост.SC1+Ост.SC2  скорость .....
     |AND  %Ост.SC0 AND (Ост.ACCID in " + ВыбрСч + ")    
     |
     |GROUP BY
     |   1,
     |   2,
     |   3   
     |
     |UNION ALL
     |
     |-- Оборот Дебетовый
     |Select
     |  Деб.Клиент as Клиент
     |, Деб.усл as усл
     |, Деб.сч as сч
     |, Деб.СуммаВх as СуммаВх
     |, Деб.Дебет as Дебет
     |, Деб.Кредит as Кредит
     |FROM
     |(
     |SELECT
     |  Проводки.DTSC0    as  Клиент
     |, Проводки.DTSC1    as  усл
     |, Проводки.ACCDTID as сч
     |, $0 as СуммаВх
     |, Sum(Проводки.Sum) as  Дебет
     |, $0  as Кредит   
     | From 1SENTRY as Проводки,
     |(
     |SELECT DOCID+STR(NUMBER,5)   as ключД
     |      FROM  1SSBSEL  -- эта таблица по выбранным субконто, использование дает приличное, но счета.......
     |      WHERE  SBKINDID+VAL + DTOS(DATE)+ TIME+DOCID+STR(NUMBER,5)+STR(CORNO,5) Between
     |             :ТипСуб+:ЛицСчет+DTOS(:ДатаНачала~~)  +'      '+'    0'+'    0'
     | and :ТипСуб+:ЛицСчет+DTOS(:ДатаКонца~~)  +'ZZZZZZ'+'99999'+'99999'
     |)      as Выборка
     |Where Проводки.DOCID+STR(NUMBER,5)+STR(CORNO,5) =  Выборка.ключД  -- .DOCID+ STR(Выборка.NUMBER,5)
     |GROUP BY  1,2,3
     |) as Деб
     |Where  Деб.сч in  " + ВыбрСч + "
     |
     |
     |union all
     |
     |-- пОборот Кредитовый
     |Select
     |  Кред.Клиент as Клиент
     |, Кред.усл as усл
     |, Кред.сч as сч
     |, Кред.СуммаВх as СуммаВх
     |, Кред.Дебет as Дебет
     |, Кред.Кредит as Кредит
     |FROM
     |(
     |Select
     |       Проводки.KTSC0   as   Клиент
     |,       Проводки.KTSC1  as   усл
     |,      Проводки.ACCKTID as сч
     |,      $0 as СуммаВх
     |,      $0 as Дебет
     |,      Sum(Проводки.Sum) as Кредит
     | From 1SENTRY as Проводки,
     |(
     |SELECT DOCID+STR(NUMBER,5)   as ключД
     |      FROM  1SSBSEL
     |      WHERE  SBKINDID+VAL + DTOS(DATE)+ TIME+DOCID+STR(NUMBER,5)+STR(CORNO,5) Between
     |             :ТипСуб+:ЛицСчет+DTOS(:ДатаНачала~~) -- +'      '+'    0'+'    0'
     | and :ТипСуб+:ЛицСчет+DTOS(:ДатаКонца~~) -- +'ZZZZZZ'+'99999'+'99999'
     |)      as Выборка
     |Where    Проводки.DOCID+STR(NUMBER,5)+STR(CORNO,5) =  Выборка.ключД
     |GROUP BY   1,2,3 
     |) as Кред
     |WHERE Кред.сч in   " + ВыбрСч + "
     |) as БИ
     |
     |INNER JOIN 
     |      $Справочник.икЛицевыеСчета AS ЛицСчет
     |ON  ЛицСчет.ID = БИ.Клиент
     |
     |INNER JOIN 
     |      $Справочник.икВидыУслуг AS ВидУсл
     |ON  ВидУсл.ID = БИ.усл   
     |GROUP BY 1
     |,2
     |,3

очень надеюсь сам на критику этого запроса....
  
Наверх
 
IP записан
 
Pilokarpios
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Мая 2008
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #19 - 27. Мая 2008 :: 12:28
Печать  
Большое человеческое спасибо!  Очень довольный

Может такая корректировка дат поможет?



Месяц = Цел(ДатаМесяц(НачДата)/3 + 0.8);  
     // месяц начала квартала, в котором находится период
ДатаОстатков="{"+Формат(Месяц,"Ч(0)2") + "/01/" + ДатаГод(НачДата) +"}";
ДатаНачала="{"+Формат(ДатаМесяц(НачДата),"Ч(0)2") + "/" + Формат(ДатаЧисло(НачДата),"Ч(0)2") + "/" + ДатаГод(НачДата) +"}";
ДатаКонца="{"+Формат(ДатаМесяц(КонДата),"Ч(0)2") + "/" + Формат(ДатаЧисло(КонДата),"Ч(0)2") + "/" + ДатаГод(КонДата) +"}";
ДатаНачалаМесяца="{"+Формат(ДатаМесяц(НачДата),"Ч(0)2") + "/01/" + ДатаГод(НачДата) +"}";


---------------текстзапроса
|      1Sbkttl as Сальдо
|      where (Сальдо.Date = " + ДатаОстатков + ") and (Сальдо.Kind='1')
---------------текстзапроса
далее поиск по оборотам Кр и Дб
т.е. насколько я понимаю, таблица 1Sbkttl расчитывает остатки (при применение метода Установить расчет по квартал (Операции->Управление бух. итогами) на начало квартала и на конец.

  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #20 - 27. Мая 2008 :: 12:43
Печать  
Прошу прощения забыл строку
она формируется так
      СтрокаКонСумма ="";
      Если (ДатаМесяц(Начало)=1) ИЛИ (ДатаМесяц(Начало)=4) ИЛИ (ДатаМесяц(Начало)=7) ИЛИ (ДатаМесяц(Начало)=10)    Тогда
           СтрокаНачСумма = "SUM(IIF(Ост.KIND = '1',  CAST(Ост.SD as NUMERIC(15,3)), 00000000000000000000.00000)) as СуммаВх ";
      ИначеЕсли (ДатаМесяц(Начало)=2) ИЛИ (ДатаМесяц(Начало)=5) ИЛИ (ДатаМесяц(Начало)=8) ИЛИ (ДатаМесяц(Начало)=11)    Тогда      
           СтрокаНачСумма = "SUM(IIF(Ост.KIND = '1',  CAST(Ост.SD as NUMERIC(15,3))+CAST(Ост.OBDT1 as  NUMERIC(15,3)) - CAST(Ост.OBKT1 as NUMERIC(15,3)), 00000000000000000000.00000)) as СуммаВх ";
      ИначеЕсли (ДатаМесяц(Начало)=3) ИЛИ (ДатаМесяц(Начало)=6) ИЛИ (ДатаМесяц(Начало)=9) ИЛИ (ДатаМесяц(Начало)=12)    Тогда      
           СтрокаНачСумма = "SUM(IIF(Ост.KIND = '1',  CAST(Ост.SD as NUMERIC(15,3))+CAST(Ост.OBDT1 as  NUMERIC(15,3)) - CAST(Ост.OBKT1 as NUMERIC(15,3))+ CAST(Ост.OBDT2 as  NUMERIC(15,3)) - CAST(Ост.OBKT2 as NUMERIC(15,3)), 00000000000000000000.00000 )) as СуммаВх ";
      КонецЕсли;
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #21 - 27. Мая 2008 :: 12:48
Печать  
и еще это просто компиляция всего того что нашел и на этом форуме и на других.
Поэтому не могу назвать автора всего этого, единственное что сам ковырял это таблица по выборке субконто.
Точно помню что есть идеи trad!!!!
по индексам еще раз большое спасибо ( всетаки наверное) Кирилу!!!!
  
Наверх
 
IP записан
 
Pilokarpios
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Мая 2008
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #22 - 27. Мая 2008 :: 14:55
Печать  
Помогите с запросом плиз

Диалог:
   Счет = Счета;
   Субконто1 = Справочник.МестаХранения

Запрос:
    |SELECT    
    |  Остатки.ACCID as [СчетИд $Счет.основной]
    |, Остатки.SC0 as [Суб1 $Справочник.МестаХранения]  
    |FROM  
    |  1SBKTTL as Остатки    
    |Where
    |  (SC0 = :Субконто1)";

Meta name parser error: не указан параметр ":Субконто1"

Подскажите пожалуйста, как преобразовать значение для сравнения внутри запроса, что я делаю не так?
  
Наверх
 
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #23 - 27. Мая 2008 :: 15:08
Печать  
Pilokarpios писал(а) 27. Мая 2008 :: 14:55:
Meta name parser error: не указан параметр ":Субконто1"

cmd.УстановитьТекстовыйПараметр("Субконто1", Субконто1); <---???
  
Наверх
ICQ  
IP записан
 
spock
1c++ developer
1c++ moderator
Отсутствует



Сообщений: 822
Местоположение: Новосибирск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #24 - 27. Мая 2008 :: 15:10
Печать  
Кстати, если поле SC0 char(13), то :Субконто1~
  
Наверх
ICQ  
IP записан
 
Pilokarpios
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 25
Зарегистрирован: 21. Мая 2008
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #25 - 27. Мая 2008 :: 21:22
Печать  
Ну что! думаю, что тема запроса в DBF (OLE) в бух таблицу наконец-таки развернута в началах, спасибо откликнувшимся… Докладываю результаты первых решений:
1.      Как известно монопольный вариант расчета конечных остатков на требуемую дату всегда быстр и весел, но.., если подключается второй сетевой, и т.д. пользователи, расчет заметно падает, я даже скажу что пипец как падает… вывод. Данный вариант прямых расчетов действительно делает из заядлого 1Сника, более понимающего о СУБД, если порыть, подумать!
В общем: расчет ускорен на средней БД в разрезе 3-х субконто как минимум в 7 раз, далее по периодам дат  зависит от понимания таблиц, т.е можно тупо делать перерасчеты разом, а можно и периодически, т.е.  в это нужно вкурить…
http://metaprog.co.ua/secrprog/tran_sql.html
2.      Безусловно SQL и подобные структуры управления таблицами БД никак не сравниваются со структурой тупо полуфайлого варианта DBF, но…
3.      Стандартная компиляция запросов 1С7.7. построена через ##пу, но и за это спасибо в свое время…

Простенький БИ запрос, который я искал уева тучу времени (думаю пригодится):

     Попытка
           ЗагрузитьВнешнююКомпоненту("C:\Program Files\1Cv77\BIN\1cpp.dll");
     Исключение
           Сообщить("Не установлена компонента '1cpp.dll' ","!");
             Возврат;
     КонецПопытки;
       
     База = СоздатьОбъект("OLEDBData");
     
     Рез=База.Соединение("
     |Provider=VFPOLEDB.1;
     |Null = Yes;
     |Exclusive = No;
     |SourceType = DBF;
     |Data Source=" + КаталогИБ() + ";
     |Mode=ReadWrite;
     |Extended Properties="""";
     |User ID="""";
     |Password="""";
     |Mask Password=False;
     |Collating Sequence=MACHINE;
     |DSN=""""");
     
     Если Рез = 0 Тогда
           Сообщить(ОписаниеОшибки());
     КонецЕсли;
     
     Запрос = База.СоздатьКоманду();
     Запрос.Отладка(0);
     
     Запрос.УстановитьТекстовыйПараметр("Счет", Счет);
     Запрос.УстановитьТекстовыйПараметр("Субконто1", Субконто1);
     Запрос.УстановитьТекстовыйПараметр("Субконто2", Субконто2);
     Запрос.УстановитьТекстовыйПараметр("Субконто3", Субконто3);

     ТекстЗапроса = "
    |SELECT    
    |  Остатки.ACCID as [СчетИд $Счет.основной]
    |, Остатки.SC0 as [Суб1 $Справочник.МестаХранения]  
    |, Остатки.SC1 as [Суб2 $Справочник.Отделы]
    |, Остатки.SC2 as [Суб3 $Справочник.Номенклатура]
    |FROM  
    |  1SBKTTL as Остатки    
    |Where
      |  (Остатки.ACCID = :Счет) and (Остатки.SC0 = :Субконто1) and (Остатки.SC1 = :Субконто2)";
        // and (Остатки.SC2 = :Субконто3)
    ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);


Структура запроса схожа с 1C8.0… различия только в переводе англ/рус (хочу заметить, 1С это уже политически приоритетный язык программирования России, конечно же есть PHP,Flash,Java,HTML,C++,Delphi,FoxPro,*nix,Qt и т.п и т.д… но такие проекты, как ????? (знают кому надо) уже позволяют строить блоки модулей на основе алгоритмических схем)  т.е. мы новый блок схемы или новый алгоритм или новая идея… каждому своё…

Спасибо ещё раз всем ребятам, которые блин программеры по существу…





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



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #26 - 28. Мая 2008 :: 07:53
Печать  
Pilokarpios писал(а) 27. Мая 2008 :: 21:22:
Простенький БИ запрос, который я искал уева тучу времени (думаю пригодится):

     
Код
Выбрать все
ТекстЗапроса = "
     |SELECT    
     |  Остатки.ACCID as [СчетИд $Счет.основной]
     |, Остатки.SC0 as [Суб1 $Справочник.МестаХранения]  
     |, Остатки.SC1 as [Суб2 $Справочник.Отделы]
     |, Остатки.SC2 as [Суб3 $Справочник.Номенклатура]
     |FROM  
     |  1SBKTTL as Остатки    
     |Where
	 |  (Остатки.ACCID = :Счет) and (Остатки.SC0 = :Субконто1) and (Остатки.SC1 = :Субконто2)";
   	 // and (Остатки.SC2 = :Субконто3) 


 


Долго смотрел, много думал ...Не осилил.
А чего этот запрос показывает то?
И какое отношение имеет к расчету остатков?
  
Наверх
 
IP записан
 
nicolas
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 148
Зарегистрирован: 24. Мая 2006
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #27 - 28. Мая 2008 :: 12:33
Печать  
Наверное OFF
Вопрос с Кирилу. 
1.Вы  не пробывали добавлять свои индексы к таблицам, если  да то каков результат?
2. C Fox cтарших версий не работал, поэтому может знаете, ЗАпрос где выполняться будет на клиенте или на сервере, если использовать dbc в каталоге базы и там ХП (или глупость сморозил..)
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #28 - 28. Мая 2008 :: 12:39
Печать  
nicolas писал(а) 28. Мая 2008 :: 12:33:
1.Вы  не пробывали добавлять свои индексы к таблицам, если  да то каков результат?

http://www.1cpp.ru/forum/YaBB.pl?num=1188387114/
в последнем посте - скрипт
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: DBF прямой запрос (Оборотно сальдовая) Бухгалт
Ответ #29 - 28. Мая 2008 :: 13:45
Печать  
nicolas писал(а) 28. Мая 2008 :: 12:33:
Наверное OFF
Вопрос с Кирилу.  
1.Вы  не пробывали добавлять свои индексы к таблицам, если  да то каков результат?

Сейчас нет необходимости - есть возможность штатно
Видимо вопрос из за
Код
Выбрать все
|    (DTOS(Ост.DATE)+Ост.KIND+Ост.ACCID+Ост.SC0+Ост.SC1+Ост.SC2 +Ост.currid= DTOS(:НачПериода~~)+'1') -- вот тут и несовсем использутеся индекс когда создать свой DTOS(Ост.DATE)+Ост.KIND+Ост.SC0+Ост.SC1+Ост.SC2  скорость .....
     |AND  %Ост.SC0 AND (Ост.ACCID in " + ВыбрСч + ")       


не самое оптимальное использование индекса.
Если счетов немного - достаточно сделать несколько условий через OR,
если много(и более универсально) - уложить список счетов во временную таблицу или через подзапрос -
FROM к этой таблице и LEFT JOIN к остаткам(1SBKTTL ) по Цитата:
DTOS(Ост.DATE)+Ост.KIND+Ост.ACCID+Ост.SC0+Ост.SC1+Ост.SC2 +Ост.currid

будет на порядок быстрее чем использовать свой добавленный индекс
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 4 
ОтправитьПечать