Имя: Пароль:
1C
1C 7.7
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 минут
2 + 2 = 3.9999999999999999999999999999999...