Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Помогите разобраться с циклами.

v7: Помогите разобраться с циклами.
Я
   roalang
 
17.01.13 - 21:23
В документе надо посчитать тариф и разбросать это тариф на каждую квартиру дома. Так как округлять тариф нельзя, нахожу разницу между суммой которую ввожу вручную и суммой которая получается после нахождения тарифа после. Отклонение надо в любой адрес засунуть.

[code]
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 цикл
        
если (ПустоеЗначение(Дом)=1) или (ПустоеЗначение(Сумма)=1)       тогда                                                                 
     Продолжить;
конецесли;
                
    Кл.ПорядокКодов(); 
    Кл.ВыбратьЭлементыПоРеквизиту("Дом", Дом, 1,0) ; 
        
        сообщить("++++++++++++++++++++++++++++");  
        сообщить("Дом :" + Кл.Дом);         
        сообщить("++++++++++++++++++++++++++++");     
        
       // цикл где поквартирно собирается площадь дома
 
        
    суммитог=0;
    ПлДома=0;
    Пока Кл.ПолучитьЭлемент()=1 цикл   
        ПлДома=ПлДома+ Кл.ОбщПл.Получить(глДатаНачалаПериода);          
        КонецЦикла; 
             
        тариф=сумма/ПлДома;   
            
        сообщить("Площадь дома : " + ПлДома);
        сообщить("Тариф : " + Тариф);    
        сообщить("Сумма : " + Сумма);
     
               
        Кл.ВыбратьЭлементыПоРеквизиту("Дом", Дом, 1,0);
        Пока Кл.ПолучитьЭлемент()=1 цикл
            
            ЖурКв.ВыбратьЗаписиПоОбъекту(Кл.ТекущийЭлемент(), глДатаНачалаПериода, глДатаКонцаПериода) ;   
            Пока ЖурКв.ПолучитьЗапись()=1 цикл                 
                
                если (Нрег(ЖурКв.Расчет.Наименование)="одн электроэнергия")  и (ЖурКв.Документ.Вид() = "ПодготовкаОДНЭл")  тогда 
                    
                    суммитог= суммитог+ журкв.тариф*Кл.ОбщПл.Получить(глДатаНачалаПериода)   ;  
                    откл= сумма-суммитог;   //  ФлагОткл=0;                     
 
                
                конецесли;
            конеццикла;    
        конеццикла;    
        
        сообщить(суммитог);     
        сообщить(откл);    
                
        Кл.ВыбратьЭлементыПоРеквизиту("Дом", Дом, 1,0);
        Пока Кл.ПолучитьЭлемент()=1 цикл        
            
            ЖурКв.ВыбратьЗаписиПоОбъекту(Кл.ТекущийЭлемент(), глДатаНачалаПериода, глДатаКонцаПериода) ;   
            Пока ЖурКв.ПолучитьЗапись()=1 цикл                 
                
                если (Нрег(ЖурКв.Расчет.Наименование)="одн электроэнергия")  и (ЖурКв.Документ.Вид() = "ПодготовкаОДНЭл")  тогда 
                    
                    Если  Кл.ОбщПл.Получить(глДатаНачалаПериода)=0 тогда
                        прервать
                    иначе
                        ЖурКв.УстановитьРеквизит("Тариф",Тариф);     
                        ЖурКв.УстановитьРеквизит("Результат",Кл.ОбщПл.Получить(глДатаНачалаПериода)*тариф - Откл);    
                       //ЖурКв.УстановитьРеквизит("Результат",Кл.ОбщПл.Получить(глДатаНачалаПериода)*тариф + ?(ФлагОткл = 0,Откл,0)) ; 
 
                        
                        ЖурКв.УстановитьРеквизит("Количество",0);
                        ЖурКв.УстановитьРеквизит("Рассчитана",1);
                        ЖурКв.Записать();      
                       //ФлагОткл = 1; 
 
                    Конецесли;
                    
                конецесли;     
            конеццикла; 
        конеццикла;  

  [/code]
 
 
   monsterZE
 
1 - 17.01.13 - 22:07
мне первое условие понравилось =) такое может быть да?
   monsterZE
 
2 - 17.01.13 - 22:13
(0) как такой код вобще получается?
   Попытка1С
 
3 - 17.01.13 - 22:17
Проверить последнюю строку и разницу накопленного и общего кинуть туда.
   NS
 
4 - 17.01.13 - 23:00
Как внутри цикла по кл может быть цикл по кл?
   NS
 
5 - 17.01.13 - 23:01
А, там код не выровненный. Убивать за такое надо.
   monsterZE
 
6 - 17.01.13 - 23:05
(5) =) пока в конф. не закопипастил.... ппц
   monsterZE
 
7 - 17.01.13 - 23:06
собсно не понятно в чем вопрос у (0)?
   Тьма
 
8 - 17.01.13 - 23:53
(7)У него под дверью пенсионерка, на которую он повесил разницу в округлении. Требует объяснить, как у нее посчитана квартплата. Угрожает дойти до Путина.
   monsterZE
 
9 - 18.01.13 - 00:05
(8) это она =)
   Злопчинский
 
10 - 18.01.13 - 00:16
> Так как округлять тариф нельзя... Отклонение надо в любой адрес засунуть.
.
противоречие.
 
 Рекламное место пустует
   zak555
 
11 - 18.01.13 - 00:16
что такое Кл ?
   zak555
 
12 - 18.01.13 - 00:18
а что площадь переменная часть ?
   КонецЦикла
 
13 - 18.01.13 - 01:08
(7) +1
Работает или нет?
   monsterZE
 
14 - 18.01.13 - 09:21
(0) про площадь дома тоже заинтересовало =) ну и это отклонение.. тогда уж пропорционально между всеми квартирами его раскидай..
   lefthander
 
15 - 18.01.13 - 09:22
(11) Справочник.
   ЧеловекДуши
 
16 - 18.01.13 - 09:29
(0)Жесть... и теперь понятно, откуда такие цифры... :)
Автор, беги, беги от туда, если ЖКХ поймет, что ты Лузер, на тебя же все повешают :)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует