Имя: Пароль:
1C
1С v8
Преобразование к типу Число не может быть выполено
, ,
0 sovsemnovichek
 
21.10.13
10:37
Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    Запрос.Текст = "ВЫБРАТЬ
                   |    Таблица.Организация,
                   |    Таблица.Коэффициент
                   |ПОМЕСТИТЬ Таблица1
                   |ИЗ
                   |    &Таблица КАК Таблица
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ТабВидНом.ВидНоменклатуры,
                   |    ТабВидНом.Коэффициент1
                   |ПОМЕСТИТЬ Таблица2
                   |ИЗ
                   |    &ТаблицаВ КАК ТабВидНом
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВложенныйЗапрос.Организация КАК Организация,
                   |    ВложенныйЗапрос.Номенклатура КАК Номенклатура,
                   |    ВложенныйЗапрос.ВидНоменклатуры КАК ВидНоменклатуры,
                   |    Таблица1.Коэффициент КАК Коэффициент,
                   |    Таблица2.Коэффициент1 КАК КоэффициентВидНом,
                   |    ВложенныйЗапрос.Дата КАК Дата
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        РеализацияТоваровУслугТовары.Ссылка.Организация КАК Организация,
                   |        РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
                   |        РеализацияТоваровУслугТовары.Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры,
                   |        РеализацияТоваровУслугТовары.Ссылка.Дата КАК Дата
                   |    ИЗ
                   |        Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                   |    ГДЕ
                   |        РеализацияТоваровУслугТовары.Ссылка.Организация В
                   |                (ВЫБРАТЬ
                   |                    Таблица1.Организация
                   |                ИЗ
                   |                    Таблица1 КАК Таблица1)
                   |        И РеализацияТоваровУслугТовары.Ссылка.ОтражатьВУправленческомУчете
                   |        И РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода
                   |    
                   |    ОБЪЕДИНИТЬ ВСЕ
                   |    
                   |    ВЫБРАТЬ
                   |        РеализацияТоваровУслугУслуги.Ссылка.Организация,
                   |        РеализацияТоваровУслугУслуги.Номенклатура,
                   |        РеализацияТоваровУслугУслуги.Номенклатура.ВидНоменклатуры,
                   |        РеализацияТоваровУслугУслуги.Ссылка.Дата
                   |    ИЗ
                   |        Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
                   |    ГДЕ
                   |        РеализацияТоваровУслугУслуги.Ссылка.Организация В
                   |                (ВЫБРАТЬ
                   |                    Таблица1.Организация
                   |                ИЗ
                   |                    Таблица1 КАК Таблица1)
                   |        И РеализацияТоваровУслугУслуги.Ссылка.ОтражатьВУправленческомУчете
                   |        И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода) КАК ВложенныйЗапрос
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Таблица1 КАК Таблица1
                   |        ПО ВложенныйЗапрос.Организация = Таблица1.Организация
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 КАК Таблица2
                   |        ПО ВложенныйЗапрос.ВидНоменклатуры = Таблица2.ВидНоменклатуры
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ВложенныйЗапрос.Организация,
                   |    ВложенныйЗапрос.Номенклатура,
                   |    ВложенныйЗапрос.Дата,
                   |    Таблица1.Коэффициент,
                   |    ВложенныйЗапрос.ВидНоменклатуры,
                   |    Таблица2.Коэффициент1
                   |ИТОГИ
                   |    СУММА(Коэффициент),
                   |    СУММА(КоэффициентВидНом)
                   |ПО
                   |    Организация,
                   |    Номенклатура";
                  
Запрос.УстановитьПараметр("Таблица",        Таблица);
Запрос.УстановитьПараметр("ТаблицаВ",        ТабВидНом);
Запрос.УстановитьПараметр("НачПериода",        НачПериода);
Запрос.УстановитьПараметр("КонПериода",        КонПериода);

Запрос1 = Запрос.Выполнить();
Выборка = Запрос1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Организация");

Пока Выборка.Следующий() Цикл
    //    ТабДок.Вывести(ОбластьСтрока);

    
    ВыборкаУровень2 = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Номенклатура");
    Пока ВыборкаУровень2.Следующий() Цикл
        
        ВыборкаУровень3  = ВыборкаУровень2.Выбрать();
        Пока ВыборкаУровень3.Следующий() Цикл
        ОбластьСтрока.Параметры.Организация                 = ВыборкаУровень3.Организация;
        
        ОбластьСтрока.Параметры.Товар                        = ВыборкаУровень3.Номенклатура;
          ОбластьСтрока.Параметры.КоэфОрг                     = ВыборкаУровень3.Коэффициент;
           ОбластьСтрока.Параметры.КоэфВида                     = ВыборкаУровень3.КоэффициентВидНом;
          ОбластьСтрока.Параметры.Итог                         = ВыборкаУровень3.Коэффициент * ВыборкаУровень3.КоэффициентВидНом;
         ТабДок.Вывести(ОбластьСтрока);


    КонецЦикла;
  КонецЦикла;  
КонецЦикла;

Проблема в обработке запроса. Когда пытаюсь получать коэффициенты, то первый выбирается, а во со вторым (ВыборкаУровень3.КоэффициентВидНом)проблема. Выдается ошибка о невозможности преобразования к типу ЧИСЛО. Помогите пожалуйста, я запутался немного. Что не так
1 mikecool
 
21.10.13
10:38
там у тебя нулл
2 sovsemnovichek
 
21.10.13
10:38
он просто его не получает, отладчик показывает значение NULL, я не понимаю почему(
3 Рэйв
 
21.10.13
10:39
(2) ЕстьNULL тебе в помощь
4 mikecool
 
21.10.13
10:39
(2) ужас... а почему у тебя там нулл?
5 Kerk
 
21.10.13
10:40
(2) У тебя составной запрос? Ну тогда не удивляйся что на "ВыборкаУровень3" может быть и NULL.
6 sovsemnovichek
 
21.10.13
10:40
т.е. надо проверять Если там пусто, то что-то делать, но ведь там не должно быть пусто, значения в таблицу же я помещаю... Почему он его не считывает?
7 mikecool
 
21.10.13
10:41
|    ВЫБРАТЬ
                   |        РеализацияТоваровУслугУслуги.Ссылка.Организация,
                   |        РеализацияТоваровУслугУслуги.Номенклатура,
                   |        РеализацияТоваровУслугУслуги.Номенклатура.ВидНоменклатуры,
                   |        РеализацияТоваровУслугУслуги.Ссылка.Дата
                   |    ИЗ
                   |        Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
                   |    ГДЕ
                   |        РеализацияТоваровУслугУслуги.Ссылка.Организация В
                   |                (ВЫБРАТЬ
                   |                    Таблица1.Организация
                   |                ИЗ
                   |                    Таблица1 КАК Таблица1)
                   |        И РеализацияТоваровУслугУслуги.Ссылка.ОтражатьВУправленческомУчете
                   |        И РеализацияТоваровУслугУслуги.Ссылка.Дата МЕЖДУ &НачПериода И &КонПериода) КАК ВложенныйЗапрос
                   |        ЛЕВОЕ СОЕДИНЕНИЕ Таблица1 КАК Таблица1
                   |        ПО ВложенныйЗапрос.Организация = Таблица1.Организация

здесь можно внутреннее соединение лепить с Таблица1
8 mikecool
 
21.10.13
10:41
(6) в (3) все сказано
9 sovsemnovichek
 
21.10.13
10:42
ВНУТРЕННЕ СОЕДИНЕНИЕ поможет решить проблему?
10 Kerk
 
21.10.13
10:43
(9) У тебя не в соединения дело: или данные не те, или запрос криво написан.
11 hhhh
 
21.10.13
10:49
(9) вот это проверяйте

Номенклатура.ВидНоменклатуры

видимо не у всей номенклатуры заполнен вид

или не все виды перечислены в таблица2
12 Kerk
 
21.10.13
10:49
У тебя во "ВложенныйЗапрос.ВидНоменклатуры" больше чем в "Таблица2.ВидНоменклатуры". Вот и ищи где косяк... ;)
13 Kerk
 
21.10.13
10:50
(11) +1
14 sovsemnovichek
 
21.10.13
10:57
спасибо большое за помощь, буду разбираться=)
15 sovsemnovichek
 
21.10.13
11:04
Разобрался в чем косяк)Просто если а таблице С видами номенклатуры нет, какого-то вида, а товар такого вида есть, тот он ругается
16 sovsemnovichek
 
21.10.13
11:05
Разобрался в чем косяк)Просто если в таблице с ВидамиНоменклатуры нет какого-то вида, а товар такого вида есть, тот он ругается