8.х 8.3

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Max_M, 21 июн 2016.

  1. TopicStarter Overlay
    Max_M
    Offline

    Max_M

    Регистрация:
    21 июн 2016
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Здраствуйте, мне нужен Ваш совет, как вывести значения параметров
    (к примеру "+РезультатЗапроса.УчГрНаименование+")
    , которые в находятся в коде, а не в шаблоне! Проблема в том, что значения параметров которые прописаны в коде не появляются в макете.
    Вот эта чать кода:
    Код:
    ОбластьМакета = Макет.ПолучитьОбласть("Абзац2");
           ОбластьМакета.Параметры.Абзац2 = "           Зачислить в группу № "+РезультатЗапроса.УчГрНаименование+" (период обучения с "+Формат(РезультатЗапроса.УчГрДатаПоступления,"ДФ=dd.MM.yyyy")+" по "+Формат(РезультатЗапроса.УчГрДатаОкончанияОбучения,"ДФ=dd.MM.yyyy")+") по образовательной программе профессиональной подготовки "+РезультатЗапроса.ОбразовательнаяПрограмма+" следующих слушателей:";
           ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
           ТабДок.Вывести(ОбластьМакета);

    Весь код приказа:
    Код:
    &НаСервере
    Функция ПечатьПриказОЗачисленииНаКурсы(МассивОбъектов,ОбъектыПечати)
        ТабДок = Новый ТабличныйДокумент;
        ТабДок.АвтоМасштаб = Истина;
        ТабДок.ОриентацияСтраницы    = ОриентацияСтраницы.Портрет;
        ТабДок.КоличествоЭкземпляров = 1;
    
    
        Запрос = Новый Запрос;
        Запрос.Текст =
    
                  "ВЫБРАТЬ
                  |    ПриказОДвиженииКонтингента.Номер КАК НомерПриказа,
                  |    ПриказОДвиженииКонтингента.Дата КАК ДатаПриказа,
                  |    ПриказОДвиженииКонтингента.УчебнаяГруппа.Наименование КАК УчГрНаименование,
                  |    ПриказОДвиженииКонтингента.УчебнаяГруппа.Дата_Поступления КАК УчГрДатаПоступления,
                  |    ПриказОДвиженииКонтингента.УчебнаяГруппа.ДатаОкончанияОбучения КАК УчГрДатаОкончанияОбучения,
                  |    ПриказОДвиженииКонтингента.УчебнаяГруппа.Специальность.Полное_Название_Образовательной_Программы КАК ОбразовательнаяПрограмма,
                  |    ПриказОДвиженииКонтингентаСписокСтудентов.НомерСтроки КАК НомерСтроки,
                  |    ПриказОДвиженииКонтингентаСписокСтудентов.Студент КАК Студент
                  |ИЗ
                  |    Документ.ПриказОДвиженииКонтингента КАК ПриказОДвиженииКонтингента
                  |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриказОДвиженииКонтингента.СписокСтудентов КАК ПриказОДвиженииКонтингентаСписокСтудентов
                  |        ПО ПриказОДвиженииКонтингента.Ссылка = ПриказОДвиженииКонтингентаСписокСтудентов.Ссылка
                  |ГДЕ
                  |    ПриказОДвиженииКонтингента.Ссылка В(&Ссылка)";
    
    
            Запрос.УстановитьПараметр("Ссылка",МассивОбъектов);
            РезультатЗапроса = Запрос.Выполнить().Выбрать();
            
        
        
            Макет = ПолучитьМакет("ПриказОЗачисленииНаКурсы");
            НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1;
        
             ОбластьМакета=макет.ПолучитьОбласть("Шапка");
            РезультатЗапроса.Следующий(); //получаем данные, первая строка результата запроса
            ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
            РезультатЗапроса.Сбросить(); //возвращаем выборку в начальное состояние, для цикла
            ТабДок.Вывести(ОбластьМакета);
    
    Заранее спасибо!
    
                
            ОбластьМакета = Макет.ПолучитьОбласть("Абзац1");
            ОбластьМакета.Параметры.Абзац1 = "           В соответствии с положением об оказании платных образовательных услуг утвержденного 02.09.2013 и на основании заключенных договоров на оказание платных образовательных услуг, приказываю:";
            ТабДок.Вывести(ОбластьМакета);
    
    
            ОбластьМакета = Макет.ПолучитьОбласть("Абзац2");
           ОбластьМакета.Параметры.Абзац2 = "           Зачислить в группу № "+РезультатЗапроса.УчГрНаименование+" (период обучения с "+Формат(РезультатЗапроса.УчГрДатаПоступления,"ДФ=dd.MM.yyyy")+" по "+Формат(РезультатЗапроса.УчГрДатаОкончанияОбучения,"ДФ=dd.MM.yyyy")+") по образовательной программе профессиональной подготовки "+РезультатЗапроса.ОбразовательнаяПрограмма+" следующих слушателей:";
           ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
           ТабДок.Вывести(ОбластьМакета);
    
    
        
            Пока РезультатЗапроса.Следующий() Цикл        
    
        ОбластьМакета=макет.ПолучитьОбласть("СписокСтудентов");
        ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
        ТабДок.Вывести(ОбластьМакета);
    
         КонецЦикла;
    
    ОбластьМакета=макет.ПолучитьОбласть("Подвал");
        ТабДок.Вывести(ОбластьМакета);
        ОбластьМакета=макет.ПолучитьОбласть("Оборот");
        ТабДок.Вывести(ОбластьМакета);
        
    Возврат ТабДок;
    
        КонецФункции // ПриказОЗачисленииНаКурсы()
    
    Последнее редактирование: 21 июн 2016
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Сделайте РезультатЗапроса.Следующий() после того, как запрос выполнился и сформировалась выборка из результата.
  3. TopicStarter Overlay
    Max_M
    Offline

    Max_M

    Регистрация:
    21 июн 2016
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Подскажите пожалуйста по конкретнее.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Заявление в бухгалтерию, на перечисление 50% своей ЗП мне на карточку отнесите :)

    Код:
    ...........
    РезультатЗапроса.Следующий(); //получаем данные, первая строка результата запроса
            ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
           
            ТабДок.Вывести(ОбластьМакета);
    
    Заранее спасибо!
               
            ОбластьМакета = Макет.ПолучитьОбласть("Абзац1");
            ОбластьМакета.Параметры.Абзац1 = "           В соответствии с положением об оказании платных образовательных услуг утвержденного 02.09.2013 и на основании заключенных договоров на оказание платных образовательных услуг, приказываю:";
            ТабДок.Вывести(ОбластьМакета);
    
    
            ОбластьМакета = Макет.ПолучитьОбласть("Абзац2");
           ОбластьМакета.Параметры.Абзац2 = "           Зачислить в группу № "+РезультатЗапроса.УчГрНаименование+" (период обучения с "+Формат(РезультатЗапроса.УчГрДатаПоступления,"ДФ=dd.MM.yyyy")+" по "+Формат(РезультатЗапроса.УчГрДатаОкончанияОбучения,"ДФ=dd.MM.yyyy")+") по образовательной программе профессиональной подготовки "+РезультатЗапроса.ОбразовательнаяПрограмма+" следующих слушателей:";
           ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
           ТабДок.Вывести(ОбластьМакета);
    
    РезультатЗапроса.Сбросить(); //возвращаем выборку в начальное состояние, для цикла
    
    Пока РезультатЗапроса.Следующий() Цикл
    ................
    
  5. TopicStarter Overlay
    Max_M
    Offline

    Max_M

    Регистрация:
    21 июн 2016
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    А я смотрю вы зря время не теряете :)) Получилось сделать, спасибо что направили на путь инстеный! еще добавил строчку РезультатЗапроса.Следующий();
    Код:
     
    ...................................................................
             ОбластьМакета = Макет.ПолучитьОбласть("Абзац2");
            РезультатЗапроса.Следующий();      // < - добавил строку и заработало!
            ОбластьМакета.Параметры.Абзац2 = "           Зачислить в группу № "+РезультатЗапроса.УчГрНаименование+" (период обучения с "+Формат(РезультатЗапроса.УчГрДатаПоступления,"ДФ=dd.MM.yyyy")+" по "+Формат(РезультатЗапроса.УчГрДатаОкончанияОбучения,"ДФ=dd.MM.yyyy")+") по образовательной программе профессиональной подготовки "+РезультатЗапроса.ОбразовательнаяПрограмма+" следующих слушателей:";
            ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
            ТабДок.Вывести(ОбластьМакета);
          
             РезультатЗапроса.Сбросить();
         
         Пока РезультатЗапроса.Следующий() Цикл  
    ...............................................................
      

Поделиться этой страницей