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

СКД. Получение данных

Автор spidernet, 11 июл 2013, 19:58

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

spidernet


Добрый день!

Ситуация следующая:
Есть отчет написанный на СКД. Необходимо, когда пользователь сформирует отчет, каждую строку отчета поместить в документ. Т.е. отчет сформирован, нажимаем кнопку создать документ, и каждая строка этого отчета попадает в ТЧ нового документа. Так вот вопрос, как получить эти самые данные, которые попадают в отчет.
Заранее благодарен за ответ.
Платформа 8.2.18.

Besart

Если вы програмно делаете отчет то можно, но если вы делали отчет полностью на СКД, то тогда могу предложить следующее:
если результат строится на запросе то можно добавить на форму команду с выполнением этого же запроса, а там уже куда хотите туда и толкайте результат вашего запроса.

markgenuine

Я так понял, что вам нужен результат запроса сформированный с помощью СКД, так?

spidernet

Да, именно результат запроса, с учетом тех параметров отбора, которые установил пользователь

Besart

я уже указывал вам способ решения, а результат запроса вы не вытяните из очтета построенного на СКД, зато можно вытянуть параметры отчета, например даты
Добавлено: 12 июл 2013, 18:09


хоят нет, наврал   &НаСервере
&НаКлиенте
  Процедура Команда1(Команда)
  Моя();
  КонецПроцедуры

Процедура Моя()
    Объект=РеквизитФормыВЗначение("Отчет");
СхемаКомпоновкиДанных=Объект.СхемаКомпоновкиДанных;
КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Объект.КомпоновщикНастроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных=Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
 
ТЗДляВывода = Новый ТаблицаЗначений;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТЗДляВывода);
ТЗ = ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    КонецПроцедуры

 
работает только для несложных отчетов, т.е. если нет вложенных таблиц и\или каких-то сложных группировок, посмотрите в отладчике ТЗ, так у меня например для отчета РасчетныеЛистки не работает, а для Прайс-Лист все ОК (собственная конфигурация для тестов)

Теги:

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

Рейтинг@Mail.ru

Поиск