Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Деление на 1 (число прочтений - 5516 )
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Деление на 1
01. Сентября 2009 :: 06:00
Печать  
ТекстЗапроса="
    SELECT
     $Рег.Товар as Товар,
     $Рег.ОстатокТовара,
     $Рег.ОстатокТовара/1 AS [остаток $число]
    FROM
       $РегистрИтоги.ОстаткиТоваров as Рег
    WHERE
       Рег.Period = :НачалоМесяца~~ AND $Рег.Склад = :Склад
    ORDER BY Товар
    ";

Вот тут

$Рег.ОстатокТовара/1 получается лажа

Если $Рег.ОстатокТовара>1000

то деление на 1 возвращает совсем ни $Рег.ОстатокТовара
не пойму почему так.

полная статья обсуждения с мисты.
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #1 - 01. Сентября 2009 :: 06:00
Печать  
вот
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #2 - 01. Сентября 2009 :: 06:00
Печать  
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Деление на 1
Ответ #3 - 01. Сентября 2009 :: 06:18
Печать  
yhvvh писал(а) 01. Сентября 2009 :: 06:00:

там нужно до (36) дочитать что бы узнать что речь про дбф
  

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


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #4 - 01. Сентября 2009 :: 06:28
Печать  
помогите чем нибудь
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Деление на 1
Ответ #5 - 01. Сентября 2009 :: 06:29
Печать  
Да, надо указывать, что у тебя ДБФ и что ты используешь ОЛЕ ДБ провайдер.

У меня идеи только из разряда "пальцем в небо":
1. сделать GROUP BY Товар
2. Отключить кэш провайдера. Как сделать - не помню, юзай поиск, kiruha где-то писал
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #6 - 01. Сентября 2009 :: 06:32
Печать  
странно такой глюк и никто ни разу не задавлся вопросом.
любое деление на 1 дает не верный результат, что ни кто не встречал что ли?
  
Наверх
 
IP записан
 
Alex_Bob
Full Member
***
Отсутствует



Сообщений: 136
Местоположение: Липецк
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Деление на 1
Ответ #7 - 01. Сентября 2009 :: 07:33
Печать  
Попробуй STR($Рег.ОстатокТовара/1,15,2) AS [остаток.число].
Для вычисляемых внутри SQL-запроса выражений Foxpro ничего не знает о том какой ширины может получиться результат и пытается ее определить по первому результату.
  

Необходимо время, чтобы восстановить хаос. (с) Дж. Буш (младший)
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Деление на 1
Ответ #8 - 01. Сентября 2009 :: 07:40
Печать  
А зачем вообще делить на 1 ? ( Опиши лучше свою задачу )
ИХМО Если это уж так необходимо то делай это на клиенте
пробежавшись по всем строкам ТЗ.
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #9 - 01. Сентября 2009 :: 08:00
Печать  
давайте не будем ля ля
задача описана в ветки на мисте
деление на 1 может всегда произойти
в моем конкретном случае (а их может быть миллион)
делю на кофф. ед. изм а он может быть равен 1 согласись?

и во первых что значит пробегись ?
если данные можно а точнее нужно вытянуть с помощью внутренних запросов будет гораздо эффективней чем делать это на клиенте и гораздо быстрей.

во вторых , что за провайдер такой который не может обеспечит правельное деление на 1?

это ладно что у меня хватило ума отловаить ситуацию, а  в  некоторых случаях этого можно и не заметить.

вообщем прихожу к выводу что грабли в кривой или компоненте 1спп или провадера.

и скорей всего это относиться только к дбф
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #10 - 01. Сентября 2009 :: 08:02
Печать  
Alex_Bob писал(а) 01. Сентября 2009 :: 07:33:
Попробуй STR($Рег.ОстатокТовара/1,15,2) AS [остаток.число].
Для вычисляемых внутри SQL-запроса выражений Foxpro ничего не знает о том какой ширины может получиться результат и пытается ее определить по первому результату.


на счет прведущего значение согласен, обойти ситуацию можно и другим способом через IIF проверять на 1 и не делить, но хотелось бы знать где лежат грабли. и к томуже нет гаорнтии что это только на 1.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Деление на 1
Ответ #11 - 01. Сентября 2009 :: 08:17
Печать  
Что-нибудь из 5 пробовал?
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #12 - 01. Сентября 2009 :: 08:47
Печать  
JohnyDeath писал(а) 01. Сентября 2009 :: 08:17:
Что-нибудь из 5 пробовал?


скачал послдений а он вроде и был последний драйвер
http://www.microsoft.com/downloads/details.aspx?FamilyId=E1A87D8F-2D58-491F-A0FA...

потом почитал но то ни то не знаю, про кеш.
статью
http://www.1cpp.ru/forum/YaBB.pl?num=1225325046/all
но ниче не помогло
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Деление на 1
Ответ #13 - 01. Сентября 2009 :: 08:57
Печать  
Перед выполнением своего запроса делал как в http://www.1cpp.ru/forum/YaBB.pl?num=1225325046/all#32 и ничего не помогло?
А с группировкой что показывает?
  
Наверх
 
IP записан
 
yhvvh
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 01. Сентября 2009
Re: Деление на 1
Ответ #14 - 01. Сентября 2009 :: 09:05
Печать  
угу, занова сохдовал, но проблема ни в кеше кажись

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