Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 03:59

Как вывести некоторое значение вместо NULL в запросе??

Автор Sonik, 16 мар 2011, 11:58

0 Пользователей и 2 гостей просматривают эту тему.

Sonik

такой запрос:
ВЫБРАТЬ
   ПутевойЛистСуммы.ВидТоплива КАК ВидТоплива,
   ПутевойЛистСуммы.Ссылка.Водитель КАК Водитель2,
   ПутевойЛистСуммы.Ссылка.Автотранспорт,
   ПутевойЛистСуммы.Ссылка.ПробегКонечный КАК ПробегКонечный,
   ПутевойЛистСуммы.Ссылка.ПробегНачальный КАК ПробегНачальный,
   ПутевойЛистСуммы.Ссылка.ПробегКонечный - ПутевойЛистСуммы.Ссылка.ПробегНачальный КАК ПробегЗаПериод,
   ПутевойЛистСуммы.ОстатокНачальный КАК ОстатокНачальный,
   ПутевойЛистСуммы.ОстатокКонечный КАК ОстатокКонечный,
   ЕСТЬNULL(ПутевойЛистСуммы.Выдано,1) КАК Выдано,           // Тут пытаюсь присвоить значение "1"
   ПутевойЛистСуммы.СуммаВыданногоТоплива КАК СуммаВыданногоТоплива,
   ПутевойЛистСуммы.Израсходовано КАК Израсходовано,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
   
   ХозрасчетныйОстаткиИОбороты.Период,
   ХозрасчетныйОстаткиИОбороты.Счет,
   
   ПутевойЛистСуммы.Израсходовано * ПутевойЛистСуммы.СуммаВыданногоТоплива/Выдано  КАК СуммаОборот1,
   ПутевойЛистСуммы.Ссылка.Дата,
   УчетРасходаТОпливаСуммы.Ссылка.ХозОперация,
   РегистрационныйНомерСрезПоследних.Значение КАК РегистрационныйНомер,
   ПутевойЛистСуммы.Ссылка.Водитель.Наименование КАК ВодительНаименование
//#ВЫБРАТЬ#

ИЗ
   Документ.ПутевойЛист.Суммы КАК ПутевойЛистСуммы
//#СОЕДИНЕНИЯ#

      ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Основной.ОстаткиИОбороты(, , Запись, , , , ) КАК ХозрасчетныйОстаткиИОбороты
      ПО ПутевойЛистСуммы.Ссылка.Автотранспорт = ХозрасчетныйОстаткиИОбороты.Регистратор.Автотранспорт
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыАвтотранспорта.СрезПоследних(, Идентификатор = "Регистрационный номер") КАК РегистрационныйНомерСрезПоследних
      ПО ПутевойЛистСуммы.Ссылка.Автотранспорт = РегистрационныйНомерСрезПоследних.Автотранспорт
      ЛЕВОЕ СОЕДИНЕНИЕ Документ.УчетРасходаТоплива.Суммы КАК УчетРасходаТОпливаСуммы
      ПО (УчетРасходаТОпливаСуммы.Ссылка.Автотранспорт = ХозрасчетныйОстаткиИОбороты.Регистратор.Автотранспорт)
         И (УчетРасходаТОпливаСуммы.Ссылка.ВидТоплива = ПутевойЛистСуммы.ВидТоплива)
         И (УчетРасходаТОпливаСуммы.ПутевойЛист = ПутевойЛистСуммы.Ссылка)
       // ГДЕ  ПутевойЛистСуммы.Выдано<>0
         
СГРУППИРОВАТЬ ПО

   ПутевойЛистСуммы.ВидТоплива,
   ПутевойЛистСуммы.Ссылка.Водитель,
   ПутевойЛистСуммы.Ссылка.Автотранспорт,
   ПутевойЛистСуммы.Ссылка.ПробегКонечный,
   ПутевойЛистСуммы.Ссылка.ПробегНачальный,
   ПутевойЛистСуммы.Ссылка.ПробегКонечный - ПутевойЛистСуммы.Ссылка.ПробегНачальный,
   ПутевойЛистСуммы.ОстатокНачальный,
   ПутевойЛистСуммы.ОстатокКонечный,
   ПутевойЛистСуммы.Выдано,
   ПутевойЛистСуммы.СуммаВыданногоТоплива,
   ПутевойЛистСуммы.Израсходовано,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.Период,
   ХозрасчетныйОстаткиИОбороты.Счет,
   УчетРасходаТОпливаСуммы.Ссылка.ХозОперация,
   ПутевойЛистСуммы.Ссылка.Дата,
   РегистрационныйНомерСрезПоследних.Значение,
   ПутевойЛистСуммы.Ссылка.Водитель.Наименование
//#СГРУППИРОВАТЬ#


УПОРЯДОЧИТЬ ПО
   ВодительНаименование
ИТОГИ
   СУММА(ПробегКонечный),
   СУММА(ПробегНачальный),
   СУММА(ОстатокНачальный),
   СУММА(ОстатокКонечный),
   //СУММА(Выдано),
   СУММА(СуммаВыданногоТоплива),
   СУММА(Израсходовано)
   //СУММА(СуммаОборот1)
//#ИТОГИ#

ПО
   ОБЩИЕ


Пытаюсь присвоить другое значение, когда 0, но нечего не получается((


Klyacksa

Sonik, используйте, пожалуйста, форматирование кода. Ну не приятно же читать!..

По вопросу: правильно пытаетесь присвоить. Только, кажется, не знаете разницы между значением NULL и 0 :)
NULL - это если при соединение таблиц соответствие в одной из таблиц не найдено,
0 - это просто число.

Если хотите выводить 1 вместо 0, нужно написать:

ВЫБОР КОГДА ЕСТЬNULL(ПутевойЛистСуммы.Выдано,1)=0
       ТОГДА 1
       ИНАЧЕ ЕСТЬNULL(ПутевойЛистСуммы.Выдано,1)
КОНЕЦ КАК Выдано,
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Sonik

Спасибо большое)) а как теперь итоговую сумму вывести по колонке "Выдано"?

Klyacksa

Добавьте это поле как и остальные в суммируемые поля :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Sonik


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск