Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 06:57

Нумерация строк в отчете

Автор ekaterinasslv, 13 ноя 2018, 09:44

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

ekaterinasslv

Добрый день, помогите пожалуйста. В отчете необходимо вывести нумерацию строк, все что читала в интернете пробовала..ничего не вышло ,наверное что-то делаю не так.. подскажите каким способом можно все таки пронумеровать строки.


Процедура КнопкаСформироватьНажатие(Кнопка)
   
   ТабДок = Новый ТабличныйДокумент;
   ТабДок.ТолькоПросмотр = Истина;
   ТабДок.АвтоМасштаб = Истина;
   ТабДок.ТолькоПросмотр = Ложь;
   ТабДок.Защита = Ложь;
   
   //ТабДок.МасштабПечати=100;
   ТабДок.ПолеСлева=10;
   ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;         
   
   

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ИспользованиеПриборовУчетаСрезПоследних.Абонент КАК Абонент,
      |   ИспользованиеПриборовУчетаСрезПоследних.ПриборУчета.ТипПрибораУчета КАК ТипПрибораУчета,
      |   ИспользованиеПриборовУчетаСрезПоследних.ПриборУчета.ЗаводскойНомер КАК ЗаводскойНомер,
      |   ИспользованиеПриборовУчетаСрезПоследних.ПриборУчета,
      |   ИспользованиеПриборовУчетаСрезПоследних.Состояние,
      |   ИспользованиеПриборовУчетаСрезПоследних.Абонент.ЛицевойСчет КАК ЛицевойСчет,
      |   ИспользованиеПриборовУчетаСрезПоследних.Абонент.АдресПредставление КАК АдресПредставление,
      |   ИспользованиеПриборовУчетаСрезПоследних.Тариф,
      |   КонтактнаяИнформация.Поле4 КАК Город,
      |   КонтактнаяИнформация.Поле5 КАК НаселенныйПункт,
      |   КонтактнаяИнформация.Поле6 КАК Улица,
      |   КонтактнаяИнформация.Поле7 КАК Дом,
      |   КонтактнаяИнформация.Поле8 КАК Корпус,
      |   КонтактнаяИнформация.Поле9 КАК Квартира
      |ИЗ
      |   РегистрСведений.ИспользованиеПриборовУчета.СрезПоследних КАК ИспользованиеПриборовУчетаСрезПоследних
      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
      |      ПО ИспользованиеПриборовУчетаСрезПоследних.Абонент = КонтактнаяИнформация.Объект
      |ГДЕ
      |   ИспользованиеПриборовУчетаСрезПоследних.Абонент В ИЕРАРХИИ(&Абонент)
      |   И ИспользованиеПриборовУчетаСрезПоследних.Состояние.Ссылка В ИЕРАРХИИ(&Состояние)
      |   И ИспользованиеПриборовУчетаСрезПоследних.Абонент.ПометкаУдаления = ЛОЖЬ
      |   И ИспользованиеПриборовУчетаСрезПоследних.ПриборУчета.ПометкаУдаления = ЛОЖЬ
      |   И НЕ КонтактнаяИнформация.Поле7 = """"
        |   И НЕ КонтактнаяИнформация.Поле9 = """"

      |
      |УПОРЯДОЧИТЬ ПО
      |   АдресПредставление,
      |   Абонент";

   Запрос.УстановитьПараметр("Абонент", Абонент);
   Запрос.УстановитьПараметр("Состояние", Состояние);

   Результат = Запрос.Выполнить();

   Выборка = Результат.Выбрать();

      
   // // вывод на 1-ом листе

      Макет1 = ПолучитьМакет("Макет1");
   
      ОбластьШапка = Макет1.ПолучитьОбласть("Шапка");            
      ТабДок.Вывести(ОбластьШапка);            
      
            
      ОбластьСтрока = Макет1.ПолучитьОбласть("Строка");
      ТабДок.Вывести(ОбластьСтрока);
           
      ОбластьКомиссия = Макет1.ПолучитьОбласть("Комиссия");
      ТабДок.Вывести(ОбластьКомиссия);

      ОбластьПодвал = Макет1.ПолучитьОбласть("Подвал");
                  
      Сч = 0;
               
      Пока Выборка.Следующий() Цикл   
         
         ОбластьАдрес = Макет1.ПолучитьОбласть("Адрес");
         ЗаполнитьЗначенияСвойств(ОбластьАдрес.Параметры, Выборка);
         ТабДок.Вывести(ОбластьАдрес); 
         ОбластьАдрес.Параметры.НомерСтроки = НомерСтроки;
         НомерСтроки = НомерСтроки + 1;          
         Сч = Сч + 1;
         

         // если это 73-ая строка
         Если Сч % 73 = 0 Тогда
            ТабДок.Вывести(ОбластьПодвал);
            ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
            ТабДок.Вывести(ОбластьШапка);
            ТабДок.Вывести(ОбластьСтрока);
            ТабДок.Вывести(ОбластьКомиссия);
         КонецЕсли;   
         
      
      КонецЦикла;          
   
       ОбластьПодвал = Макет1.ПолучитьОбласть("Подвал");   

   ТабДок.Показать("Акт осмотра электроустановок");
   
КонецПроцедуры



oleg-x

         ОбластьАдрес = Макет1.ПолучитьОбласть("Адрес");//Здесь получили область
         ЗаполнитьЗначенияСвойств(ОбластьАдрес.Параметры, Выборка); //Здесь её заполнили
         ТабДок.Вывести(ОбластьАдрес);  //Тут вы выводите область
         ОбластьАдрес.Параметры.НомерСтроки = НомерСтроки; //Область уже выведена, вы присваиваете значение параметра, не имеет смысла

         НомерСтроки = НомерСтроки + 1;         
         Сч = Сч + 1;
//так правильно
         ОбластьАдрес = Макет1.ПолучитьОбласть("Адрес");
         ЗаполнитьЗначенияСвойств(ОбластьАдрес.Параметры, Выборка);
         ОбластьАдрес.Параметры.НомерСтроки = НомерСтроки;
         ТабДок.Вывести(ОбластьАдрес);
         НомерСтроки = НомерСтроки + 1;         
         Сч = Сч + 1;

Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

ekaterinasslv

заработало,но не совсем так как хотелось бы, нумерация  продолжается,а хотелось бы как только рисуется новая шапка и идет новое перечисление адресов,чтобы нумерация начиналась тоже с 1

oleg-x

В чем проблема, как только выводишь шапку, тут же присваивай НомерСтроки = 1.
Тут только свой расчет, какого то механизма нет.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

ekaterinasslv

Спасибо большое)все бы объясняли так как Вы!)и тогда  кажется что все очень просто))):zebzdr::zebzdr::ooifh:

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск