Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 16:15
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как распечатать СКД отчёт?  (Прочитано 6240 раз)

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

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Добрый день, 1С 8.2, "Управление торговлей", редакция 10.3 (10.3.7.9).

Собственно, вопрос в заголовке темы. Как распечатать результат работы отчёта, созданного в СКД?
Подскажите, пожалуйста, в какую сторону двигаться? Я пробовал взять готовую процедуру из стандартного УниверсальногоОтчёта:
Процедура ФормаПечать(Объект, Отчет, Форма) Экспорт

Форма.ЭлементыФормы[мИмяЭлементаУправленияПолеТабличногоДокументаРезультат].Напечатать(Ложь);

КонецПроцедуры // ФормаПечать()

записал её в модуль объекта, на кнопу из формы повесил процедуру:
Процедура КоманднаяПанельФормыПечать(Кнопка)

ФормаПечать(ЭтотОбъект, ЭтаФорма);

КонецПроцедуры // КоманднаяПанельФормыПечать()

Но в результате появляется сообщение "Недостаточно фактических параметров" и отправляет в конфигуратор "КоманднаяПанельФормыПечать", указывая на ФормаПечать.


Оффлайн dvm

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 3
  • КПД: 8%
  • Регистрация: 2015-01-23
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день, 1С 8.2, "Управление торговлей", редакция 10.3 (10.3.7.9).

Собственно, вопрос в заголовке темы. Как распечатать результат работы отчёта, созданного в СКД?
Подскажите, пожалуйста, в какую сторону двигаться? Я пробовал взять готовую процедуру из стандартного УниверсальногоОтчёта:
Процедура ФормаПечать(Объект, Отчет, Форма) Экспорт

Форма.ЭлементыФормы[мИмяЭлементаУправленияПолеТабличногоДокументаРезультат].Напечатать(Ложь);

КонецПроцедуры // ФормаПечать()

записал её в модуль объекта, на кнопу из формы повесил процедуру:
Процедура КоманднаяПанельФормыПечать(Кнопка)

ФормаПечать(ЭтотОбъект, ЭтаФорма);

КонецПроцедуры // КоманднаяПанельФормыПечать()

Но в результате появляется сообщение "Недостаточно фактических параметров" и отправляет в конфигуратор "КоманднаяПанельФормыПечать", указывая на ФормаПечать.
Исполняете отчет, меню "файл" - печать

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
А чтобы кнопка "Распечатать" в самой форме отчёта была? Так хочу сделать.
Добавлено: 24 Июл 2015, 21:57

Изменил процедуру, выглядит так:
Процедура КоманднаяПанельФормыПечать(Кнопка)
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ЗаявкаНаРемонт_СКД");
ТабДок.Напечатать()

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

Последний раз редактировалось: keramik; 24 Июл 2015, 21:57. Причина: Объединение сообщений

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
ПолученнаяОбласть = Макет.ПолучитьОбласть(НазваниеОбласти);
ТабДок.Вывести(ПолученнаяОбласть);
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Процедура выглядит так:

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

но появляется сообщение, "Поле объекта не обнаружено (Области)".
Добавлено: 27 Июл 2015, 08:21

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

Последний раз редактировалось: keramik; 27 Июл 2015, 08:21. Причина: Объединение сообщений

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
конфига своя или типовая?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Типовая, но до меня её изменяли. Добавляли таблицы/отчёты и т.д.

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Судя по картинке "ЗаявкаНаРемонт_СКД" это отчет а не макет. Макет внутри скд он предназначен немного для других целей.
Вам нужно создать макет в дереве отчета-> макет, и выбрать вид Табличный документ.
Добавлено: 27 Июл 2015, 13:16

Либо вам нужно что-то другое что мы пока не поняли?
Добавлено: 27 Июл 2015, 13:25

Насколько я понимаю у вас создан объект метаданных отчет, создан макет тип СКД, в скд есть некоторый запрос. И у отчета в свойстве "Основная компоновка данных" выбран этот макет.
Объект.СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>)
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Последний раз редактировалось: Дмитрий@; 27 Июл 2015, 13:25. Причина: Объединение сообщений

Оффлайн keramik

  • ***
  • Сообщений: 161
  • РЕПУТАЦИЯ: 2
  • КПД: 1%
  • Регистрация: 2014-10-03
  • Сайт: 
  • Профессия: Программист 1С
Расскажу всё по порядку, а то путаю вас из-за недостатка знаний:
1. я создал отчёт в разделе конфигурации "Отчеты";
2. в нём я создал макет СКД;
3. в этом макете я запросом выбираю некоторые данные из таблиц;
4. затем я создал форму в отчёте, чтобы дать пользователю возможность указывать даты "с... по...";
4. теперь я пробую вывести данные на печать.

Онлайн Kironten

  • *****
  • Сообщений: 902
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Выносите всего лишь параметры для доступа на форму, форму сами не создавайте. Тогда у Вас все будет, и параметры для редактирования на форме и кнопка печати, созданная самой платформой.


 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 715
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal