Загрузка данных



&НаКлиенте
Процедура КнопкаРассчитать(Команда)
       Сумма = РассчитатьСтоимостьЗаказа();
       Результат = Сумма;
КонецПроцедуры

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