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

Автор Тема: Вывести табличную часть  (Прочитано 638 раз)

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

Оффлайн Space_minus

  • **
  • Сообщений: 91
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-17
  • Сайт: 
  • Профессия: Ученик 1С
Суть в том что табличная часть выводится 2 раза(по колличеству студентов) и в разные формы.
нужно помочь поправить, что бы студенты выводились списком и в одном  макете

Функция ПечатьПриказОЗачисленииНаКурсы(МассивОбъектов,ОбъектыПечати)
ТабДок = Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабДок.КоличествоЭкземпляров = 1;


Запрос = Новый Запрос;
Запрос.Текст =

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


Запрос.УстановитьПараметр("Ссылка",МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить().Выбрать();


Пока РезультатЗапроса.Следующий() Цикл

Макет = ПолучитьМакет("ПриказОЗачисленииНаКурсы");
НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1;

ОбластьМакета=макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац1");
ОбластьМакета.Параметры.Абзац1 = "           В соответствии с положением об оказании платных образовательных услуг утвержденного 02.09.2013 и на основании заключенных договоров на оказание платных образовательных услуг, приказываю:";
ТабДок.Вывести(ОбластьМакета);

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

ОбластьМакета=макет.ПолучитьОбласть("СписокСтудентов");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);


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

ТабДок.Вывести(ОбластьМакета);

//

КонецЦикла;

Возврат ТабДок;

КонецФункции // ПриказОЗачисленииНаКурсы()


Я кажется не правильно построил цикл. :(


Оффлайн LexaK

  • *****
  • Сообщений: 1214
  • РЕПУТАЦИЯ: 333
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
вам надо формирование и вывод областей Шапка и подвал вывести за рамки цикла! всего делов-то.   
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Space_minus

  • **
  • Сообщений: 91
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-17
  • Сайт: 
  • Профессия: Ученик 1С
вам надо формирование и вывод областей Шапка и подвал вывести за рамки цикла! всего делов-то.

Я все вынес за рамки цикла кроме вывода списка студентов (Табличной части)! Все хорошо, но перестали параметры выводится в шапке :(
вот что получилось:


&НаСервере
Функция ПечатьПриказОЗачисленииНаКурсы(МассивОбъектов,ОбъектыПечати)
ТабДок = Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    ТабДок.КоличествоЭкземпляров = 1;


Запрос = Новый Запрос;
Запрос.Текст =

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


Запрос.УстановитьПараметр("Ссылка",МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить().Выбрать();



Макет = ПолучитьМакет("ПриказОЗачисленииНаКурсы");
НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1;

ОбластьМакета=макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац1");
    ОбластьМакета.Параметры.Абзац1 = "           В соответствии с положением об оказании платных образовательных услуг утвержденного 02.09.2013 и на основании заключенных договоров на оказание платных образовательных услуг, приказываю:";
    ТабДок.Вывести(ОбластьМакета);

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


Пока РезультатЗапроса.Следующий() Цикл

ОбластьМакета=макет.ПолучитьОбласть("СписокСтудентов");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

     КонецЦикла;

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

Возврат ТабДок;

КонецФункции // ПриказОЗачисленииНаКурсы()


Оффлайн LexaK

  • *****
  • Сообщений: 1214
  • РЕПУТАЦИЯ: 333
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
а книжки читать кто будет?

доделайте ваш код так, там правда пяток проверок не хватает, ну это уже задачка на сообразительность
        ОбластьМакета=макет.ПолучитьОбласть("Шапка");
        РезультатЗапроса.Следующий(); //получаем данные, первая строка результата запроса
        ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
        РезультатЗапроса.Сбросить(); //возвращаем выборку в начальное состояние, для цикла
        ТабДок.Вывести(ОбластьМакета);

Конечно коряво как-то, я бы все это по другому написал,
ну да ладно, каждый пишет как может.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн Space_minus

  • **
  • Сообщений: 91
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-03-17
  • Сайт: 
  • Профессия: Ученик 1С
При много благодарен :))
Добавлено: 21 Июн 2016, 05:49

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

Мне еще один нужен Ваш совет, параметры которые на макете мы заполнили, а параметры "+РезультатЗапроса.УчГрНаименование+" в коде каким образом заполнить?

Последний раз редактировалось: Space_minus; 21 Июн 2016, 05:49. Причина: Объединение сообщений


Теги:
 

Часть четвертая: переход на «1С» версии «3.0». Где в программе находятся «Параметры учета»? Алгоритм настройки кадрового учета в новой версии программы «1С»

Автор 1cwikiРаздел Зарплата и управление персоналом

Ответов: 0
Просмотров: 3212
Последний ответ 20 Мар 2015, 12:58
от 1cwiki
не могу вывести отображение цен в "подборе" документ "Заявка покупателя" УТ 10.3

Автор Виталий ЕмельяновРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2602
Последний ответ 05 Окт 2015, 19:22
от Виталий Емельянов
табличная часть, реквизит "сумма"

Автор otabekРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2004
Последний ответ 01 Мар 2014, 22:27
от DmitriyF
часть уплаченного НДФЛ не попадает в справку 2-ндфл

Автор КаринаСРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 1374
Последний ответ 30 Янв 2015, 02:08
от MuI_I_Ika
Уменьшение закупочной цены-уменьшение прибыли на часть товара

Автор AinaРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 3080
Последний ответ 13 Дек 2012, 18:46
от Aina

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
95 Сообщений
alex0402
69 Сообщений
Dethmontt Dethmontt
67 Сообщений
wise wise
63 Сообщений
MuI_I_Ika MuI_I_Ika
61 Сообщений
ilyay ilyay
42 Сообщений
Сергей Федоров Сергей Федоров
34 Сообщений
magnifico61
25 Сообщений
ilnur75
22 Сообщений
BuhRust
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal