Переключение на Главную Страницу Страницы: 1 ... 4 5 [6] 7  ОтправитьПечать
Очень популярная тема (более 25 ответов) Виртуальные таблицы не учитывает последнего движения (число прочтений - 19967 )
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #75 - 29. Марта 2011 :: 08:00
Печать  
trad писал(а) 29. Марта 2011 :: 07:54:
Z1 писал(а) 29. Марта 2011 :: 07:49:
ну и понятие следующий символ вообще относительное потому что
речь идет об sql наборе символов.

кодовая страница в которой работает 1с и кодовая страница бд естественно должны быть одинаковыми.

да.
да и  сервер sql2000
определение _1SSYSTEM  получено с помощью EM
Цитата:
CREATE TABLE [_1SSYSTEM] (
     [CURDATE] [datetime] NOT NULL ,
     [CURTIME] [int] NOT NULL ,
     [EVENTIDTA] [char] (9) COLLATE Cyrillic_General_CI_AS NOT NULL ,
     [DBSIGN] [char] (3) COLLATE Cyrillic_General_CI_AS NOT NULL ,
     [DBSETUUID] [char] (36) COLLATE Cyrillic_General_CI_AS NOT NULL ,
     [SNAPSHPER] [char] (1) COLLATE Cyrillic_General_CI_AS NOT NULL ,
     [ACCDATE] [datetime] NOT NULL ,
     [FLAGS] [int] NOT NULL
) ON [PRIMARY]
GO

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


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #76 - 29. Марта 2011 :: 08:10
Печать  
Подправил Базу, для чистоты эксперимента

Это первый запрос :

select top 1 date_time_iddoc
from _1sjourn (nolock)
where closed&1 = 1
order by date_time_iddoc desc

=201103259TJ70G  609СБР

Это второй:

select curdate,curtime,eventidta
from _1ssystem (nolock)      

=25.03.11  593800000    609СБР

Это мой запрос :

                 ТекстЗапроса = "
                 |SELECT
                 |      СпрТовар.Code  as code,
                 |   CAST(:НачДата as datetime) as curr_date,
                 |      $ПоследнееЗначение.Номенклатура.ЦенаПриобретенияИстория(СпрТовар.ID, :НачДата)*Рег.ОстатокТовараНачальныйОстаток as beg_amount,
                 |      $ПоследнееЗначение.Номенклатура.ЦенаПриобретенияИстория(СпрТовар.ID, :НачДата)*Рег.ОстатокТовараПриход           as in_amount,
                 |      $ПоследнееЗначение.Номенклатура.ЦенаПриобретенияИстория(СпрТовар.ID, :НачДата)*Рег.ОстатокТовараРасход           as out_amount,
                 |      $ПоследнееЗначение.Номенклатура.ЦенаПриобретенияИстория(СпрТовар.ID, :НачДата)*Рег.ОстатокТовараКонечныйОстаток  as end_amount,
                 |      Рег.ОстатокТовараНачальныйОстаток as beg_rest,
                 |      Рег.ОстатокТовараПриход as in_qty,
                 |      Рег.ОстатокТовараРасход as out_qty,
                 |      Рег.ОстатокТовараКонечныйОстаток as end_rest
                 |FROM
                 | да,,Фирма=$ПустойИД,(Товар),(ОстатокТовара)) as Рег
                 |INNER JOIN
                 |      $Справочник.Номенклатура as СпрТовар ON СпрТовар.ID = Рег.Товар      
                 |                  AND СпрТовар.Code IN (SELECT Val FROM #ФильтрТовар)
                 |";                  

А это кусочек того , что ушло на SQL

select
ra99_vt.sp101 as Товар,
case when ra99_vt.debkred = 0 then ra99_vt.sp102 else 0 end as ОстатокТовараПриход,
case when ra99_vt.debkred = 1 then ra99_vt.sp102 else 0 end as ОстатокТовараРасход,
0 as ОстатокТовараОстаток
from ra99 as ra99_vt (nolock)
inner join _1sjourn as j99_vt (nolock) on j99_vt.iddoc = ra99_vt.iddoc
where j99_vt.date_time_iddoc > '20110325' and j99_vt.date_time_iddoc < '201103259TJ70G     0  0'
and j99_vt.rf99 = 0x1
and (ra99_vt.sp3603='     0   ')
union all      
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #77 - 29. Марта 2011 :: 08:23
Печать  
oav, покажи отладку от этого:
Код
Выбрать все
рс=СоздатьОбъект("ODBCRecordset");
рс.УстановитьТекстовыйПараметр("Дата",'25.03.11');
рс.Отладка();
рс.ВыполнитьИнструкцию("select * from ар=$ПустойИД)"); 

  

1&&2&&3
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #78 - 29. Марта 2011 :: 08:33
Печать  
trad писал(а) 29. Марта 2011 :: 08:23:
oav, покажи отладку от этого:
Код
Выбрать все
рс=СоздатьОбъект("ODBCRecordset");
рс.УстановитьТекстовыйПараметр("Дата",'25.03.11');
рс.Отладка();
рс.ВыполнитьИнструкцию("select * from ар=$ПустойИД)"); 




Вот она :

     
select * from (
select
rb99_vt.Фирма,
rb99_vt.Товар,
rb99_vt.Склад,
sum(rb99_vt.ОстатокТовараОстаток) - sum(rb99_vt.ОстатокТовараПриход) + sum(rb99_vt.ОстатокТовараРасход) as ОстатокТовараНачальныйОстаток,
sum(rb99_vt.ОстатокТовараПриход) as ОстатокТовараПриход,
sum(rb99_vt.ОстатокТовараРасход) as ОстатокТовараРасход,
sum(rb99_vt.ОстатокТовараОстаток) as ОстатокТовараКонечныйОстаток,
sum(rb99_vt.ОстатокТовараНеотгруженныйОстаток) - sum(rb99_vt.ОстатокТовараНеотгруженныйПриход) + sum(rb99_vt.ОстатокТовараНеотгруженныйРасход) as ОстатокТовараНеотгруженныйНачальныйОстаток,
sum(rb99_vt.ОстатокТовараНеотгруженныйПриход) as ОстатокТовараНеотгруженныйПриход,
sum(rb99_vt.ОстатокТовараНеотгруженныйРасход) as ОстатокТовараНеотгруженныйРасход,
sum(rb99_vt.ОстатокТовараНеотгруженныйОстаток) as ОстатокТовараНеотгруженныйКонечныйОстаток
from (
select
ra99_vt.sp3603 as Фирма,
ra99_vt.sp101 as Товар,
ra99_vt.sp100 as Склад,
case when ra99_vt.debkred = 0 then ra99_vt.sp102 else 0 end as ОстатокТовараПриход,
case when ra99_vt.debkred = 1 then ra99_vt.sp102 else 0 end as ОстатокТовараРасход,
0 as ОстатокТовараОстаток,
case when ra99_vt.debkred = 0 then ra99_vt.sp3974 else 0 end as ОстатокТовараНеотгруженныйПриход,
case when ra99_vt.debkred = 1 then ra99_vt.sp3974 else 0 end as ОстатокТовараНеотгруженныйРасход,
0 as ОстатокТовараНеотгруженныйОстаток
from ra99 as ra99_vt (nolock)
inner join _1sjourn as j99_vt (nolock) on j99_vt.iddoc = ra99_vt.iddoc
where j99_vt.date_time_iddoc > '20110325' and j99_vt.date_time_iddoc < '201103259TJ70G     0  0'
and j99_vt.rf99 = 0x1
and (ra99_vt.sp101='     0   ')
union all
select
rg99_vt.sp3603 as Фирма,
rg99_vt.sp101 as Товар,
rg99_vt.sp100 as Склад,
0,
0,
rg99_vt.sp102 as ОстатокТовараОстаток,
0,
0,
rg99_vt.sp3974 as ОстатокТовараНеотгруженныйОстаток
from rg99 as rg99_vt (nolock)
where rg99_vt.period={d '2011-03-01'}
and (rg99_vt.sp101='     0   ')
) as rb99_vt
group by
rb99_vt.Фирма,
rb99_vt.Товар,
rb99_vt.Склад
having
sum(rb99_vt.ОстатокТовараОстаток) - sum(rb99_vt.ОстатокТовараПриход) + sum(rb99_vt.ОстатокТовараРасход) <> 0 or
sum(rb99_vt.ОстатокТовараПриход) <> 0 or
sum(rb99_vt.ОстатокТовараРасход) <> 0 or
sum(rb99_vt.ОстатокТовараОстаток) <> 0 or
sum(rb99_vt.ОстатокТовараНеотгруженныйОстаток) - sum(rb99_vt.ОстатокТовараНеотгруженныйПриход) + sum(rb99_vt.ОстатокТовараНеотгруженныйРасход) <> 0 or
sum(rb99_vt.ОстатокТовараНеотгруженныйПриход) <> 0 or
sum(rb99_vt.ОстатокТовараНеотгруженныйРасход) <> 0 or
sum(rb99_vt.ОстатокТовараНеотгруженныйОстаток) <> 0
) as RestsTurnovers99      
     
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #79 - 29. Марта 2011 :: 08:39
Печать  
Я хочу только добавить...  Я из одной базы подключаюсь по очереди к нескольким и выполняю запросы. Может это как то влияет??? Раньше была ошибка, если из текущей базы подключался к другой и у нее был другой период расчета итогов, то помнится , что то считалось не так. Потом это исправили. Может и сейчас это влияет???
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #80 - 29. Марта 2011 :: 08:43
Печать  
не понимаю почему строится and j99_vt.date_time_iddoc < '201103259TJ70G     0  0'
когда должно and j99_vt.date_time_iddoc < '201103259TJ70G  609СБС'
Озадачен
у меня нет вариантов
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #81 - 29. Марта 2011 :: 08:47
Печать  
oav писал(а) 29. Марта 2011 :: 08:39:
Я хочу только добавить...  Я из одной базы подключаюсь по очереди к нескольким и выполняю запросы. Может это как то влияет???

Класс ппц
и десятка страниц не набрали...
  

1&&2&&3
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #82 - 29. Марта 2011 :: 08:51
Печать  
trad писал(а) 29. Марта 2011 :: 08:47:
oav писал(а) 29. Марта 2011 :: 08:39:
Я хочу только добавить...  Я из одной базы подключаюсь по очереди к нескольким и выполняю запросы. Может это как то влияет???

Класс ппц
и десятка страниц не набрали...


Это как то поможет?...
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #83 - 29. Марта 2011 :: 08:57
Печать  
oav писал(а) 29. Марта 2011 :: 08:51:
Это как то поможет?...

ошибку подтверждаю.
но не в знаке сравнения, а в неправильности построения границы для присоединенной ИБ
  

1&&2&&3
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #84 - 29. Марта 2011 :: 09:00
Печать  
trad писал(а) 29. Марта 2011 :: 08:57:
oav писал(а) 29. Марта 2011 :: 08:51:
Это как то поможет?...

ошибку подтверждаю.
но не в знаке сравнения, а в неправильности построения границы для присоединенной ИБ


Извиняюсь , что сразу про это не вспомнил. Баз много, разные. Уже как само собой .....
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #85 - 29. Марта 2011 :: 09:01
Печать  
зафиксируй в багзиле
  

1&&2&&3
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #86 - 29. Марта 2011 :: 09:01
Печать  
trad писал(а) 29. Марта 2011 :: 08:57:
oav писал(а) 29. Марта 2011 :: 08:51:
Это как то поможет?...

ошибку подтверждаю.
но не в знаке сравнения, а в неправильности построения границы для присоединенной ИБ


он её от "этой" базы брал что ли для ВТ ?
или просто мусор пихал ?...
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #87 - 29. Марта 2011 :: 09:04
Печать  
Eprst писал(а) 29. Марта 2011 :: 09:01:
trad писал(а) 29. Марта 2011 :: 08:57:
oav писал(а) 29. Марта 2011 :: 08:51:
Это как то поможет?...

ошибку подтверждаю.
но не в знаке сравнения, а в неправильности построения границы для присоединенной ИБ


он её от "этой" базы брал что ли для ВТ ?
или просто мусор пихал ?...


конечно от базы. ?
  
Наверх
 
IP записан
 
oav
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 97
Местоположение: Пермь
Зарегистрирован: 09. Ноября 2009
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #88 - 29. Марта 2011 :: 09:06
Печать  
У меня все же остался вопрос. Это возможно исправить ? И как быстро?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Виртуальные таблицы не учитывает последнего движения
Ответ #89 - 29. Марта 2011 :: 09:10
Печать  
trad писал(а) 29. Марта 2011 :: 08:57:
oav писал(а) 29. Марта 2011 :: 08:51:
Это как то поможет?...

ошибку подтверждаю.
но не в знаке сравнения, а в неправильности построения границы для присоединенной ИБ

а что с буквой И  и I  подтверждаете или нет ?
я то формировал только в родной бд.

также хотелось бы знать если дату задали >= ТА то тогда вообще
не ставить это условие.Чем плох такой вариант ? ( может сложная граматика в vt или это логически не правильно и я до конца чего-то не понимаю)
Случай что кто-то руками переместил ТА
как бы не считается тогда база "летим" даже при простом проведении документа.






  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 4 5 [6] 7 
ОтправитьПечать