OnlyGoRush
@OnlyGoRush
Студент

Как создать модульное окно ввода данных для формирования по ним отчета?

Здравствуйте, создал отчет по данным справочника ИнформацияОбУчениках, который выводит список всех учеников данного класса. Вот только, чтобы задать класс приходиться каждый раз менять в коде переменную НужныйКласс, а это совсем-совсем нехорошо. И вот я озадачился проблемой создания модального окна с вводом данных класса, по которому хочу сформировать отчет, пытался это сделать при помощи команды ВвестиСтроку, однако выскакивает ошибка, что процедура или функция с именем ВвестиСтроку не определена. Возможно модульные окна вообще не делаются на стороне сервера и их как-то надо пытаться реализовать на клиенте, а может команду не ту использую. Будьте добры, скажите как разрешить вопрос.
Вот код который я нашкрябал:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// модальное окно с запросом ввода класса
	НужныйКласс = ""; //Перем НужныйКласс
	ВвестиСтроку(НужныйКласс, "Введите класс.", 2, Ложь); 
	
	Выборка = Справочники.ИнформацияОбУчениках.Выбрать(,,,"Наименование");
	
	Макет = Отчеты.УченикиВКлассе.ПолучитьМакет("Макет");
	ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьНазвЭлементов = Макет.ПолучитьОбласть("НазвЭлементов");
	ОбластьЭлементы = Макет.ПолучитьОбласть("Элементы");
	
	ТабДок.Вывести(ОбластьШапка);
	ТабДок.Область("R1C1:R1C4").Текст = "Ученики в " + НужныйКласс + " классе";
	ТабДок.Вывести(ОбластьНазвЭлементов);
	
	Пока Выборка.Следующий() Цикл		
		Если Выборка.Класс.Наименование = НужныйКласс Тогда
			ОбластьЭлементы.Параметры.Заполнить(Выборка);
			ТабДок.Вывести(ОбластьЭлементы);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
nki
@nki
Автоматизация бизнес-процессов.
Как вы представляете себе ввод строки на сервере? Это однозначно должно выполняться на клиенте.
Данные о классе получайте запросом. Ваш вариант перебором очень не оптимальный.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Dementor
программист
ВвестиСтроку() - вариант для интерфейса на обычных формах для толстого клиента
Вам нужно использовать ПоказатьВводСтроки() - для клиент-серверной работы в интерфейсе управляемого приложения.

Прочел ваш код - ужас. Почему вы не хотите сделать форму для вашего отчета? Свой класс можете вводить через реквизит формы, а результат выводить на поле табличного документа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Futuland Москва
от 100 000 до 150 000 руб.
ESTEL Санкт-Петербург
от 110 000 до 150 000 руб.
Кадры-54 Новосибирск
от 65 000 до 90 000 руб.
24 марта 2019, в 11:14
5000 руб./за проект
24 марта 2019, в 09:47
8000 руб./за проект
24 марта 2019, в 05:09
60000 руб./за проект