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

Автор Тема: Итог по колонке(С формулой)  (Прочитано 1520 раз)

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

Оффлайн Лерик

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-23
  • Сайт: 
  • Профессия: Ученик 1С
Процедура ХроническаяЗаболеваемость0()
 
Тз = СоздатьОбъект("ТаблицаЗначений");   
Тз.НоваяКолонка("Заболевание");
Тз.НоваяКолонка("Диагноз");
Тз.НоваяКолонка("КолНозФорм");
Тз.НоваяКолонка("КолПаталогия");
Тз.НоваяКолонка("Номер","Число");
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ХрЗаб");                     
Таб.Очистить();
Таб.ВывестиСекцию("Шапка");
 
 
Тз3 = СоздатьОбъект("ТаблицаЗначений");   
Тз3.НоваяКолонка("Заболевание");
Тз3.НоваяКолонка("Код");    
   
   Спр = СоздатьОбъект("Справочник.Заболевания");
   Спр.ВыбратьЭлементы();           
       Пока Спр.ПолучитьЭлемент()=1 Цикл
      Если Спр.ЭтоГруппа()=0 тогда
         Продолжить;
      КонецЕсли;
      Если Спр.ПометкаУдаления()=1 тогда
         Продолжить;
      КонецЕсли;
      Тз3.НоваяСтрока();
      Тз3.Код = Спр.Код;
      Тз3.Заболевание = Спр.Наименование;
      
      КонецЦикла;

Док=СоздатьОбъект("Документ.ЗаболеваемостьХроническая"); 
Док.Выбратьдокументы(НачГода(ДатаДок),КонГода(ДатаДок));
Пока Док.ПолучитьДокумент()=1 Цикл
   Если Док.Проведен()=0 тогда
      Продолжить;
   КонецЕсли;
   Если Док.КоличествоСтрок()=0 тогда
      Продолжить;
   КонецЕсли;
   //Тз.НоваяСтрока();
   //Тз.Сад = Док.Сад.код;
   Док.ВыбратьСтроки();
   Пока Док.ПолучитьСтроку()=1 Цикл
      Тз.НоваяСтрока();   
      Тз.Заболевание  = Док.Диагноз.Родитель;   //родитель
      Тз.КолНозФорм   = Док.КолНозФорм;
      Тз.КолПаталогия = Док.КолПаталогия;
      Тз.Номер = Док.Диагноз.Родитель.Код;
         КонецЦикла;
   //КолНозФорм
КонецЦикла;   
    //но=но+1;
   Тз.Свернуть("Заболевание,Номер","КолНозФорм,КолПаталогия");
   Тз.Сортировать("+Номер");//("Номер","КолНозФорм,КолПаталогия");
   
       
   Тз0 = СоздатьОбъект("ТаблицаЗначений"); 
   Тз0.НоваяКолонка("Заболевание");
   Тз0.НоваяКолонка("Код","Число");
   Тз0.НоваяКолонка("ГрОтчЗаб","Число");
   Тз0.НоваяКолонка("ЗабЯслиСл","Число");
   Тз0.НоваяКолонка("ЗабЯслиДн","Число");
   Тз0.НоваяКолонка("ЗабСадСл","Число");
   Тз0.НоваяКолонка("ЗабСадДн","Число");
   Тз0.НоваяКолонка("ЗабСл","Число");
   Тз0.НоваяКолонка("ЗабДн","Число");
   Тз0.НоваяКолонка("ЗабЯслиСл1","Число");
   Тз0.НоваяКолонка("ЗабЯслиДн1","Число");
   Тз0.НоваяКолонка("ЗабСадСл1","Число");
   Тз0.НоваяКолонка("ЗабСадДн1","Число");
   Тз0.НоваяКолонка("ЗабСл1","Число");
   Тз0.НоваяКолонка("ЗабДн1","Число");
   
   СрСпис =0;
   Мес1=1;
   Мес2=1;
   Док=СоздатьОбъект("Документ.Заболеваемость"); 
   Док.Выбратьдокументы(НачГода(ДатаДок),КонГода(ДатаДок));
   Пока Док.ПолучитьДокумент()=1 Цикл
      Если Док.Проведен()=0 тогда
         Продолжить;
      КонецЕсли;
      Если Док.КоличествоСтрок()=0 тогда
         Продолжить;
      КонецЕсли;
      СрСписЯ = СрСписЯ + Док.СписЯсли;
      СрСписС = СрСписС + Док.СписСад;
      СрСпис =  СрСписЯ + СрСписС;
      Док.ВыбратьСтроки();
      Пока Док.ПолучитьСтроку()=1 Цикл
         Тз0.НоваяСтрока();
         Тз0.Код = Док.Заболевание.Код;
         Тз0.ГрОтчЗаб = Док.Заболевание.ГрОтчЗаболев.Код;
         Мес2= ДатаМесяц(Док.ДатаДок);
         
         Тз0.Заболевание = Док.Заболевание;
         Тз0.ЗабСл = Док.БолезньСл+Док.БолезньЧБДСл;//+Док.БДомаСл+Док.БДомаЧБДСл;
         Тз0.ЗабДн = Док.БолезньДн+Док.БолезньЧБДДн;//+Док.БДомаДн+Док.БДомаЧБДДн;
         Если Док.ВозрастнаяГруппа=Перечисление.ВозрастнаяГруппа.Ясли тогда
            Тз0.ЗабЯслиСл = Док.БолезньСл+Док.БолезньЧБДСл;//+Док.БДомаСл+Док.БДомаЧБДСл;
            Тз0.ЗабЯслиДн = Док.БолезньДн+Док.БолезньЧБДДн;//+Док.БДомаДн+Док.БДомаЧБДДн;
         КонецЕсли;
         Тз0.ЗабСадСл = Тз0.ЗабСл-Тз0.ЗабЯслиСл;
         Тз0.ЗабСадДн = Тз0.ЗабДн-Тз0.ЗабЯслиДн;
      КонецЦикла;
   КонецЦикла;
   КоМес=Мес2-Мес1+1;
   СрСпис = Окр(СрСпис/КоМес,0,1) ;
   Тз0.Свернуть("ГрОтчЗаб,Код,Заболевание","ЗабЯслиСл,ЗабЯслиДн,ЗабСадСл,ЗабСадДн,ЗабСл,ЗабДн,ЗабЯслиСл1,ЗабЯслиДн1,ЗабСадСл1,ЗабСадДн1,ЗабСл1,ЗабДн1"); 
   ИтоУровД=0;
   ИтогСтруктура=0;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("ХрЗаб");
   Таб.Очистить();
    Таб.ВывестиСекцию("Шапка");
    Тз.ВыбратьСтроки();   
    Пока Тз.ПолучитьСтроку() = 1 Цикл
      //н=н+1;
      УровеньД = ?(СрСпис=0,0,Тз.КолНозФорм*1000/СрСпис); 
      СтруктураД = Тз.КолНозФорм*100/Тз.Итог("КолНозФорм");
      УровеньПаталогия = ?(СрСпис=0,0,Тз.КолПаталогия*1000/СрСпис);
      СтруктураПаталогия = Тз.КолПаталогия*100/Тз.Итог("КолПаталогия");
      ИтоУровД=Тз.Итог("КолНозФорм")*1000/СрСпис; 
      УровеньПат= Тз.Итог("КолПаталогия")*1000/СрСпис;
      ИтогСтруктура=Тз.Итог("СтруктураД")+СтруктураД;?????:dfbbdrfb:
      Таб.ВывестиСекцию("Строка"); 
   КонецЦикла;   
   
   
Таб.ВывестиСекцию("Строка");
Таб.ВывестиСекцию("Итого");   
Таб.ПараметрыСтраницы(1,,,0,0,0,0,,,1,,);     
Таб.Защита(1);
Таб.Показать();   
КонецПроцедуры
Есть процедура, но итог колонки не выводится ,Пробовала варианты предложенные програмистом специалистом, но либ я тупа, либо я блондинка.
Предложенные вариации.
Тз.Итог("СтруктураД")(это писала в таблице отчета)
ИтогоСтрук=Тз.Итог("СтруктураД")+СтркутураД;
изменяла на сумму Итог


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
Название процедуры полностью соответствует ее содержимому :) 

В методе Итог() нужно указывать название колонки таблицы ТЗ, по которой вам необходимо вычислить ИТОГ.
 А "СтруктураД" - это не колонка, это просто переменная, в которую вы присваиваете результат каких-то вычислений.

Если этот вариант предложил вам программист, то значит он Блондинка )

Последний раз редактировалось: Herby; 29 Дек 2014, 18:22

Оффлайн Лерик

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-23
  • Сайт: 
  • Профессия: Ученик 1С
Благодарю , :nhsrm:, Что , Так все плохо? много ошибок ??


Теги:
 


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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
180 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal