Имя: Пароль:
1C
1С v8
Построитель запросов
0 vort_sc
 
04.09.11
06:48
Пытаюсь понять как работает построитель, взял стандартный пример из Синтаксис помошника:

"Построитель = Новый ПостроительОтчета;
   
Попытка
   Построитель.Текст = Запрос_Текст ;
   Построитель.Выполнить();
   Построитель.Вывести();
Исключение
   Предупреждение(ОписаниеОшибки());
КонецПопытки;"

При сохранении выдает ошибку:
"{Форма.Форма.Форма(24,22)}: Тип не определен (ПостроительОтчета)
   Построитель = Новый <<?>>ПостроительОтчета; (Проверка: Тонкий клиент)"

1С 8.2.13.219, конфигурация УТ 11.0.6.9
В чем может быть дело?
1 Alexandr Puzakov
 
04.09.11
07:41
Построитель в топку! Устаревший инструмент. Сейчас актуальна система компоновки данных.
2 nicxxx
 
04.09.11
07:50
точно!
(0) и посмотри в справке, где доступен Построитель, наверняка только в толстом клиенте или на сервере
3 vort_sc
 
04.09.11
08:02
Я хотел использовать постороитель, потому как такая строка:

Запрос = Новый Запрос;

Выдает ошибку:
{Форма.Форма.Форма(15,17)}: Тип не определен (Запрос)
   Запрос = Новый <<?>>Запрос;    (Проверка: Тонкий клиент)

Подскажите как и что можно использовать?

Раньше писал обработки только для 7.7, теперь вот пришлось 8.2 - вообще ничего не понимаю.
4 nicxxx
 
04.09.11
08:12
(3)у тебя конфа на управляемых формах что ли?
цитирую СП:
Доступность:
Сервер, толстый клиент, внешнее соединение.
т.е. построитель можно использовать в серверных процедурах, если используешь УФ, и в толстом клиенте
5 nicxxx
 
04.09.11
08:15
а, блин, проглядел что конфа - УТ 11.
ну тогда примерно так:
&НаКлиенте
Процедура СформироватьОтчет(Команда)
   СформироватьОтчетСервер();
КонецПроцедуры;

&НаСервере
Процедура СформироватьОтчетСервер()
Построитель = Новый ПостроительОтчета;
   
Попытка
   Построитель.Текст = Запрос_Текст ;
   Построитель.Выполнить();
   Построитель.Вывести();
Исключение
//    Предупреждение(ОписаниеОшибки()); - предупреждение тут не работает, оно на сервере не доступно
КонецПопытки;
КонецПроцедуры;
6 nicxxx
 
04.09.11
08:16
чтобы работало предупреждение, можно оформить процедуру формирования отчета на сервере как функцию, которая будет возвращать текст ошибки на клиент  и из клиентской процедуры обработки команды будешь выдавать Предупреждение(ТекстОшибки)