Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
17 Дек 2017, 03:34
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Помогите пожалуйста сделать итог по колонке "начислено"  (Прочитано 4970 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kot-1012

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 2
  • КПД: 12%
  • Регистрация: 2011-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Помогите пожалуйста сделать итог по колонке "начислено"
1С 7.7 конфигурация не типовая.

//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Сформировать()
   Перем Запрос, ТекстЗапроса, Таб;
   Перем ЖР;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Счетчики = Справочник.Счетчики.ТекущийЭлемент;
   |ЛС = Справочник.Счетчики.ЛС;
   |Родитель = Справочник.Счетчики.ЛС.Родитель;
   |Улица = Справочник.Счетчики.ЛС.АдресСтрокой;
   |ТекПоказания = Справочник.Счетчики.ТекПоказания;
   |УчаствуетВРасчетах = Справочник.Счетчики.УчаствуетВРасчетах;
   |ВидРасч = Справочник.Счетчики.ВидРасч;
   |Поставщик = Справочник.Счетчики.ВидРасч.Поставщик;
   |Тариф = Справочник.Счетчики.Тариф;
   |ТипСчетчика = Справочник.Счетчики.ТипСчетчика;
   |Результат = ЖурналРасчетов.Квартплата.Результат;
   |Функция Счётчик = Счётчик();
   |Группировка ТипСчетчика;
   |Группировка Счетчики без групп;
   |Условие(Поставщик в ВыбПоставщик);
   |Условие(УчаствуетВРасчетах = Перечисление.Булево.Да);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
      Возврат;
   КонецЕсли;

   
   
   Таб1=СоздатьОбъект("ТаблицаЗначений");
   
   Запрос.Выгрузить(Таб1,1,0);
   Таб1.Сортировать("Родитель,ТипСчетчика,Улица");
   Таб = СоздатьОбъект("Таблица");
   
   
   Таб.ИсходнаяТаблица("Сформировать");
   Таб.ВывестиСекцию("Заголовок|ЗагВерт");
   Таб.ПрисоединитьСекцию("Заголовок|ХВС");
   Состояние("Ждеммс...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Кол=0;
   ИтогоЧел=0;
   ИтогЧел1=0;
   Номер=0;
   СтароеУчастокном=0;
   СтароеТипСЧ=0;
   НачисленоХВС=0;
   НачисленоКан=0;
   НачисленоГВС=0;
   ПерерасчетХВС=0;
   ПерерасчетКан=0;
   ПерерасчетГВС=0;
   
    ИтогоНачисленоХВС=0;
   ИтогоНачисленоКан=0;
   ИтогоНачисленоГВС=0;
   НачХВС=0;
   НачГВС=0;
   НачКАН=0;
   ИтНачХВС=0;
   ИтНачГВС=0;
   ИтНачКАН=0;
   Штук=0;
   //ВсегоЧел=0;
   //ВсегоСч=0;
   Таб1.ВыбратьСтроки();
   //глПечатьТз(Таб1);
    Кубы="";
      Пока Таб1.ПолучитьСтроку() = 1 Цикл
      
   т=СоздатьОбъект("ТаблицаЗначений");
   т=глНайтиТаблицуОстатковДляУСЗН(Датапер,Таб1.ЛС);
   т.ВыбратьСтроки();
   //глПечатьТз(Т);

         Если (СтароеУчастокном=Таб1.Родитель) или (СтароеУчастокном=0)  Тогда 
               
            Если (СтароеТипСЧ=Таб1.ТипСчетчика) или (СтароеТипСЧ=0) Тогда
                  НачисленоХВС=0;
                  НачисленоКан=0;
                  НачисленоГВС=0;
                    Пока т.получитьстроку()=1 Цикл
                          Если т.ВидРасчетов.ВидРасч=ВидРасчета.ХВС  Тогда
                           Если т.ВидРасчетов.База=Перечисление.БазаРасчетов.Счетчик Тогда 
                              НачисленоХВС=т.Начисл;
                        КонецЕсли; 
                      КонецЕсли; 
                  
                          Если т.ВидРасчетов.ВидРасч=ВидРасчета.Канализация  Тогда
                           Если т.ВидРасчетов.База=Перечисление.БазаРасчетов.Счетчик Тогда 
                              НачисленоКан=т.Начисл;
                         КонецЕсли;
                        КонецЕсли;
                          
                         Если т.ВидРасчетов.ВидРасч=ВидРасчета.ГВС  Тогда
                           Если т.ВидРасчетов.База=Перечисление.БазаРасчетов.Счетчик Тогда 
                              НачисленоГВС=т.Начисл;
                         КонецЕсли;
                        КонецЕсли
                           
                  КонецЦикла;
                  СтароеТипСЧ=Таб1.ТипСчетчика;
                   СтароеУчастокном=Таб1.Родитель;
                   ТипСчетчика=Таб1.ТипСчетчика;
                  ЛС=Таб1.ЛС;
                  Родитель=Таб1.Родитель;
                  Чел=Таб1.ЛС.КолЛюдей.Получить(Датапер);
                  Чел1=Таб1.ЛС.КолЛюдей.Получить(Датапер);
                  
                  
                  Кол=Кол+1;         
                  Номер=Номер+1;
                   ИтогоЧел=ИтогоЧел+Чел;   
                  ИтогоНачисленоХВС=ИтогоНачисленоХВС+НачисленоХВС;
                  ИтогоНачисленоКан=ИтогоНачисленоКан+НачисленоКан;
                  ИтогоНачисленоГВС=ИтогоНачисленоГВС+НачисленоГВС;
                  ИтогЧел1=ИтогЧел1+Чел1;
               
                  
                  
            Иначе
                  
                  Таб.ВывестиСекцию("Итог|Загверт");
                  Если ТипСчетчика=Перечисление.ТипыСчетчиков.ХВС Тогда
                         Таб.ПрисоединитьСекцию("Итог|ХВС");
                  КонецЕсли;
                  Если ТипСчетчика=Перечисление.ТипыСчетчиков.Канализация Тогда
                         Таб.ПрисоединитьСекцию("Итог|КАН");
                  КонецЕсли;
                  Если (ТипСчетчика<>Перечисление.ТипыСчетчиков.Канализация) И (ТипСчетчика<>Перечисление.ТипыСчетчиков.ХВС) Тогда
                         Таб.ПрисоединитьСекцию("Итого|ГВС");
                  КонецЕсли;
                  НачисленоХВС=0;
                  НачисленоКан=0;
                  НачисленоГВС=0;
                  Столбик="";
                  Кол=0;
                  ИтогоЧел=0; 
                  ИтогоНачисленоХВС=0;
                  ИтогоНачисленоКан=0;   
                  ИтогоНачисленоГВС=0;
                  
                  ЛС=Таб1.ЛС;
                  Чел=Таб1.ЛС.КолЛюдей.Получить(Датапер);
                  Чел1=Таб1.ЛС.КолЛюдей.Получить(Датапер);
                  Родитель=Таб1.Родитель;
                  СтароеТипСЧ=Таб1.ТипСчетчика;
                   СтароеУчастокном=Таб1.Родитель;
                   ТипСчетчика=Таб1.ТипСчетчика;
                  
                   
                  
                  Кол=Кол+1;         
                  Номер=Номер+1;
                  ИтогоЧел=ИтогоЧел+Чел;
                  ИтогоНачисленоХВС=ИтогоНачисленоХВС+НачисленоХВС;
                  ИтогоНачисленоКан=ИтогоНачисленоКан+НачисленоКан;
                  ИтогоНачисленоГВС=ИтогоНачисленоГВС+НачисленоГВС;
                   СтароеУчастокном=Таб1.Родитель;
                  ИтогЧел1=ИтогЧел1+Чел1;
                  
            КонецЕсли;
         Иначе
                   
                  Таб.ВывестиСекцию("Итог|ЗагВерт");
                  Если ТипСчетчика=Перечисление.ТипыСчетчиков.ХВС Тогда
                         Таб.ПрисоединитьСекцию("Итог|ХВС");
                  КонецЕсли;
                  Если ТипСчетчика=Перечисление.ТипыСчетчиков.Канализация Тогда
                         Таб.ПрисоединитьСекцию("Итог|КАН");
                  КонецЕсли;
                  Если (ТипСчетчика<>Перечисление.ТипыСчетчиков.Канализация) И (ТипСчетчика<>Перечисление.ТипыСчетчиков.ХВС) Тогда
                         Таб.ПрисоединитьСекцию("Итог|ГВС");
                  КонецЕсли;
                  ИтогоЧел=0;
                  Кол=0;
                  НачисленоХВС=0;
                  НачисленоГВС=0;
                  НачисленоКан=0;
                  ИтогоНачисленоХВС=0;
                  ИтогоНачисленоГВС=0;
                  ИтогоНачисленоКан=0;
                  Столбик="";
                  
                  СтароеТипСЧ=Таб1.ТипСчетчика;
                  ТипСчетчика=Таб1.ТипСчетчика; 
                  Родитель=Таб1.Родитель;
                  ЛС=Таб1.ЛС;
                  Чел=Таб1.ЛС.КолЛюдей.Получить(Датапер);
                  Чел1=Таб1.ЛС.КолЛюдей.Получить(Датапер);
                  
                  Кол=Кол+1;         
                  
                     Таб.ВывестиСекцию("ПустаяСтрока");
         
                  Номер=Номер+1;
                  ИтогоЧел=ИтогоЧел+Чел;
                  ИтогоНачисленоХВС=ИтогоНачисленоХВС+НачисленоХВС;
                  ИтогоНачисленоКан=ИтогоНачисленоКан+НачисленоКан;   
                  ИтогоНачисленоГВС=ИтогоНачисленоГВС+НачисленоГВС;
                   СтароеУчастокном=Таб1.Родитель;
                  ИтогЧел1=ИтогЧел1+Чел1;
                  
         КонецЕсли; 
   
            //Таб.ВывестиСекцию("Счетчики");
   КонецЦикла;
                      
                  Таб.ВывестиСекцию("Итог|ЗагВерт");
                  Если ТипСчетчика=Перечисление.ТипыСчетчиков.ХВС Тогда
                         Таб.ПрисоединитьСекцию("Итог|ХВС");
                  КонецЕсли;
                  Если ТипСчетчика=Перечисление.ТипыСчетчиков.Канализация Тогда
                         Таб.ПрисоединитьСекцию("Итог|КАН");
                  КонецЕсли;
                  Если (ТипСчетчика<>Перечисление.ТипыСчетчиков.Канализация) И (ТипСчетчика<>Перечисление.ТипыСчетчиков.ХВС) Тогда
                         Таб.ПрисоединитьСекцию("Итог|ГВС");
                  КонецЕсли;
                     
                    
                     Таб.ВывестиСекцию("Итого");
                       Таб.ВывестиСекцию("и");
      Кол=0;
      ИтогоЧел=0;
   
   Таб.ТолькоПросмотр(0);
   Таб.Показать("Сформировать", "");
КонецПроцедуры

ЛицевыеСчета=СоздатьОбъект("Справочник.ЛицевыеСчета");
ЖР=СоздатьОбъект("ЖурналРасчетов.Квартплата");
ДатаАктуальности = ЖР.КонецТекущегоПериода()


Оффлайн kot-1012

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 2
  • КПД: 12%
  • Регистрация: 2011-09-05
  • Сайт: 
  • Профессия: Ученик 1С
архив с отчетом почемуто не могу отправить

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
ИтогоНачислено = ИтогоНачисленоХВС+ИтогоНачисленоКан+ИтогоНачисленоГВС  ?
Кнопочка Спасибо - слева!

Оффлайн kot-1012

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 2
  • КПД: 12%
  • Регистрация: 2011-09-05
  • Сайт: 
  • Профессия: Ученик 1С

Оффлайн kot-1012

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 2
  • КПД: 12%
  • Регистрация: 2011-09-05
  • Сайт: 
  • Профессия: Ученик 1С
нет,  так не получается.
Совсем другие цифры выдает

Оффлайн sergejK74

  • *****
  • Сообщений: 1093
  • РЕПУТАЦИЯ: 458
  • КПД: 42%
  • Всегда готов помочь!
  • Регистрация: 2011-07-08
  • Сайт: 
  • Профессия: Ученик 1С
Тогда создай переменную ИтогоНачислено и  ИтогоНачислено = ИтогоНачислено + НачисленоХВС+НачисленоКан+НачисленоГВС после ИтогЧел1=ИтогЧел1+Чел1;
Кнопочка Спасибо - слева!

Оффлайн kot-1012

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 2
  • КПД: 12%
  • Регистрация: 2011-09-05
  • Сайт: 
  • Профессия: Ученик 1С
ИтогоНачислено = ИтогоНачислено + НачисленоХВС+НачисленоКан+НачисленоГВС - так выводиться все начисления, а что делать если в запросе будут только ХВС, ГВС или Кан.
И где у Вас кнопочка чтоб говорить СПАСИБО

Оффлайн kot-1012

  • *
  • Сообщений: 17
  • РЕПУТАЦИЯ: 2
  • КПД: 12%
  • Регистрация: 2011-09-05
  • Сайт: 
  • Профессия: Ученик 1С
Всем спасибо за внимание, все сделал.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
50 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 123
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal