Имя: Пароль:
1C
1C 7.7
v7: Запрос
0 Alex2411
 
03.10.19
15:55
Добрый день, при добавлении Функции ВремяВзятиеСумма запрос стал зависать, подскажите пожалуйста правильно я составил функцию ВремяВзятиеСумма??


            |Период с ДатаНач2 по ДатаКон;
        |ОбрабатыватьДокументы все;
        |Обрабатывать НеПомеченныеНаУдаление;
        |НомерДок = Документ."+ТипДокумента+".НомерДок"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.НомерДок;",";")+"
        |Док = Документ."+ТипДокумента+".ТекущийДокумент"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.ТекущийДокумент;",";")+"
        |ПроцентПроверки = Документ."+ТипДокумента+".ПроцентПроверки"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.ПроцентПроверки;",";")+"
        |Контролер = Документ."+ТипДокумента+".КонтролерСтр"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.КонтролерСтр;",";")+"
        |ДокВыдачи = Документ."+ТипДокумента+".ДокВыдачи"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.ДокВыдачи;",";")+"
        |ДатаНачала=  Документ."+ТипДокумента+".ДатаНачала"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.ДатаНачала;",";")+"
        |СтрокаКЗачету = Документ."+ТипДокумента+".СтрокаКЗачету"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.СтрокаКЗачету;",";")+"
        |ВремяСек = Документ."+ТипДокумента+".ВремяСек"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.ВремяСек;",";")+"
        |СканированиеКЗачету = Документ."+ТипДокумента+".СканированиеКЗачету"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.СканированиеКЗачету;",";")+"
        |РучнойВводКЗачету = Документ."+ТипДокумента+".РучнойВводКЗачету"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.РучнойВводКЗачету;",";")+"
        |СканированиеСумма = Документ."+ТипДокумента+".СканированиеСумма"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.СканированиеСумма;",";")+"
        |РучнойВводСумма = Документ."+ТипДокумента+".РучнойВводСумма"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.РучнойВводСумма;",";")+"
        |КонтролерСумма = Документ."+ТипДокумента+".КонтролерСумма"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.КонтролерСумма;",";")+"
        |
        |
        |Товар             = Документ."+ТипДокумента+".Товар"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.Товар;",";")+"
        |Коэфициент_Вес = Документ."+ТипДокумента+".Товар.Коэфициент_Вес"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.Товар.Коэфициент_Вес;",";")+"
        |Коэфициент_Срок= Документ."+ТипДокумента+".Товар.Коэфициент_Срок"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.Товар.Коэфициент_Срок;",";")+"
        |ВремяВзятееТовара       = Документ."+ТипДокумента+".Товар.ВремяВзятееТовара"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.Товар.ВремяВзятееТовара;",";")+"
        |Коэфициент_Сложность = Документ."+ТипДокумента+".Товар.Коэфициент_Сложность"+?(Расход+Приход=2,",Документ.НакладнаяПриходная.Товар.Коэфициент_Сложность;",";")+"
        |
        |Функция ВремяВзятиеСумма = Сумма((РучнойВводКЗачету + СканированиеКЗачету)*ВремяВзятееТовара);
        |
        |
        |Группировка Док;
        |Группировка Товар;
1 unbred
 
03.10.19
16:10
оффтоп. я конечно в 7.7 почти не бывал, но точно нельзя до запроса узнать тип документа?
2 Chum
 
03.10.19
16:28
Помнится я только один раз использовать собственную функцию в семерочном запросе и хорошего из этого ничего не получилось.

Вопрос:
1. а разве нельзя просто написать

|ВремяВзятиеСумма = (РучнойВводКЗачету + СканированиеКЗачету)*ВремяВзятееТовара;

2. если 1 нельзя, то после выполнения запроса все равно будет какой-то цикл для обхода результатов запроса, или выгрузка результата в ТЗ, а потом цикл по строкам. Короче говоря, вынести расчет по этой формуле за пределы запроса и считать в упомянутом цикле. Так будет быстрее.
3 Alex2411
 
03.10.19
17:13
|ВремяВзятиеСумма = (РучнойВводКЗачету + СканированиеКЗачету)*ВремяВзятееТовара;

Странно почему то не работает(((( в 8-ке с этим проблем нет
4 Peltik
 
04.10.19
14:57
(0) а что вообще хотел сделать, а то я читаю-читаю и понять не могу :(
5 Карст
 
04.10.19
15:12
(4) внешнюю функцию в запросе походу пытается изобразить )))
6 Peltik
 
04.10.19
16:46
(5) про функцию понятно, а что запрос вообще делать должен?
7 Alex2411
 
05.10.19
09:28
в документе в ТЧ есть реквизит количество операций я его хотел перемножить на некоторые коэффициенты которые находятся в справочнике товар, ссылка на элемент справочника тоже присутствует в ТЗ