Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) $ПоследнееЗначение неверно возвращает результат (число прочтений - 4874 )
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
$ПоследнееЗначение неверно возвращает результат
26. Июня 2012 :: 07:47
Печать  
Есть задача, выбрать остатки по регистру и подсчитать их стоимость в закупочных ценах. Запрос написал, возвращается таблица значений, все хорошо, вот только значение цен возвращает такое, которых в справочнике даже нет, не могу понять куда копать, помогите советом или может кто ошибку увидет. Заранее благодарен.

ТекстЗапроса = "
|SELECT
|SprNomenkl.code as Код,
|SprSkl.descr as Склад,
|Рег.ОстатокТовараОстаток as Количество,
|$ПоследнееЗначение.Цены.Цена(Рег.Товар, :dStartDate) as Цена
|FROM
|$РегистрОстатки.ОстаткиТоваров(:dStartDate,,(Фирма = $ПустойИД),(Товар, Склад),(ОстатокТовара)) as Рег
|Left join $Справочник.Номенклатура SprNomenkl (nolock) on SprNomenkl.id = Рег.Товар
|Left  join $Справочник.Цены СпрЦ (nolock) ON СпрЦ.ParentExt = Рег.Товар AND $СпрЦ.КатегорияЦены = :ТипЦен1
|left join $Справочник.МестаХранения SprSkl (nolock) on SprSkl.id = Рег.Склад
|WHERE Рег.ОстатокТовараОстаток > 0
|";

RS.УстановитьТекстовыйПараметр("dStartDate", КонДата);
RS.УстановитьТекстовыйПараметр("ТипЦен1", ВыбТипЦен1);
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #1 - 26. Июня 2012 :: 08:11
Печать  
Попробуй ":dStartDate~~"
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #2 - 26. Июня 2012 :: 08:17
Печать  
Тоже самое возвращает, как и раньше.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #3 - 26. Июня 2012 :: 08:29
Печать  
(0) Как ты можешь знать что неправильно работает если даже товар не выводишь
в результирующую таблицу ?
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #4 - 26. Июня 2012 :: 08:45
Печать  
Я вывожу код товара, мне этого достаточно, чтобы в 1С его идентифицировать. Коды - все уникальные, проверено.
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #5 - 26. Июня 2012 :: 08:46
Печать  
[quote author=men260181 link=1340696854/0#0 date=1340696854]может кто ошибку увидет.[/quote]
$ПоследнееЗначение.Цены.Цена([highlight]Рег.Товар[/highlight], :dStartDate)
периодическое значение цены у тебя привязано к справочнику Цены, а не к номенклатуре
  

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



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #6 - 26. Июня 2012 :: 08:47
Печать  
Нужно так:
$ПоследнееЗначение.Цены.Цена(СпрЦ.id, :dStartDate)
  

1&&2&&3
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #7 - 26. Июня 2012 :: 09:02
Печать  
Не взлетело, теперь вместо левых цен возвращает 0 по всем позициям.
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #8 - 26. Июня 2012 :: 09:06
Печать  
Может проблема с условием:  AND $СпрЦ.КатегорияЦены = :ТипЦен1

ТипЦен1 - это значение типа 1cv7 OLE.Справочник.ТипыЦен.ЭлементСправочника. В отладчике значение заполнено.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #9 - 26. Июня 2012 :: 09:17
Печать  
без этого условия что кажет хоть ?

ВыбТипЦен1 - откуда взялось ? Что устанавливаешь туда ?
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #10 - 26. Июня 2012 :: 09:19
Печать  
ВыбТипЦен1 = ПриложениеV7.CreateObject("Справочник.КатегорииЦен");
ВыбТипЦен1.НайтиПоНаименованию("Закупочная");

как итог, там выбран элемент справочника.
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #11 - 26. Июня 2012 :: 09:20
Печать  
В отладчике ВыбТипЦен1.Наименвание = "Закупочная", ВыбТипЦен1.Код = "1"
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #12 - 26. Июня 2012 :: 09:21
Печать  
Ребят, всем спасибо! Победил!
Надо было вместо RS.УстановитьТекстовыйПараметр("ТипЦен1", ВыбТипЦен1); - вот это RS.УстановитьТекстовыйПараметр("ТипЦен1", ВыбТипЦен1.ТекущийЭлемент());
Все дело оказалось в .ТекущийЭлемент()
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #13 - 26. Июня 2012 :: 09:22
Печать  
men260181 писал(а) 26. Июня 2012 :: 09:19:
ВыбТипЦен1 = ПриложениеV7.CreateObject("Справочник.КатегорииЦен");
ВыбТипЦен1.НайтиПоНаименованию("Закупочная");

как итог, там выбран элемент справочника.


Зачет.. А сам запрос тоже в ОЛЕ-базе выполняется ?
  
Наверх
 
IP записан
 
men260181
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 26. Июня 2012
Re: $ПоследнееЗначение неверно возвращает результат
Ответ #14 - 26. Июня 2012 :: 09:22
Печать  
trad отдельное спасибо тебе за ценное замечание, без него бы не взлетело!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать