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

Вывести данные на печать

Автор Каримдат, 06 янв 2016, 20:29

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

Каримдат

Уважаемые форумчане. Прошу подсказать.
Сделал внешнюю обработку. С помощью Конструктора выходной формы сделал следующий запрос:
ВЫБРАТЬ
УстановкаЦенНоменклатурыТовары.Цена,
УстановкаЦенНоменклатурыТовары.Номенклатура.Размер,
ПРЕДСТАВЛЕНИЕ(УстановкаЦенНоменклатурыТовары.Номенклатура.Размер)
ИЗ
Документ.УстановкаЦенНоменклатуры.Товары КАК УстановкаЦенНоменклатурыТовары
ГДЕ
УстановкаЦенНоменклатурыТовары.Ссылка = &Ссылка
И УстановкаЦенНоменклатурыТовары.ТипЦен = &ТипЦен


Выводится то что нужно, но.
Как сделать чтобы кнопка Печать формировала этикетку вот такого вида как в прикреплённом файле?

HumanVIL

Можно использовать "Макет". Нарисовать в нем нужную этикетку. И в данном случае использовать свойство ячейки "Ориентация текста", в размере приблизительно 90.

Каримдат

Макет нарисовал. Как его связать с кнопкой Печать, чтобы он выводил нужные реквизиты в нужные колонки? Вот с этим у меня пока трудность.

Psm_2015

Цитата: Каримдат от 07 янв 2016, 14:46
Макет нарисовал. Как его связать с кнопкой Печать, чтобы он выводил нужные реквизиты в нужные колонки? Вот с этим у меня пока трудность.
1) гуглим "связать макет с кнопкой печать"
2) идем по ссылке "Печать в 1С"
3) адаптируем к своему варианту

HumanVIL

Смотрите. Вот типовой код, полученный (практический полностью) конструктором запроса с обработкой результата с выводом в табличный документ.

Нам нужен внешний отчет, на форму выводим реквизит ТабДокФорма, с типом ТабличныйДокумент. Создаем макет, как во вложении (для задания именованной области - выделяем строки и ищем кнопку "Назначить имя", как один из вариантов). Хотя, если использовать конструктор, то он и макет сам нарисует.
На форме вешаем команду, назначаем ей процедуру ВыполнитьПечать.

И смотрим результат. Пробуем, меняем. И понимаем.) Все просто.


&НаКлиенте
Процедура ВыполнитьПечать(Команда)

//ТабДок = Новый ТабличныйДокумент; //<- если просто выводим таб док на печать

ВыполнитьПечатьНаСервере(ТабДокФорма); //<- если табличный документ на форме

//ТабДокФорма.Показать();

КонецПроцедуры

Процедура ВыполнитьПечатьНаСервере(ТабДок)

ЭтотОбъект = РеквизитФормыВЗначение("Отчет");

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

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
КонецЦикла;

ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);

КонецПроцедуры


В вашем случае, можно оставить одну область с двумя колонками Цена и Размер, и выводить её в детальных записях.

Теги:

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

Рейтинг@Mail.ru

Поиск