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

Помогите с модулем

Автор gliokker, 01 авг 2013, 12:24

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

gliokker

  Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |   уатНормыРасходаГСМ.МодельТС,
                  |   уатНормыРасходаГСМ.НормаНаЕздку,
                  |   уатНормыРасходаГСМ.ЛинейнаяНорма,
                  |   уатНормыРасходаГСМ.МодельТС.СобственныйВес КАК СобственныйВес,
                  |   уатНормыРасходаГСМ.МодельТС.Грузоподъемность КАК Грузоподъемность,
                  |   уатНормыРасходаГСМ.НормаНаТранспортнуюРаботу КАК НаТранспортнуюРаботу,
                  |   ВложенныйЗапрос.КоличествоЕздок,
                  |   ВложенныйЗапрос.КоличествоКмГруз,
                  |   ВложенныйЗапрос.Ссылка.СпидометрВозвращения КАК СпидометрВозвращения,
                  |   ВложенныйЗапрос.Ссылка.СпидометрВыезда КАК СпидометрВыезда
                  |ИЗ
                  |   (ВЫБРАТЬ
                  |      СУММА(уатПутевойЛистЗадание.КоличествоЕздок) КАК КоличествоЕздок,
                  |      СУММА(уатПутевойЛистЗадание.КоличествоКмГруз) КАК КоличествоКмГруз,
                  |      уатПутевойЛистЗадание.Ссылка КАК Ссылка
                  |   ИЗ
                  |      Документ.уатПутевойЛист.Задание КАК уатПутевойЛистЗадание
                  |   ГДЕ
                  |      уатПутевойЛистЗадание.Ссылка = &Ссылка
                  |   
                  |   СГРУППИРОВАТЬ ПО
                  |      уатПутевойЛистЗадание.Ссылка) КАК ВложенныйЗапрос
                  |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.уатНормыРасходаГСМ КАК уатНормыРасходаГСМ
                  |      ПО ВложенныйЗапрос.Ссылка.ТранспортноеСредство.Модель = уатНормыРасходаГСМ.МодельТС";
   Запрос.УстановитьПараметр("Ссылка",уатПутевойЛист.Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
   Если Выборка.Следующий() Тогда
   //Выборка.Выбрать(уатНормыРасходаГСМ.МодельТС) =  МодельТС;
            НормаНаЕздку = Выборка.НормаНаЕздку;
      ЛинейнаяНорма = Выборка.ЛинейнаяНорма;
      СобственныйВес = Выборка.СобственныйВес;
      Грузоподъемность = Выборка.Грузоподъемность;
      НормаНаТранспортнуюРаботу = Выборка.НаТранспортнуюРаботу;
   
   КонецЕсли;
КоличествоЕздок =уатПутевойЛист.Задание.Итог.КоличествоЕздок;   
СпидометрВозвращения = уатПутевойЛист.Итог.СпидометрВозвращения;
СпидометрВыезда =    уатПутевойЛист.Итог.СпидометрВыезда;
КоличествоКмГруз = уатПутевойЛист.Задание.Итог(КоличествоКмГруз);

Рез = 0.01 * ((НаТранспортнуюРаботу + ЛинейнаяНорма * (Грузоподъемность + 0.5 * Грузоподъемность ) - ЛинейнаяНорма *
(Грузоподъемность + 0.5 * Грузоподъемность)) *  (СпидометрВозвращения - СпидометрВыезда) +
ЛинейнаяНорма * КоличествоКмГруз  *  Грузоподъемность ) * (1 + 0.01 ) +  НормаНаЕздку *  КоличествоЕздок ;
  КонецФункции

Почему то выскакивает ошибка
ОбщийМодуль.РасчётГСМПоНорме.Модуль(59,16)}: Переменная не определена (НаТранспортнуюРаботу)
Рез = 0.01 * ((<<?>>НаТранспортнуюРаботу + ЛинейнаяНорма * (Грузоподъемность + 0.5 * Грузоподъемность ) - ЛинейнаяНорма * (Проверка: Толстый клиент (обычное приложение

Подскажите как это исправить

Dethmontt

Ну так переменная не объявлена...
Добавлено: 01 авг 2013, 12:39


Цитата: gliokker от 01 авг 2013, 12:24Подскажите как это исправить
Объявить переменную...
Например:
НаТранспортнуюРаботу = 0;
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

gliokker

Цитата: Dethmontt от 01 авг 2013, 12:38
Ну так переменная не объявлена...
Добавлено: 01 авг 2013, 12:39


Цитата: gliokker от 01 авг 2013, 12:24Подскажите как это исправить
Объявить переменную...
Например:
НаТранспортнуюРаботу = 0;
А не подскажите зачем это нужно?и если  поставлю ноль то и значене тоже будет ноль?

mixqn

Цитата: gliokker от 01 авг 2013, 12:24Рез = 0.01 * ((НаТранспортнуюРаботу + ЛинейнаяНорма * (Грузоподъемность + 0.5 * Грузоподъемность ) - ЛинейнаяНорма *
(Грузоподъемность + 0.5 * Грузоподъемность)) *  (СпидометрВозвращения - СпидометрВыезда) +
ЛинейнаяНорма * КоличествоКмГруз  *  Грузоподъемность ) * (1 + 0.01 ) +  НормаНаЕздку *  КоличествоЕздок ;

вот тут вы что имели ввиду под НаТранспортнуюРаботу ? эта переменная ранее не определена

Добавлено: 01 авг 2013, 12:59


вы должны ее определить ДО использования.
Либо объявить как переменную
Перем НаТранспортнуюРаботу;
Либо присвоить значение
НаТранспортнуюРаботу = 0;
либо, возможно, вот тут вместо
НормаНаТранспортнуюРаботу = Выборка.НаТранспортнуюРаботу;
должно быть
НаТранспортнуюРаботу = Выборка.НаТранспортнуюРаботу;
Добавлено: 01 авг 2013, 13:00


Цитата: gliokker от 01 авг 2013, 12:42если  поставлю ноль то и значене тоже будет ноль?
естественно. какое вам надо - то и присвойте


Теги:

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

Рейтинг@Mail.ru

Поиск