Вход | Регистрация
 
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 человек.