|   |   | 
| 
 | v7: Работа с регистром остатков | ☑ | ||
|---|---|---|---|---|
| 0
    
        fredrf 19.03.13✎ 08:18 | 
        Всем привет!
  Значит мне нужно получить показания из регистров, можно сделать так: Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = //"//{{ЗАПРОС(Сформировать) |Период с датаНачала по ДатаОкончания; |ЛицевойСчет = Регистр.ПоказСчетчика.ЛицевойСчет; |СчетчикЭл1 = Регистр.ПоказСчетчика.СчетчикЭл1; |СчетчикЭл2 = Регистр.ПоказСчетчика.СчетчикЭл2; |флаг = Регистр.ПоказСчетчика.Флаг; |Функция СчетчикЭл1Приход = Приход(СчетчикЭл1) когда (флаг=1); |Функция СчетчикЭл2Приход = Приход(СчетчикЭл2) когда (флаг=1); |Условие (ЛицевойСчет=ЛС); |";//}}ЗАПРОС | |||
| 1
    
        fredrf 19.03.13✎ 08:19 | 
        Можно так :
  СчетчикЭл1=0; СчетчикЭл2=0; Рег=СоздатьОбъект("Регистр.ПоказСчетчика"); Рег.УстановитьФильтр(ЛС); Рег.ВыбратьДвижения(НачМес,КонМес); Пока Рег.ПолучитьДвижение() = 1 Цикл СчетчикЭл1=СчетчикЭл1+Рег.СчетчикЭл1; СчетчикЭл2=СчетчикЭл2+Рег.СчетчикЭл2; КонецЦикла; | |||
| 2
    
        Godofsin 19.03.13✎ 08:19 | 
        клево, чо     | |||
| 3
    
        zak555 19.03.13✎ 08:20 | 
        если это управляющая компания, то бомббу им заложи     | |||
| 4
    
        fredrf 19.03.13✎ 08:20 | 
        Но в 1 случае на это уходит 4 сотых секунды, во втором 30, мне нужно быстрее...     | |||
| 5
    
        Chum 19.03.13✎ 08:20 | 
        +(3) перебором документов в цикле с созданием объектов.     | |||
| 6
    
        fredrf 19.03.13✎ 08:20 | 
        во втором 3 сотых     | |||
| 7
    
        fredrf 19.03.13✎ 08:22 | 
        Рег.Остаток(ЛС,"СчетчикЭл1"); можно так, в этом случае как и нужно не более 2 тысячных, но немогу взять показания за предыщий месяц, что бы их отнять от текущего и получить итог     | |||
| 8
    
        Godofsin 19.03.13✎ 08:22 | 
        (5) пока 1 = 1     | |||
| 9
    
        Рэйв 19.03.13✎ 08:24 | 
        >>взять показания
  ТС или бывший контролер электросчетчиков или следователь:-) | |||
| 10
    
        fredrf 19.03.13✎ 08:25 | 
        То есть в принципе вопрос такой как взять Рег.Остаток(ЛС,"СчетчикЭл1") за предыдущий период именно этой функцией     | |||
| 11
    
        Godofsin 19.03.13✎ 08:25 | 
        (9) неее, был бы следователь = выбить показания =)     | |||
| 12
    
        zak555 19.03.13✎ 08:26 | 
        (8) чем тебе не нравится условие 1=1 ?     | |||
| 13
    
        fredrf 19.03.13✎ 08:26 | 
        :)     | |||
| 14
    
        fredrf 19.03.13✎ 08:27 | 
        Мне на код бы посмотреть     | |||
| 15
    
        Godofsin 19.03.13✎ 08:28 | 
        (12) всем нравится =)     | |||
| 16
    
        zak555 19.03.13✎ 08:30 | 
        (14) бомбу заложи     | |||
| 17
    
        fredrf 19.03.13✎ 08:31 | 
        Вначале интерес свой нужно удовлетворить по регистрам, потом бомбу)     | |||
| 18
    
        fredrf 19.03.13✎ 08:56 | 
        Наверное сделаю, так, перед расчетом выгружу "приход" регистров в таб. знач., и буду собирать "приход" уже из ТЗ для каждого лицевого счета     | |||
| 19
    
        Злопчинский 19.03.13✎ 09:49 | 
        (18) ну, на пару сотен записей - сойдет наверное     | |||
| 20
    
        fredrf 19.03.13✎ 09:57 | 
        Почему на пару сотен записей, вроде сделал, дейтсвительно работает, а записей порядка тысяч 15, и прирост по скорости такой как нужно то есть из ТЗ запрашивает "приход" за 1-2 тысячные, и сейчас расчет журналов выполняется не за час а за 10 минут     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |