Помогите с параметрами печати

1. RALik_Minsk 28.06.18 16:10 Сейчас в теме
День добрый! Есть отчет для вывода расчета оплаты по путевым. То есть надо вставить разрыв страницы но как это сделать не знаю( Еще ко всему размер плавающий там в одном расчете может быть несколько работ.
Есть пример в своей конфигурации (расчетные листки) но там так мудрено написано что просто взять от туда механизм не получается.
Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт

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

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

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

	
	

	
	

 
 
	
	
	
	
КонецПроцедуры
Показать
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
20. RALik_Minsk 29.06.18 14:53 Сейчас в теме
Всем спасибо получилось вставляю код может быть кому такой пример пригодится.
Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт
	
	Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда
		
		Сообщить("Не указана дата начала периода!", СтатусСообщения.Важное);
		Возврат
		
	КонецЕсли;
	
	Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда
		
		Сообщить("Не указана дата окончания периода!", СтатусСообщения.Важное);
		Возврат
		
	КонецЕсли;
	Если ОчищатьТабличныйДокумент Тогда
		ДокументРезультат.Очистить();
	КонецЕсли; 
	
	Макет                        = ПолучитьМакет("Макет");
	ОбластьШапка                = Макет.ПолучитьОбласть("Шапка");
	ОбластьТаблица             = Макет.ПолучитьОбласть("Таблица");
	ОбластьИтого             = Макет.ПолучитьОбласть("Итого");
	ОбластьПодвал             = Макет.ПолучитьОбласть("Подвал");
	//Линия                     = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
	
	
	Запрос = Новый Запрос();
	Запрос.Текст = 
	"ВЫБРАТЬ
	|    ПутевойТракторный.Дата КАК Дата,
	|    ПутевойТракторный.ФизЛицо,
	|    ПутевойТракторный.Трактор,
	|    ПутевойТракторный.Ссылка,
	|    ПутевойТракторный.Ответственный,
	|    ПутевойТракторный.НомерБланка,
	|    ПутевойТракторный.Выработка.(
	|        Ссылка,
	|        НомерСтроки,
	|        Подразделение,
	|        СпособОтражения,
	|        ТехнологическаяОперация,
	|        Количество,
	|        Дни,
	|        Часы,
	|        ВидРасчета,
	|        Расценка,
	|        НормаВыработки,
	|        НормаРасхода,
	|        Сумма,
	|        Расход,
	|        РаботаДвигателя,
	|        РасходФакт,
	|        ТипОперации,
	|        Прицеп
	|    )
	|ИЗ
	|    Документ.ПутевойТракторный КАК ПутевойТракторный
	|ГДЕ
	|    ПутевойТракторный.ФизЛицо = &Работник
	|    И ПутевойТракторный.Дата >= &ДатаНач
	|    И ПутевойТракторный.Дата <= &ДатаКон
	|
	|УПОРЯДОЧИТЬ ПО
	|    Дата" ;
	
	Запрос.УстановитьПараметр("Работник", Работник);
	Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
	Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
	
	Итог = Запрос.Выполнить();
	Выборка = Итог.Выбрать();
	ПОка Выборка.Следующий() ЦИкл
		ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
		ОбластьШапка.Параметры.Авто = Выборка.Трактор;
		ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
		ОбластьШапка.Параметры.День = День(Выборка.Дата);
		СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
		ОтчетныйМесяцСклонение(СтрокаДата);
		ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
		ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
		ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
		//Перенести дальше, после проверки вывода
		//ДокументРезультат.Вывести(ОбластьШапка);
		
		Запрос1 = Новый Запрос();
		Запрос1.Текст =
		"ВЫБРАТЬ
		|    ПутевойТракторныйВыработка.Ссылка,
		|    ПутевойТракторныйВыработка.НомерСтроки,
		|    ПутевойТракторныйВыработка.Подразделение,
		|    ПутевойТракторныйВыработка.СпособОтражения,
		|    ПутевойТракторныйВыработка.ТехнологическаяОперация,
		|    ПутевойТракторныйВыработка.Количество КАК Количество,
		|    ПутевойТракторныйВыработка.Дни КАК Дни,
		|    ПутевойТракторныйВыработка.Часы КАК Часы,
		|    ПутевойТракторныйВыработка.ВидРасчета,
		|    ПутевойТракторныйВыработка.Расценка,
		|    ПутевойТракторныйВыработка.НормаВыработки,
		|    ПутевойТракторныйВыработка.НормаРасхода,
		|    ПутевойТракторныйВыработка.Сумма КАК Сумма,
		|    ПутевойТракторныйВыработка.Расход КАК Расход,
		|    ПутевойТракторныйВыработка.РаботаДвигателя,
		|    ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
		|    ПутевойТракторныйВыработка.ТипОперации,
		|    ПутевойТракторныйВыработка.Прицеп,
		|    ПутевойТракторный.Ссылка КАК Ссылка
		|ИЗ
		|    Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
		|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
		|        ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
		|ГДЕ
		|    ПутевойТракторныйВыработка.Ссылка = &Ссылка";
		Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);  
		Итог1 = Запрос1.Выполнить().Выбрать();
		//Нужен промежуточный Табличный документ, собрать таблицу в нем
		
		ТабДокТаблица = Новый ТабличныйДокумент;
		Пока Итог1.Следующий() Цикл
			ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
			ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
			ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
			ОбластьТаблица.Параметры.Кол = Итог1.Количество;
			ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
			ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
			ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
			ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
			ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
			ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
			ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
			ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
			ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
			ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
			//Заменить на промежуточный Табличный документ
			//ДокументРезультат.Вывести(ОбластьТаблица);
			ТабДокТаблица.Вывести(ОбластьТаблица);
		КонецЦикла;
		Запрос2 = Новый Запрос();
		Запрос2.Текст =
		"ВЫБРАТЬ
		|    ПутевойТракторныйВыработка.Ссылка,
		|    ПутевойТракторныйВыработка.Количество КАК Количество,
		|    ПутевойТракторныйВыработка.Дни КАК Дни,
		|    ПутевойТракторныйВыработка.Часы КАК Часы,
		|    ПутевойТракторныйВыработка.Сумма КАК Сумма,
		|    ПутевойТракторныйВыработка.Расход КАК Расход,
		|    ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
		|    ПутевойТракторный.Ссылка КАК Ссылка
		|ИЗ
		|    Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
		|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
		|        ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
		|ГДЕ
		|    ПутевойТракторныйВыработка.Ссылка = &Ссылка
		|ИТОГИ
		|    СУММА(Количество),
		|    СУММА(Дни),
		|    СУММА(Часы),
		|    СУММА(Сумма),
		|    СУММА(Расход),
		|    СУММА(РасходФакт)
		|ПО
		|    ОБЩИЕ";
		Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);  
		Итог2 = Запрос2.Выполнить().Выбрать();
		Итог2.Следующий();
		ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
		ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
		ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
		ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
		ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
		ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
		//Перенести дальше, после проверки вывода
		//ДокументРезультат.Вывести(ОбластьИтого);
		
		ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
		//Перенести дальше, после проверки вывода
		//ДокументРезультат.Вывести(ОбластьПодвал);
		
		МассивОбластей = Новый Массив;
		МассивОбластей.Добавить(ОбластьШапка);
		МассивОбластей.Добавить(ТабДокТаблица); // < -- Проверяем не одну строку, а таблицу целиком
		МассивОбластей.Добавить(ОбластьИтого);
		МассивОбластей.Добавить(ОбластьПодвал);
		
		Если (Не ДокументРезультат.ПроверитьВывод(МассивОбластей)) Тогда
			//        Или  (Ном = КоличествоСтрок) Тогда
			
			
			ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
			МассивОбластей.Очистить();
		КонецЕсли;    
		
		//После проверки выводим области в документ  
		ДокументРезультат.Вывести(ОбластьШапка);
		ДокументРезультат.Вывести(ТабДокТаблица);
		ДокументРезультат.Вывести(ОбластьИтого);
		ДокументРезультат.Вывести(ОбластьПодвал);
		ДокументРезультат.Автомасштаб = Истина;
	КонецЦикла;
	





КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 10 28.06.18 16:14 Сейчас в теме
(1) Точно отчет? не печатная форма?
7. RALik_Minsk 28.06.18 16:32 Сейчас в теме
(2)Отчет с макетом внутри. В макете 4 области (Шапка,Таблица,Итог,Подвал) Если Шапка с Итогом и Подвалом фиксированы то таблица может содержать от одной строчки до 7-8 и строка может быть разная по высоте в зависимости от наименования тех. операции.
12. dandykry 10 28.06.18 16:49 Сейчас в теме
13. RALik_Minsk 28.06.18 16:58 Сейчас в теме
(2) Вот так сделан
Прикрепленные файлы:
14. dandykry 10 28.06.18 17:05 Сейчас в теме
(13) ну да. Проще говоря решается ручным выводом Процессора компоновки данных

	ТабличныйДокумент.Очистить();

	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
	

	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
	ПроцессорВывода.НачатьВывод();


Пока Не ПроцессорКомпоновкиДанных.Следующий()  = НЕопределено Цикл

//тут в зависимости от структуры отчета проверяете вмещается или нет. Для этого используйте как раз ТабДокумент.ПроверитьВывод())

ПроцессорВывода .Вывестиэлемент(ПроцессорКомпоновкиДанных);
КонецЦикла;
		
	
Показать


Если совсем сложно будет выходить, можно ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент заменить на ПроцессорВыводаРезультатаКомпоновкиДанныхВТКоллекциюЗначений­ и руками вывести как печатную форму. Получится намного проще
3. IvanovIvan 28.06.18 16:15 Сейчас в теме
ТабличныйДокумент.ПроверитьВывод(МассивОбластей), если не помещается Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц()
4. Timur.V 78 28.06.18 16:24 Сейчас в теме
Создай Макет и нарисуй отчет.
На форме создаем реквизит с типом ТабличныйДокумент и туда выводим результат.

Разрыв вставляется туда, куда нужно. Если нужно после табличной части, значит после и вставляется.
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();  // Можно принудительно вставить разрывы страниц  	
5. RALik_Minsk 28.06.18 16:29 Сейчас в теме
(4)Принудительно не получится размеры плавают.
6. IvanovIvan 28.06.18 16:29 Сейчас в теме
(5) Еще раз ТабличныйДокумент.ПроверитьВывод(МассивОбластей)
8. RALik_Minsk 28.06.18 16:33 Сейчас в теме
(6)с массивами не работал по этому даже не знаю как начать.
10. IvanovIvan 28.06.18 16:48 Сейчас в теме
(8) Массив это по сути тот же Список значений, таблица значений, в который ты запихиваешь все выведеные тобой области....
9. Timur.V 78 28.06.18 16:35 Сейчас в теме
(5) Пример

ОбластьМакета.Параметры.Количество           = Количество;
        ОбластьМакета.Параметры.СуммаСНДС         = ВсегоСНДС;
        ОбластьМакета.Параметры.СуммаБезНДС       = ВсегоСНДС;
        ОбластьМакета.Параметры.СуммаНДС          = 0;
        ОбластьМакета.Параметры.Цена              = Цена;
        ОбластьМакета.Параметры.ТоварНаименование = СокрЛП(ВыборкаСтрокТовары.ТоварНаименование);
        ОбластьМакета.Параметры.КоррСчет           = СокрЛП(ВыборкаСтрокТовары.СчетУчета);
        ОбластьМакета.Параметры.НоменклатурныйНомер = ВыборкаСтрокТовары.ТоварКод;
        МассивОбластей =Новый Массив;
        МассивОбластей.Добавить(ОбластьМакета);        
        Если (Не ТабДокумент.ПроверитьВывод(МассивОбластей)) Тогда
            //        Или  (Ном = КоличествоСтрок) Тогда

             НомерСтраницы    = НомерСтраницы + 1;
             ЗаголовокТаблицы.Параметры.НомерСтраницы = "Страница " + НомерСтраницы;             
             ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
             ТабДокумент.Вывести(ЗаголовокТаблицы);
             МассивОбластей.Очистить();
        КонецЕсли;    
        
        ТабДокумент.Вывести(ОбластьМакета);
Показать
RALik_Minsk; +1 Ответить
11. RALik_Minsk 28.06.18 16:49 Сейчас в теме
Вставил код может че подскажете.
IvanovIvan; +1 Ответить
15. mad375 29.06.18 09:39 Сейчас в теме
(11)Проверку надо делать ДО вывода областей, т.е. собери все ДокументРезультат.Вывести() в одно место в конце, таблицу нужно будет выводить в отдельный ТабличныйДокумент, вновь созданный. Типа такого получится:

Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт

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

    Итог = Запрос.Выполнить();
    Выборка = Итог.Выбрать();
    ПОка Выборка.Следующий() ЦИкл
    ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
    ОбластьШапка.Параметры.Авто = Выборка.Трактор;
    ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
    ОбластьШапка.Параметры.День = День(Выборка.Дата);
    СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
    ОтчетныйМесяцСклонение(СтрокаДата);
    ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
    ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
    ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьШапка);
     
    Запрос1 = Новый Запрос();
    Запрос1.Текст =
    "ВЫБРАТЬ
    |    ПутевойТракторныйВыработка.Ссылка,
    |    ПутевойТракторныйВыработка.НомерСтроки,
    |    ПутевойТракторныйВыработка.Подразделение,
    |    ПутевойТракторныйВыработка.СпособОтражения,
    |    ПутевойТракторныйВыработка.ТехнологическаяОперация,
    |    ПутевойТракторныйВыработка.Количество КАК Количество,
    |    ПутевойТракторныйВыработка.Дни КАК Дни,
    |    ПутевойТракторныйВыработка.Часы КАК Часы,
    |    ПутевойТракторныйВыработка.ВидРасчета,
    |    ПутевойТракторныйВыработка.Расценка,
    |    ПутевойТракторныйВыработка.НормаВыработки,
    |    ПутевойТракторныйВыработка.НормаРасхода,
    |    ПутевойТракторныйВыработка.Сумма КАК Сумма,
    |    ПутевойТракторныйВыработка.Расход КАК Расход,
    |    ПутевойТракторныйВыработка.РаботаДвигателя,
    |    ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    |    ПутевойТракторныйВыработка.ТипОперации,
    |    ПутевойТракторныйВыработка.Прицеп,
    |    ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    |    Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    |        ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    |    ПутевойТракторныйВыработка.Ссылка = &Ссылка";
    Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);  
    Итог1 = Запрос1.Выполнить().Выбрать();
    Пока Итог1.Следующий() Цикл
    
    //ТабРезультатЗапроса= Итог1.Выбрать();
        
    //Нужен промежуточный Табличный документ, собрать таблицу в нем
    ТабДокТаблица = Новый ТабличныйДокумент;
 
    ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
    ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
    ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
    ОбластьТаблица.Параметры.Кол = Итог1.Количество;
    ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
    ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
    ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
    ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
    ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
    ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
    ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
    ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
    ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
    ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
    //Заменить на промежуточный Табличный документ
    //ДокументРезультат.Вывести(ОбластьТаблица);
    ТабДокТаблица.Вывести(ОбластьТаблица);
      КонецЦикла;
    Запрос2 = Новый Запрос();
    Запрос2.Текст =
    "ВЫБРАТЬ
    |    ПутевойТракторныйВыработка.Ссылка,
    |    ПутевойТракторныйВыработка.Количество КАК Количество,
    |    ПутевойТракторныйВыработка.Дни КАК Дни,
    |    ПутевойТракторныйВыработка.Часы КАК Часы,
    |    ПутевойТракторныйВыработка.Сумма КАК Сумма,
    |    ПутевойТракторныйВыработка.Расход КАК Расход,
    |    ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
    |    ПутевойТракторный.Ссылка КАК Ссылка
    |ИЗ
    |    Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
    |        ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
    |ГДЕ
    |    ПутевойТракторныйВыработка.Ссылка = &Ссылка
    |ИТОГИ
    |    СУММА(Количество),
    |    СУММА(Дни),
    |    СУММА(Часы),
    |    СУММА(Сумма),
    |    СУММА(Расход),
    |    СУММА(РасходФакт)
    |ПО
    |    ОБЩИЕ";
    Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);  
    Итог2 = Запрос2.Выполнить().Выбрать();
    Итог2.Следующий();
    ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
    ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
    ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
    ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
    ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
    ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьИтого);
    
    ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
    //Перенести дальше, после проверки вывода
    //ДокументРезультат.Вывести(ОбластьПодвал);
    
    МассивОбластей = Новый Массив;
    МассивОбластей.Добавить(ОбластьШапка);
    МассивОбластей.Добавить(ТабДокТаблица); // < -- Проверяем не одну строку, а таблицу целиком
    МассивОбластей.Добавить(ОбластьИтого);
    МассивОбластей.Добавить(ОбластьПодвал);
        Если ДокументРезультат.ПроверитьВывод(МассивОбластей) Тогда
           ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли   
   
    //После проверки выводим области в документ  
    ДокументРезультат.Вывести(ОбластьШапка);
    ДокументРезультат.Вывести(ТабДокТаблица);
    ДокументРезультат.Вывести(ОбластьИтого);
    ДокументРезультат.Вывести(ОбластьПодвал);

    КонецЦикла;

    

    
КонецПроцедуры
Показать


Текст кстати в коде очень трудно читать, расстановкой отступов я смотрю никто не заморачивался...
16. RALik_Minsk 29.06.18 11:09 Сейчас в теме
(15)Спасибо попробую я не чистый программист нет даже образования по этому делаю как могу и учусь потиху
17. RALik_Minsk 29.06.18 11:31 Сейчас в теме
(15) Немного не то но спасибо!! буду пилить далее. Он разрыв ставит после каждой расчетки хотя на странице может влезь больше
18. RALik_Minsk 29.06.18 12:04 Сейчас в теме
(15)И троху испортили таблицу она выводит только последнею строчку, остальное затирает
19. mad375 29.06.18 12:30 Сейчас в теме
(18)Да, ошибся, надо объявление табличного документа вывести за цикл
......

//Нужен промежуточный Табличный документ, собрать таблицу в нем
ТабДокТаблица = Новый ТабличныйДокумент;

Пока Итог1.Следующий() Цикл
.....
Показать
RALik_Minsk; +1 Ответить
20. RALik_Minsk 29.06.18 14:53 Сейчас в теме
Всем спасибо получилось вставляю код может быть кому такой пример пригодится.
Процедура СформироватьОтчет(ДокументРезультат, ПоказыватьЗаголовок = Ложь, ВысотаЗаголовка = 0, ТолькоЗаголовок = Ложь, ОчищатьТабличныйДокумент = Истина) Экспорт
	
	Если НЕ ЗначениеЗаполнено(ДатаНач) Тогда
		
		Сообщить("Не указана дата начала периода!", СтатусСообщения.Важное);
		Возврат
		
	КонецЕсли;
	
	Если НЕ ЗначениеЗаполнено(ДатаКон) Тогда
		
		Сообщить("Не указана дата окончания периода!", СтатусСообщения.Важное);
		Возврат
		
	КонецЕсли;
	Если ОчищатьТабличныйДокумент Тогда
		ДокументРезультат.Очистить();
	КонецЕсли; 
	
	Макет                        = ПолучитьМакет("Макет");
	ОбластьШапка                = Макет.ПолучитьОбласть("Шапка");
	ОбластьТаблица             = Макет.ПолучитьОбласть("Таблица");
	ОбластьИтого             = Макет.ПолучитьОбласть("Итого");
	ОбластьПодвал             = Макет.ПолучитьОбласть("Подвал");
	//Линия                     = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
	
	
	Запрос = Новый Запрос();
	Запрос.Текст = 
	"ВЫБРАТЬ
	|    ПутевойТракторный.Дата КАК Дата,
	|    ПутевойТракторный.ФизЛицо,
	|    ПутевойТракторный.Трактор,
	|    ПутевойТракторный.Ссылка,
	|    ПутевойТракторный.Ответственный,
	|    ПутевойТракторный.НомерБланка,
	|    ПутевойТракторный.Выработка.(
	|        Ссылка,
	|        НомерСтроки,
	|        Подразделение,
	|        СпособОтражения,
	|        ТехнологическаяОперация,
	|        Количество,
	|        Дни,
	|        Часы,
	|        ВидРасчета,
	|        Расценка,
	|        НормаВыработки,
	|        НормаРасхода,
	|        Сумма,
	|        Расход,
	|        РаботаДвигателя,
	|        РасходФакт,
	|        ТипОперации,
	|        Прицеп
	|    )
	|ИЗ
	|    Документ.ПутевойТракторный КАК ПутевойТракторный
	|ГДЕ
	|    ПутевойТракторный.ФизЛицо = &Работник
	|    И ПутевойТракторный.Дата >= &ДатаНач
	|    И ПутевойТракторный.Дата <= &ДатаКон
	|
	|УПОРЯДОЧИТЬ ПО
	|    Дата" ;
	
	Запрос.УстановитьПараметр("Работник", Работник);
	Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
	Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
	
	Итог = Запрос.Выполнить();
	Выборка = Итог.Выбрать();
	ПОка Выборка.Следующий() ЦИкл
		ОбластьШапка.Параметры.НомерЛиста = Выборка.НомерБланка;
		ОбластьШапка.Параметры.Авто = Выборка.Трактор;
		ОбластьШапка.Параметры.КодА = Выборка.Трактор.Код;
		ОбластьШапка.Параметры.День = День(Выборка.Дата);
		СтрокаДата = Формат(Выборка.Дата, "ДФ=ММММ");
		ОтчетныйМесяцСклонение(СтрокаДата);
		ОбластьШапка.Параметры.Месяц = НРег(СтрокаДата);
		ОбластьШапка.Параметры.Год = Год(Выборка.Дата);
		ОбластьШапка.Параметры.Сотрудник = Выборка.ФизЛицо.Код + " " + Выборка.ФизЛицо;
		//Перенести дальше, после проверки вывода
		//ДокументРезультат.Вывести(ОбластьШапка);
		
		Запрос1 = Новый Запрос();
		Запрос1.Текст =
		"ВЫБРАТЬ
		|    ПутевойТракторныйВыработка.Ссылка,
		|    ПутевойТракторныйВыработка.НомерСтроки,
		|    ПутевойТракторныйВыработка.Подразделение,
		|    ПутевойТракторныйВыработка.СпособОтражения,
		|    ПутевойТракторныйВыработка.ТехнологическаяОперация,
		|    ПутевойТракторныйВыработка.Количество КАК Количество,
		|    ПутевойТракторныйВыработка.Дни КАК Дни,
		|    ПутевойТракторныйВыработка.Часы КАК Часы,
		|    ПутевойТракторныйВыработка.ВидРасчета,
		|    ПутевойТракторныйВыработка.Расценка,
		|    ПутевойТракторныйВыработка.НормаВыработки,
		|    ПутевойТракторныйВыработка.НормаРасхода,
		|    ПутевойТракторныйВыработка.Сумма КАК Сумма,
		|    ПутевойТракторныйВыработка.Расход КАК Расход,
		|    ПутевойТракторныйВыработка.РаботаДвигателя,
		|    ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
		|    ПутевойТракторныйВыработка.ТипОперации,
		|    ПутевойТракторныйВыработка.Прицеп,
		|    ПутевойТракторный.Ссылка КАК Ссылка
		|ИЗ
		|    Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
		|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
		|        ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
		|ГДЕ
		|    ПутевойТракторныйВыработка.Ссылка = &Ссылка";
		Запрос1.УстановитьПараметр("Ссылка", Выборка.Ссылка);  
		Итог1 = Запрос1.Выполнить().Выбрать();
		//Нужен промежуточный Табличный документ, собрать таблицу в нем
		
		ТабДокТаблица = Новый ТабличныйДокумент;
		Пока Итог1.Следующий() Цикл
			ОбластьТаблица.Параметры.НомерПП = Итог1.НомерСтроки;
			ОбластьТаблица.Параметры.СпособОтражения = Итог1.СпособОтражения;
			ОбластьТаблица.Параметры.ТехОперация = Итог1.ТехнологическаяОперация;
			ОбластьТаблица.Параметры.Кол = Итог1.Количество;
			ОбластьТаблица.Параметры.ОтрДней = Итог1.Дни;
			ОбластьТаблица.Параметры.ОтрЧасы = Итог1.Часы;
			ОбластьТаблица.Параметры.ВидРасчета = Итог1.ВидРасчета.Код;
			ОбластьТаблица.Параметры.Расценка = Итог1.Расценка;
			ОбластьТаблица.Параметры.Сумма = Итог1.Сумма;
			ОбластьТаблица.Параметры.РабДвиг = Итог1.РаботаДвигателя;
			ОбластьТаблица.Параметры.НормВыраб = Итог1.НормаВыработки;
			ОбластьТаблица.Параметры.НормРасх = Итог1.НормаРасхода;
			ОбластьТаблица.Параметры.РасхНорм = Итог1.Расход;
			ОбластьТаблица.Параметры.РасхФакт = Итог1.РасходФакт;
			//Заменить на промежуточный Табличный документ
			//ДокументРезультат.Вывести(ОбластьТаблица);
			ТабДокТаблица.Вывести(ОбластьТаблица);
		КонецЦикла;
		Запрос2 = Новый Запрос();
		Запрос2.Текст =
		"ВЫБРАТЬ
		|    ПутевойТракторныйВыработка.Ссылка,
		|    ПутевойТракторныйВыработка.Количество КАК Количество,
		|    ПутевойТракторныйВыработка.Дни КАК Дни,
		|    ПутевойТракторныйВыработка.Часы КАК Часы,
		|    ПутевойТракторныйВыработка.Сумма КАК Сумма,
		|    ПутевойТракторныйВыработка.Расход КАК Расход,
		|    ПутевойТракторныйВыработка.РасходФакт КАК РасходФакт,
		|    ПутевойТракторный.Ссылка КАК Ссылка
		|ИЗ
		|    Документ.ПутевойТракторный.Выработка КАК ПутевойТракторныйВыработка
		|        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПутевойТракторный КАК ПутевойТракторный
		|        ПО ПутевойТракторныйВыработка.Ссылка = ПутевойТракторный.Ссылка
		|ГДЕ
		|    ПутевойТракторныйВыработка.Ссылка = &Ссылка
		|ИТОГИ
		|    СУММА(Количество),
		|    СУММА(Дни),
		|    СУММА(Часы),
		|    СУММА(Сумма),
		|    СУММА(Расход),
		|    СУММА(РасходФакт)
		|ПО
		|    ОБЩИЕ";
		Запрос2.УстановитьПараметр("Ссылка", Выборка.Ссылка);  
		Итог2 = Запрос2.Выполнить().Выбрать();
		Итог2.Следующий();
		ОбластьИтого.Параметры.ИтогоКол = Итог2.Количество;
		ОбластьИтого.Параметры.ИтогоДней = Итог2.Дни;
		ОбластьИтого.Параметры.ИтогоЧасов = Итог2.Часы;
		ОбластьИтого.Параметры.ИтогоСумма = Итог2.Сумма;
		ОбластьИтого.Параметры.ИтогоРасНорм = Итог2.Расход;
		ОбластьИтого.Параметры.ИтогоРасФакт = Итог2.РасходФакт;
		//Перенести дальше, после проверки вывода
		//ДокументРезультат.Вывести(ОбластьИтого);
		
		ОбластьПодвал.Параметры.Ответственный = Выборка.Ответственный;
		//Перенести дальше, после проверки вывода
		//ДокументРезультат.Вывести(ОбластьПодвал);
		
		МассивОбластей = Новый Массив;
		МассивОбластей.Добавить(ОбластьШапка);
		МассивОбластей.Добавить(ТабДокТаблица); // < -- Проверяем не одну строку, а таблицу целиком
		МассивОбластей.Добавить(ОбластьИтого);
		МассивОбластей.Добавить(ОбластьПодвал);
		
		Если (Не ДокументРезультат.ПроверитьВывод(МассивОбластей)) Тогда
			//        Или  (Ном = КоличествоСтрок) Тогда
			
			
			ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
			МассивОбластей.Очистить();
		КонецЕсли;    
		
		//После проверки выводим области в документ  
		ДокументРезультат.Вывести(ОбластьШапка);
		ДокументРезультат.Вывести(ТабДокТаблица);
		ДокументРезультат.Вывести(ОбластьИтого);
		ДокументРезультат.Вывести(ОбластьПодвал);
		ДокументРезультат.Автомасштаб = Истина;
	КонецЦикла;
	





КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот