Получение остатка

SeverBap

Well-known member
18.09.2007
451
0
#1
Вообщем есть регистр остатков СуммаОплат;
Измерения: Год (Справочник.НалоговыйПериод - грыппы), месяц (число), Налог (Справочник.ОтчетныеПериоды);
Ресурсы: СуммаОплат (Число,15,2), СуммаОплатПени (Число,15,2);

:)

Незнаю как оброщатся к регистру с получение значения СуммаОплат на заданную дату!!! я написал такой:
Код:
Функция ПолучитьСуммуОплатНаДату(ДатаОпределения,Элемент)
РегистрВиртуальный=СоздатьОбъект("Регистр.СуммаОплат");
РегистрВиртуальный.ВременныйРасчет(1);
СуммаОплат=0;
РегистрВиртуальный.ВыбратьДвижения(,ДатаОпределения);
Пока РегистрВиртуальный.ПолучитьДвижение()=1 Цикл
Если (РегистрВиртуальный.Налог=Элемент) И (РегистрВиртуальный.Год=Элемент.Владелец.Родитель) И (РегистрВиртуальный.Месяц=Число(Элемент.Код)) Тогда
СуммаОплат=СуммаОплат+РегистрВиртуальный.СуммаОплат;
КонецЕсли;
КонецЦикла;
Возврат СуммаОплат;
КонецФункции
он же через цикл!!!!!!! А дата меняется тоже через цикл!!!!! И налог сам тоже из выборки вот и результ тормоз а не результ на 12 сек!!!!

:) Пацаны посоветуйте че к чему мне исправить!!!!!!
 

puh14

Well-known member
11.07.2008
1 412
0
#2
РегистрВиртуальный.УстановитьФильтр(Элемент.Владелец.Родитель, Число(Элемент.Код), Элемент);

Попробуй фильтрануть до выборки движений - а то он у тебя все движения перебирает.


а просто сводный остаток не устраивает - надо именно в интервале ДатаОпределения? Тогда проще через запрос сделать
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#3
Пацаны, братва, откликнитесь, помогите пацану!
Тьфу, аж читать противно. Словно в подворотне какой московской очутился.
 

SeverBap

Well-known member
18.09.2007
451
0
#4
vitfil Главный пацан проснулся!!! ..., пока Вы тут думали я уже решел все проблемы!!!!
:)
Сори если кого оскорбил!!! Я сам не мальчик!!!!
 

vitfil

IT-интегратор
02.04.2004
2 062
0
#5
Bap
Дело не в возрасте, а в уважительном обращении к софорумчанам...
 
K
#6
Функция ПолучитьСуммуОплатНаДату(ДатаОпределения,Элемент)
РегистрВиртуальный=СоздатьОбъект("Регистр");
РегистрВиртуальный1 = РегистрВиртуальный.СуммаОплат;
РегистрВиртуальный1.ВременныйРасчет(1);
РегистрВиртуальный.РассчитатьРегистрыПо(ДатаОпределения);
СуммаОплат= РегистрВиртуальный1.СводныйОстаток(Элемент.Владелец.Родитель,Число(Элемент.Код),
Элемент,"СуммаОплат");
Возврат СуммаОплат;
КонецФункции
Это если регистр остатков и вставить проверку на актуальнсть итогов,
если оборотный тогда через движения и установитьзначениефильтра без расчета
 

SeverBap

Well-known member
18.09.2007
451
0
#7
Код:
РегистрВиртуальный=СоздатьОбъект("Регистр");
пишит что неудачная попытка создать регистр .... :) очень странно однако ... наверно из-за того что это функция !!!!!!
 

puh14

Well-known member
11.07.2008
1 412
0
#8
РегистрВиртуальный=СоздатьОбъект("Регистры");
 

SeverBap

Well-known member
18.09.2007
451
0
#9
Бред какой-то, теперь она в цикле дохнит (верней зацикливается) а поменял только листинг в этой функции!!!

Вот я старый хрычь!!! Циклится (верней зависла) по пречине мой забывчивости не дописал по дате уточнение!!! ТА вообщем как всегда!! (хотя по моему методу работает нормально без вопросов к ТА!!!) .... вот так!!! Счас допишу и проверю!!!!

Скажите кто-нибудь знает для чего "%"???? и с чем его едят, смотрю в встроином языке нет его и ошибок нет при написание!! где можно это прочесть для чего он этот "%" ....