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

Вывод даты с новой строки (метод вывести)

Автор Артак, 23 мар 2011, 13:38

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

Артак

Здравствуйте, помогите пожалуйста. Я недавно начал обучать 1С и  у меня такая проблема: мне нужно создать отчет, где нужно вывести количество поданных  заявлений  на определенную специальность  на  какую-то дату.  Есть код и вот где комментарий в одном случае нужно вывести, а в 2-х других присоединить. как это сделать?

Процедура КнопкаСформироватьНажатие(Кнопка)
   // Вставить содержимое обработчика.
     ТД=ЭлементыФормы.ТД;
    ТД.Очистить();
    М=ПолучитьМакет("Макет");
   //Заголовок
    З=М.ПолучитьОбласть("Заголовок");
   З.Параметры.Заполнить(ЭтотОбъект);
    ТД.Вывести(З);
   //Шапка
    Ш=М.ПолучитьОбласть("Шапка");
   ТД.Вывести(Ш);
   //ШапкаСтрока
    ШС=М.ПолучитьОбласть("ШапкаСтрока");
   ТД.Вывести(ШС);
    //ШапкаСтолбец
    ШСТ=М.ПолучитьОбласть("ШапкаСтолбец");
   ТД.Вывести(ШСТ);
   
   
З=Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
    |   КПЗ.Специальность
    |ИЗ
    |   РегистрНакопления.КПЗ КАК КПЗ
    |ГДЕ
    |   КПЗ.УчебныйГод = &УГ
    |   И КПЗ.ФормОбучения = &ФО
   |УПОРЯДОЧИТЬ ПО КПЗ.Специальность.Наименование");
З.УстановитьПараметр("УГ",УчебныйГод);
З.УстановитьПараметр("ФО",ФормаОбучения);

ТС = З.Выполнить().Выгрузить();
Для каждого э из ТС цикл
   Сообщить("С="+э.Специальность);
КонецЦикла;

З=Новый Запрос("ВЫБРАТЬ
               |   КПЗ.Специальность,
               |   СУММА(КПЗ.К) КАК К,
               |   КПЗ.Период КАК Период
               |ИЗ
               |   РегистрНакопления.КПЗ КАК КПЗ
               |ГДЕ
               |   КПЗ.УчебныйГод = &УГ
               |   И КПЗ.ФормОбучения = &ФО
               |
               |СГРУППИРОВАТЬ ПО
               |   КПЗ.Период,
               |   КПЗ.Специальность
               |
               |УПОРЯДОЧИТЬ ПО
               |   Период,
               |   КПЗ.Специальность.Наименование");

З.УстановитьПараметр("УГ",УчебныйГод);
З.УстановитьПараметр("ФО",ФормаОбучения);

Выборка = З.Выполнить().Выбрать();

Если Выборка.Следующий() тогда
   Д1 = Выборка.Период;
   Выполнять = Истина;   
   Пока Выполнять цикл
      Д1 = Выборка.период;
      //Сообщить("Дата="+Д1+"----------------");
      //Вывод даты с новой строки  (метод вывести)
       
          Для каждого э из ТС цикл
         Если э.Специальность=Выборка.Специальность И Д1=Выборка.Период тогда
            //Сообщить("С="+э.Специальность+" к="+Выборка.К);
            //присоединить
            
            Выполнять=Выборка.Следующий();
            Если Выборка.Период<>Д1 тогда
               Д1 = Выборка.Период;
            КонецЕсли;
         Иначе
            //Сообщить("С="+э.Специальность+" к=0"); 
            //присоединить
            
         КонецЕсли;
      КонецЦикла;
   КонецЦикла;   
КонецЕсли;
КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск