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

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

v7: В определенный период брать разное значение переменной

v7: В определенный период брать разное значение переменной
Я
   whitewolf87
 
16.11.17 - 09:02
Процедура РассчитатьСтроку() 
    
    Если ПустоеЗначение(ТабЛС.Адрес)=1 Тогда
        Возврат;
    КонецЕсли;
    Ит=СоздатьОбъект("БухгалтерскиеИтоги");  
    Ит.ПериодД(НачМесяца(Дата1),КонМесяца(Дата2));
    
    ТабЛС.Количество=0; 
    ТабЛС.Сумма=0;
    ТабЛС.ОбъемМ=0; 
    ТабЛС.НачислениеМ=0;
    Если пк_1=1 Тогда
        л_СчетК=ПоУслуги.СчетК;
    КонецЕсли; 
    
    спрБлаг.ИспользоватьВладельца(ТабЛС.Адрес);
    Если спрБлаг.НайтиПоРеквизиту("Услуга",пл_Услуга,0)=1 Тогда   
        
    Иначе
        Предупреждение(ТабЛС.Адрес.Наименование+" не найдена услуга: "+пл_Услуга.Наименование);
        Возврат;
    КонецЕсли;
    
    //выполняем перерасчет помесячно 

    тд=(Дата1);
    Пока НачМесяца(тд)<=НачМесяца(Дата2) Цикл      
        Ит.ПериодМ(тд);    
        Если КонМесяца(тд)=КонМесяца(Дата2)  Тогда
            л_Дней=Дата2-тд+1;
        Иначе
            л_Дней=КонМесяца(тд)-тд+1;
        КонецЕсли; 
        
        Тариф=пл_Услуга.БазовыйТариф.Получить(тд);
        л_Тариф=спрБлаг.Тариф.Получить(Дата1);
        Норматив=л_Тариф.Норма.Получить(Дата1);
        
        Если пл_Услуга.СпособРасчета=Перечисление.СпособРасчета.ТеплоНаГВЕдиный Тогда 
            
            л_ОбъемНачТЭ=Ит.КО(л_СчетК,"К",,ТабЛС.Адрес,пл_Услуга);
            л_ОбъемТННач=Окр(л_ОбъемНачТЭ/Норматив,4);
            ТабЛС.ОбъемМ=ТабЛС.ОбъемМ+Окр(л_ОбъемТННач*Норматив,4);
            ТабЛС.НачислениеМ=Окр(ТабЛС.ОбъемМ*Тариф,2);    
            ТабЛС.Количество=ТабЛС.Количество+Окр(л_ОбъемТННач*пл_Норматив,4);
            
    
            
            
        КонецЕсли;
        ТабЛС.Сумма=Окр(ТабЛС.Количество*Тариф,2);
        тд=НачМесяца(ДобавитьМесяц(тд,1));
    КонецЦикла;
    
КонецПроцедуры
 
 
   whitewolf87
 
1 - 16.11.17 - 09:02
Нужно чтобы значение переменной "Тариф" каждый раз бралось на дату свое, а у меня берется последнее
   whitewolf87
 
2 - 16.11.17 - 09:16
нужно чтобы итоговые суммы за период допустим 2 месяца январь-500 и февраль-400 рублей с разными "тарифами" сложились
   tgu82
 
3 - 16.11.17 - 09:18
(0) тд=(Дата1); А скобки зачем?
   whitewolf87
 
4 - 16.11.17 - 09:19
(3) чтобы дата бралась
   tgu82
 
5 - 16.11.17 - 09:22
(4) Проверь отладчиком ТД
Тариф=пл_Услуга.БазовыйТариф.Получить(тд);
        л_Тариф=спрБлаг.Тариф.Получить(Дата1);
        Норматив=л_Тариф.Норма.Получить(Дата1);

А почему все на Дата1 а Тариф на дату ТД?
   whitewolf87
 
6 - 16.11.17 - 09:22
(5) ок, гляжу
   VladZ
 
7 - 16.11.17 - 09:23
(4) Это понятно. А скобки зачем?
   VladZ
 
8 - 16.11.17 - 09:24
л_Тариф=спрБлаг.Тариф.Получить(Дата1);
Норматив=л_Тариф.Норма.Получить(Дата1);  - что такое дата1? И зачем в цикле получать одно и то же значение?
   whitewolf87
 
9 - 16.11.17 - 09:25
(8) Норматив - норматив старый пл_норматив - новый

Дата1 период с старым нормативом
   VladZ
 
10 - 16.11.17 - 09:25
Ну и самое главное: называй имена переменных по-человечески. Если это дата начала - так и назови "ДатаНачала".  А то и сам потерялся в своих "Дата1", "Дата2". Еще и нам этим мозг разрушаешь...
 
 Рекламное место пустует
   whitewolf87
 
11 - 16.11.17 - 09:28
Дата 1 начало периода дата 2 конец (10)
   whitewolf87
 
12 - 16.11.17 - 09:29
нужно вот так посчитать:
январь объем по новому нормативу такой то, сумма такая то
февраль ----
Итог=январь+февраль
   whitewolf87
 
13 - 16.11.17 - 09:31
(12) при том что тариф разный в январе и феврале
   whitewolf87
 
14 - 16.11.17 - 09:32
допустим январь 10 кубов на 300 руб = 3000 руб
февраль 10 кубов на 400 рублей = 4000 руб
Итог: 20 кубов за 4000 рублей,
а уменя 20 кубов за 8000 рублей
   VladZ
 
15 - 16.11.17 - 09:53
(14) Я так понимаю сумму ты вот здесь посчитал:
ТабЛС.Сумма=Окр(ТабЛС.Количество*Тариф,2);    ?

Согласно твоему алгоритму, берем итоговое количество и умножаем на последний тариф.
   whitewolf87
 
16 - 16.11.17 - 09:53
(15) сижу в отладчике понял что не так уже это именно, меняю
   whitewolf87
 
17 - 16.11.17 - 09:53
(15) спасибо!
   whitewolf87
 
18 - 16.11.17 - 09:54
(15) отладчик это вещь!
   whitewolf87
 
19 - 16.11.17 - 10:01
всё получилось! алилуя!
   whitewolf87
 
20 - 16.11.17 - 10:03
просьба закрыть тему

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