Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 03:55

Как передавать информацию из запроса в макет?

Автор vurdalak, 18 окт 2010, 21:39

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

vurdalak

Уважаемые специалисты помогите пожалуйста.Отчет делается в конфигурации бухгалтерия.Нужно как то из запроса перенести в таблицу.То есть нужно вытащить кредит предприятия по ЗП  и втащить в таблицу.Как это можно сделать?

progmikon

Так вытащить в таблицу значений или в макет?

vurdalak

В макет который выскакивает при нажатии кнопки .Надо вытащить из запроса значение как то,и присвоить параметру макета.

progmikon

Если кратко, то процесс следующий:
1) добавляем макет.
2) создаем в нем области.
3) в областях прописываем параметры/шаблоны/текст
4) выводим в таблицу значений.

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Контрагент = Контрагент; //для примера заполняем параметр контрагент. Можно заполнять сразу много параметров на основании объекта, например
ОбластьМакета.Параметры.Заполнить(ВыборкаПоРезультатуЗапроса);
ТабДок.Вывести(ОбластьМакета);
ТабДок.Показать(Истина);

vurdalak

А как обращаться к запросу по псевдониму таблицы?

progmikon

Цитата: vurdalak от 18 окт 2010, 22:15
А как обращаться к запросу по псевдониму таблицы?
Не понял.
Поясните, что вы имеете ввиду?

vurdalak

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Контрагент = Контрагент; //Вы тут к чему обращаетесь?Если к запросу то как?
ОбластьМакета.Параметры.Заполнить(ВыборкаПоРезультатуЗапроса);
ТабДок.Вывести(ОбластьМакета);
ТабДок.Показать(Истина);

vurdalak

Что за значение в "Контрагент" на этой строчке?

progmikon

Цитата: vurdalak от 18 окт 2010, 22:22
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Контрагент = Контрагент; //Вы тут к чему обращаетесь?Если к запросу то как?
ОбластьМакета.Параметры.Заполнить(ВыборкаПоРезультатуЗапроса);
ТабДок.Вывести(ОбластьМакета);
ТабДок.Показать(Истина);

Тут я обращаюсь просто к переменной.

Классический вариант:
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьМакета);
Запрос = Новый Запрос;
Запрос.Текст = ".....";
Выборка = Запрос.Выполнить().Выбрать();
Пока выборка.Следующий() Цикл
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ОбластьМакета.параметры.Контрагент = Выборка.Контрагент; //контрагент - поле запроса
ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
ТабДок.Показать(Истина);

vurdalak

Спасибо это заработало.А вот еще как параметр передать в запрос что я делаю не так?

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск