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