Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Нулевые остатки по регистру (число прочтений - 2754 )
boks
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 39
Зарегистрирован: 24. Октября 2007
Нулевые остатки по регистру
05. Марта 2008 :: 05:51
Печать  
Есть рабочий запрос

             РС = СоздатьОбъект("ODBCRecordSet");
           
           ТекстЗапросаОПТ = "          
           
           |SELECT
           
           |  Спр.Code as Код,
           
           |  Спр.IsFolder as Группа,
           
           |  ТовРодитель.Code as КодРод ,
        
           |  Спр.Descr as Наименование,
           
           |  Спр.ID as [Товар $Справочник.Товары],
                                                                 
           |  Рег.КоличествоОстаток as КонОст
           
           |FROM
           
           | $РегистрОстатки.ОстаткиТоваров(:КонДата~,,,(Товар), (Количество)) as Рег
           
           | INNER JOIN
           
           | $Справочник.Товары as Спр ON Спр.ID = Рег.Товар
           
           | LEFT JOIN
           
           | $Справочник.Товары as ТовРодитель ON ТовРодитель.ID = Спр.ParentID
           
           |";
     
           
           Если ВыбТоварСписок.РазмерСписка()<>0 Тогда
               ТекстЗапросаОПТ = ТекстЗапросаОПТ + "
                 |WHERE            
           
               |  Спр.ID IN (SELECT Val FROM #Группа)";
           ИначеЕсли ВыбТовар.Выбран()=1 Тогда
                 ТекстЗапросаОПТ = ТекстЗапросаОПТ + "
                 |WHERE            
           
               |  Спр.ID IN (SELECT Val FROM #ВыбТовар)";
           КонецЕсли;
                 
           
           ТекстЗапросаОПТ = ТекстЗапросаОПТ + "
           
           |ORDER BY
           
           |  Спр.Code, Спр.Descr
           
           |";
           
           
           РС.УстановитьТекстовыйПараметр("КонДата", Кон);
           РС.УложитьСписокОбъектов(ВыбТовар,"#ВыбТовар","Товары" );
           РС.УложитьСписокОбъектов(ВыбТоварСписок, "#Группа", "Товары");
           
           оТЗопт = РС.ВыполнитьИнструкцию(ТекстЗапросаОПТ);

Проблема в том, что если добавить условие |AND (Рег.КоличествоОстаток=0), то запрос получается пустым. Печаль
Можно как-нибудь получить остатки товаров = 0 ?
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Нулевые остатки по регистру
Ответ #1 - 05. Марта 2008 :: 07:04
Печать  
Сам то понял что спросил?
получать остатки которых нет  Ужас
  
Наверх
ICQ  
IP записан
 
U_zer
Экс-Участник


Re: Нулевые остатки по регистру
Ответ #2 - 05. Марта 2008 :: 07:22
Печать  
Nick писал(а) 05. Марта 2008 :: 07:04:
Сам то понял что спросил?
получать остатки которых нет  Ужас



Да ладно, не ругайся  Улыбка

Тут имхо нужно использовать еще один ресурс, например, сумму, с тем чтобы срабатывало условие
по сумме <> 0, а по количеству - равно нулю.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Нулевые остатки по регистру
Ответ #3 - 05. Марта 2008 :: 07:27
Печать  
Цитата:
Тут имхо нужно использовать еще один ресурс, например, сумму, с тем чтобы срабатывало условие 
по сумме <> 0, а по количеству - равно нулю.


Вы что тут все издеваитесь  Смех

Если запрос с одним устовием пустой то как при добавлении ещё одного условия через AND в нём появятся строки?

ты видимо тоже не совсем понял что сказал Печаль
  
Наверх
ICQ  
IP записан
 
U_zer
Экс-Участник


Re: Нулевые остатки по регистру
Ответ #4 - 05. Марта 2008 :: 07:40
Печать  
Понял.

Вот запрос, который работает на ура.

Код
Выбрать все
select
РегОст.измТОвар [Товары $Справочник.Товары]
from $РегистрОстатки.Товары(:ДатаНач~, inner join $Справочник.Товары СпрТ (nolock) on СпрТ.id = измТовар, $СпрТ.спрПроизводитель = :ВыбПроизводитель and измСклад = :ВыбСклад, (измТовар),(ресКоличество, ресСуммаБаз)) РегОст
where РегОст.ресКоличествоОстаток = 0
 

  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Нулевые остатки по регистру
Ответ #5 - 05. Марта 2008 :: 07:45
Печать  
Кстати, если включить отладку, и посмотреть, во что разворачивается конструкция $РегистрОстатки.ОстаткиТоваров(:КонДата~,,,(Товар), (Количество)) , то все вопросы сразу отпадут.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Нулевые остатки по регистру
Ответ #6 - 05. Марта 2008 :: 07:56
Печать  
вово
юзайте
having
только не ВТ
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать