Имя: Пароль:
1C
1С v8
Как добавить значение элемента формы в макет другого отчета
0 Exces-
 
07.04.15
16:34
Есть справочник Автоработы
В элементе справочника есть вкладка Связанные работы, и внизу посчитана сумма этих работ.
Мне нужно эту сумму добавить в параметр внешнего отчета...
1 Exces-
 
07.04.15
16:35
ЭлементыФормы.Стоимость.Значение = Строка(ПолучитьИтоговуюСтоимостьАвтоработы()) + " р.";
2 Exces-
 
07.04.15
16:35
Так считается стоимость
3 vicof
 
07.04.15
16:40
выбрать все строчки из связанных работ и сагрегировать их
4 Exces-
 
07.04.15
16:43
Подскажите как?..
5 Fish
 
07.04.15
16:44
(4) Посмотреть, как работает функция ПолучитьИтоговуюСтоимостьАвтоработы()
6 AaNnDdRrEeYy
 
07.04.15
16:45
а я так и не понял что значит
>>Мне нужно эту сумму добавить в параметр внешнего отчета...
7 СвинТуз
 
07.04.15
16:46
ф12 дави
8 AaNnDdRrEeYy
 
07.04.15
16:46
Может эту сумму нужно посчитать внутри внешнего отчета?
9 Exces-
 
07.04.15
16:47
Мне нужно стоимость этих работ добавить в ячейку таблицы внешнего отчета
10 Exces-
 
07.04.15
16:47
Функция ПолучитьИтоговуюСтоимостьАвтоработы()
    Запрос = Новый Запрос();
    Запрос.Текст =  "ВЫБРАТЬ
                    |    СвязанныеРаботы.СвязаннаяРабота,
                    |    СвязанныеРаботы.Количество
                    |ПОМЕСТИТЬ СвязаннаяНоменклатура
                    |ИЗ
                    |    РегистрСведений.СвязанныеРаботы КАК СвязанныеРаботы
                    |ГДЕ
                    |    СвязанныеРаботы.Авторабота = &Авторабота
                    |    И ТИПЗНАЧЕНИЯ(СвязанныеРаботы.СвязаннаяРабота) = ТИП(Справочник.Номенклатура)
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |    СУММА(ЦеныСрезПоследних.Цена * СвязаннаяНоменклатура.Количество) КАК Цена
                    |ПОМЕСТИТЬ СтоимостьДопов
                    |ИЗ
                    |    СвязаннаяНоменклатура КАК СвязаннаяНоменклатура
                    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Цены.СрезПоследних(, ТипЦен = &ТипЦен) КАК ЦеныСрезПоследних
                    |        ПО СвязаннаяНоменклатура.СвязаннаяРабота = ЦеныСрезПоследних.Номенклатура
                    |;
                    |
                    |////////////////////////////////////////////////////////////////////////////////
                    |ВЫБРАТЬ
                    |    Нормочасы.Цена КАК СтомочстьНЧ,
                    |    СтоимостьДопов.Цена КАК СуммаДопов
                    |ИЗ
                    |    РегистрСведений.ЦеныАвторабот.СрезПоследних(
                    |            ,
                    |            Авторабота = &Авторабота
                    |                И КлассАвтомобиля = &КлассАвтомобиля) КАК ЦеныАвтоработСрезПоследних
                    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Нормочасы КАК Нормочасы
                    |        ПО ЦеныАвтоработСрезПоследних.Нормочас = Нормочасы.Ссылка,
                    |    СтоимостьДопов КАК СтоимостьДопов";
    Запрос.Параметры.Вставить("Авторабота", ЭтотОбъект.Ссылка);    
    Запрос.Параметры.Вставить("КлассАвтомобиля", ЭтотОбъект.КлассАвтомобиля);    
    Запрос.Параметры.Вставить("ТипЦен", Справочники.ТипыЦен.НайтиПоКоду("00002   "));
    Если ЗначениеЗаполнено(КлассАвтомобиля) Тогда
        РезультатЗапроса = Запрос.Выполнить().Выгрузить();
        Если РезультатЗапроса.Количество() <> 0 Тогда
            Попытка
            ИтоговаяСумма = РезультатЗапроса[0].СтомочстьНЧ*ЭтотОбъект.НормыВремени[0].ВремяВыполнения + РезультатЗапроса[0].СуммаДопов;
            Исключение
            ИтоговаяСумма = 0;     
            КонецПопытки;
            Возврат ИтоговаяСумма;
        Иначе
            Возврат 0;
        КонецЕсли;
    Иначе
        Сообщить("Не удалось расчитать полную стоимость работы.");
        Возврат 0;
    КонецЕсли;
КонецФункции
11 Fish
 
07.04.15
17:02
(10) Получилось?
12 Exces-
 
07.04.15
17:12
Пока нет, пытаюсь
13 AaNnDdRrEeYy
 
07.04.15
17:18
скопируй процедуру во внешнюю обработку и установку параметров запроса перепиши, так самое "просто" будет.
14 Exces-
 
07.04.15
17:24
(13) Я это и сделал, но не знаю теперь как параметры запроса изменить.
15 Exces-
 
08.04.15
11:19
Не могу никак параметры запроса переписать...(((