Имя: Пароль:
1C
1С v8
Проверка на NULL
0 tg30000
 
28.08.12
13:52
Подскажите как мне если тип значения в запросе NULL заменить его на 0 ?


ВЫБРАТЬ
   СУММА(Счет_00_116.Сумма) КАК Сумма
ИЗ
   РегистрНакопления.Счет_00_116 КАК Счет_00_116
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Перемещение_Счет_00_116_списание.ТЧ КАК Перемещение_Счет_00_116_списаниеТЧ
       ПО Счет_00_116.Регистратор = Перемещение_Счет_00_116_списаниеТЧ.Ссылка
           И Счет_00_116.Номенткатура = Перемещение_Счет_00_116_списаниеТЧ.Номенклатура
ГДЕ
   Счет_00_116.Период МЕЖДУ &ДатаН И &ДатаК
   И Счет_00_116.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   И Перемещение_Счет_00_116_списаниеТЧ.Ссылка.Дата МЕЖДУ &ДатаН И &ДатаК
1 Ненавижу 1С
 
гуру
28.08.12
13:53
ЕСТЬNULL(Чтото,0)
2 ДенисЧ
 
28.08.12
13:53
Продам СП..., точнее встроенную справку конфигуратора...
3 Ненавижу 1С
 
гуру
28.08.12
13:54
(2) дорого?
4 ДенисЧ
 
28.08.12
13:55
(3) ты потянешь...
5 andrewks
 
28.08.12
13:55
(3) атстатыщ! ;-)
6 tg30000
 
28.08.12
13:57
ВЫБРАТЬ
 ЕСТЬNULL(СУММА(Счет_00_116.Сумма,0)
   СУММА(Счет_00_116.Сумма) КАК Сумма
ИЗ
   РегистрНакопления.Счет_00_116 КАК Счет_00_116
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Перемещение_Счет_00_116_списание.ТЧ КАК Перемещение_Счет_00_116_списаниеТЧ
       ПО Счет_00_116.Регистратор = Перемещение_Счет_00_116_списаниеТЧ.Ссылка
           И Счет_00_116.Номенткатура = Перемещение_Счет_00_116_списаниеТЧ.Номенклатура
ГДЕ
   Счет_00_116.Период МЕЖДУ &ДатаН И &ДатаК
   И Счет_00_116.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   И Перемещение_Счет_00_116_списаниеТЧ.Ссылка.Дата МЕЖДУ &ДатаН И &ДатаК



что-то не пойму как правильно написать... хелп, если не сложно..
7 Wobland
 
28.08.12
13:57
(2) за дорого я бы взял. если там будут иллюстрации с женщинами
8 Wobland
 
28.08.12
13:58
(6) откуда у тебя во внутреннем соединении NULL?
9 tg30000
 
28.08.12
14:00
(8)есть .
10 Fragster
 
гуру
28.08.12
14:00
запрос из (6) не рабочий
11 andrewks
 
28.08.12
14:00
(9) вопрос был: откуда?
12 Wobland
 
28.08.12
14:01
(9) я, наверное, заболел..
13 tg30000
 
28.08.12
14:02
(8) как правильно для суммы в запрос вставить такую проверку что бы null заменить на 0
Документы не вводились за август и значение null
14 Wobland
 
28.08.12
14:03
СУММА(ЕСТЬNULLСчет_00_116.Сумма, 0))
15 andrewks
 
28.08.12
14:03
(10) ты про "Номенткатура " ?
16 andrewks
 
28.08.12
14:04
каков смысл запроса?
17 andrewks
 
28.08.12
14:05
точнее, спросим по-другому: каков смысл соединения?
18 tg30000
 
28.08.12
14:07
ТабДок=Новый ТабличныйДокумент;
   
   //---Запрос
   Запрос=Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
   |    Счет_00_116ОстаткиИОбороты.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
   |    Счет_00_116ОстаткиИОбороты.СуммаПриход КАК СуммаПриход,
   |    Счет_00_116ОстаткиИОбороты.СуммаРасход КАК СуммаРасход,
   |    Счет_00_116ОстаткиИОбороты.СуммаОборот КАК СуммаОборот,
   |    Счет_00_116ОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток
   |ИЗ
   |    РегистрНакопления.Счет_00_116.ОстаткиИОбороты(&ДатаН, КОНЕЦПЕРИОДА(&ДатаК, ДЕНЬ), , , ) КАК Счет_00_116ОстаткиИОбороты";
   
   
   Запрос.УстановитьПараметр("ДатаН",ДатаН);
   Запрос.УстановитьПараметр("ДатаК",ДатаК);
   Результат=Запрос.Выполнить();
   Выборка=Результат.Выбрать();
   //---Запрос
   
   //---Запрос перемещение
   Запрос1=Новый Запрос;
   Запрос1.Текст="ВЫБРАТЬ
   |    СУММА(Счет_00_116.Сумма) КАК Сумма
   |ИЗ
   |    РегистрНакопления.Счет_00_116 КАК Счет_00_116
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Перемещение_Счет_00_116_списание.ТЧ КАК Перемещение_Счет_00_116_списаниеТЧ
   |        ПО Счет_00_116.Регистратор = Перемещение_Счет_00_116_списаниеТЧ.Ссылка
   |            И Счет_00_116.Номенткатура = Перемещение_Счет_00_116_списаниеТЧ.Номенклатура
   |ГДЕ
   |    Счет_00_116.Период МЕЖДУ &ДатаН И &ДатаК
   |    И Счет_00_116.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
   |    И Перемещение_Счет_00_116_списаниеТЧ.Ссылка.Дата МЕЖДУ &ДатаН И &ДатаК";
   
   Запрос1.УстановитьПараметр("ДатаН",ДатаН);
   Запрос1.УстановитьПараметр("ДатаК",ДатаК);
   Результат1=Запрос1.Выполнить();
   Выборка1=Результат1.Выбрать();
   //---Запрос перемещение
   
   
   
   
   
   Макет=ПолучитьМакет("Макет");
   //получение областей макета
   ОблШапка=Макет.ПолучитьОбласть("Шапка");
   ОблШапкаСтрока=Макет.ПолучитьОбласть("ШапкаСтрока");
   ОблстрВхСальдо=Макет.ПолучитьОбласть("стрВхСальдо");
   ОблПеремещение=Макет.ПолучитьОбласть("Перемещение");
   ОблПриходРасход=Макет.ПолучитьОбласть("ПриходРасход");
   ОблОборот=Макет.ПолучитьОбласть("Оборот");
   облстрИсхСальдо=Макет.ПолучитьОбласть("стрИсхСальдо");
   
   
   //вывод макета
   //шапка
   ОблШапка.Параметры.ДатаН=ДатаН;
   ОблШапка.Параметры.ДатаК=ДатаК;
   ОблШапка.Параметры.ТекущаяДата=ТекущаяДата();
   ТабДок.Вывести(ОблШапка);
   //ШапкаСтрока
   ТабДок.Вывести(ОблШапкаСтрока);
   
   
   Пока Выборка.Следующий() Цикл
       //стрВхСальдо
       ОблстрВхСальдо.Параметры.Заполнить(Выборка);
       ОблстрВхСальдо.Параметры.ДатаН=ДатаН;
       ТабДок.Вывести(ОблстрВхСальдо);
       
       //перемещение
       Пока Выборка1.Следующий() Цикл
       //Если Выборка1.Сумма.Зна Тогда    
           ОблПеремещение.Параметры.Заполнить(Выборка1);    
           ТабДок.Вывести(ОблПеремещение);
       //КонецЕсли;
       КонецЦикла;
       
       //ПриходРасход
       ОблПриходРасход.Параметры.При=Выборка.СуммаПриход-Выборка1.Сумма;
       ОблПриходРасход.Параметры.Рас=Выборка.СуммаРасход-Выборка1.Сумма;
       ТабДок.Вывести(ОблПриходРасход);

       
       //Оборот
       ОблОборот.Параметры.Заполнить(Выборка);
       ТабДок.Вывести(ОблОборот);
       
       //стрИсхСальдо    
       ОблстрИсхСальдо.Параметры.Заполнить(Выборка);
       облстрИсхСальдо.Параметры.ДатаК=ДатаК;
       ТабДок.Вывести(ОблстрИсхСальдо);
   КонецЦикла;
   
   
   
   ТабДок.Показать();
   
   
   
КонецПроцедуры
19 tg30000
 
28.08.12
14:08
что-то что попало написал кто делал..
20 vmv
 
28.08.12
14:08
меня бесит префикс Счет_00_116, предлагаю расстрелять автора
21 Wobland
 
28.08.12
14:09
(19) про ЕСТЬNULL понял? делай
22 Ненавижу 1С
 
гуру
28.08.12
14:09
ЕСТЬNULL(СУММА(Счет_00_116.Сумма),0) КАК Сумма
23 Nenaviwu1c20
 
28.08.12
14:33
второй вариант
ВЫБОР
                                       КОГДА <Выражение> ТОГДА <Выражение>
                                       ИНАЧЕ <Выражение>
                                   КОНЕЦ                            КОНЕЦ
24 Nenaviwu1c20
 
28.08.12
14:33
там один конец если что но вроде есть нулл всегда спасала
25 andrewks
 
28.08.12
14:34
(22)(23) О_о клон?
26 Nenaviwu1c20
 
28.08.12
14:35
Гыыыыыы)))
27 Ненавижу 1С
 
гуру
28.08.12
14:37
(26) бабки гони
28 tg30000
 
28.08.12
14:39
Спасибо всем за помощь , сделал!)
Всем хорошего дня)
29 Nenaviwu1c20
 
28.08.12
15:01
Ты всего то его единыжды ненавидишь а я целых 20 раз)
30 Nenaviwu1c20
 
28.08.12
15:01
деньги с тебя)
31 Ненавижу 1С
 
гуру
28.08.12
15:01
(29) ха, да ты просто ненавидишь, только версию 2.0
32 Nenaviwu1c20
 
28.08.12
16:27
да ты батя эстет раз связываешь 20 с бухгалтерией 2,0)))))))))))))
33 Ненавижу 1С
 
гуру
29.08.12
10:11
(32) ошибаешься, с платформой 1с 2.0
34 hhhh
 
29.08.12
10:36
(32) сейчас "20" как число 20 воспринимают только эстеты. 99% одинэсников читают правильно: "два-ноль".
35 spock
 
29.08.12
10:47
кто написал так: ЕСТЬNULL(СУММА(Счет_00_116.Сумма,0) - садитесь, два бала!