Счет на оплату покупателю
Реализация товаров и услуг
Приходно-кассовый ордер
Требование накладная
Если Вам необходима разработка печатных форм любой сложности, но Вы не технический специалист — просто обратитесь к нам и мы создадим идеальный шаблон под ваши задачи.
- Как создать и подключить внешнюю печатную форму в 1С: Пошаговое руководство
- Создание новой внешней обработки
- Создание макета внешней печатной формы
- Настройка переменных
- Написание кода для вывода данных в печатную форму
- Инициализация печати и заполнение данных
- Получение данных для печати
- Заполнение макета данными
Как создать и подключить внешнюю печатную форму в 1С: Пошаговое руководство
Надо создать печатную форму в 1С, но вам нужна помощь ?
Заполните форму и наши специалисты свяжутся с вами!
Создание новой внешней обработки
Первым шагом является открытие конфигуратора базы 1С. Для этого необходимо выбрать базу, в которую будут вноситься изменения, чтобы платформа позволила использовать конструктор запроса. Далее следуйте этим шагам:
- Откройте основное меню: «Файл» «Новый…».
- Заполните имя и синоним новой внешней обработки.
В 1С принято использовать «говорящие» имена для облегчения работы с кодом.
Создание макета внешней печатной формы
После создания новой внешней обработки необходимо добавить макет – структуру распечатываемой формы с перечнем переменных, в которые будут вставляться данные из конкретного документа 1С. Для этого:
- Откройте конструктор макета, который чем-то напоминает Excel.
- Нарисуйте форму и разделите её на области с отдельными именами в зависимости от момента вывода на экран и количества появлений этой области.
Для примера рассмотрим создание печатной формы для документа продажи товаров, однако этот способ подойдет и для других документов. Выделите следующие области:
- Верхняя часть («Шапка»). Содержит номер, дату, организацию, контрагента и менеджера. Выводится один раз.
- Информация по номенклатуре («ДанныеСтрок»). Содержит данные о товарах (наименование, количество, цена и сумма). Выводится для каждой строки табличной части.
- Итоговые данные («ИтогиСтрок»). Содержит итоговые суммы и количество. Выводится один раз.
- Подписи («Подвал»). Содержит подписи для бумажной версии документа. Выводится один раз.
Настройка переменных
В ячейках макета необходимо настроить переменные, в которые будут вставляться данные. Для этого:
- Нажмите правой кнопкой мыши на ячейку с надписью и выберите «Свойства».
- В пункте «Заполнение» выберите «Параметр». Убедитесь, что надпись в ячейке теперь заключена в угловые скобки. Можно также использовать «Шаблон» для указания переменных внутри строки.
Написание кода для вывода данных в печатную форму
После настройки макета переходите к написанию кода. Добавьте функцию СведенияОВнешнейОбработке(), которая сообщает платформе 1С, что в файле находится печатная форма, и связывает её с конкретным документом.
Пример функции:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
МасНазначений = Новый Массив;
МасНазначений.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Назначение = МасНазначений;
ПараметрыРегистрации.Наименование = "WA Печать заказа";
ПараметрыРегистрации.Версия = "1.00";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'WA Печать заказа'");
НоваяКоманда.Идентификатор = "Макет";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Инициализация печати и заполнение данных
Создайте процедуру для инициализации печати и получения данных из базы:
Процедура Печать(МассивОбъектов КоллекцияПечатныхФорм ОбъектыПечати ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм "Макет" "WA Печать заказа"
СформироватьПечатнуюФорму(МассивОбъектов[0] ОбъектыПечати));
КонецПроцедуры
Получение данных для печати
Создайте функцию для получения данных и заполнения ими печатной формы:
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент ОбъектыПечати)
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
РеализацияТоваровУслуг.Номер КАК Номер
РеализацияТоваровУслуг.Дата КАК Дата
РеализацияТоваровУслуг.Контрагент КАК Контрагент
РеализацияТоваровУслуг.Менеджер КАК Менеджер
РеализацияТоваровУслуг.Организация КАК Организация
;|ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
;|ГДЕ
РеализацияТоваровУслуг.Ссылка = &СсылкаНаДокумент;";
Запрос.УстановитьПараметр("СсылкаНаДокумент", СсылкаНаДокумент); ; ; ; ;
ДанныеДляПечати = Запрос.ВыполнитьПакет();
ДанныеДляПечатиПоШапке = ДанныеДляПечати[0].Выбрать();
ДанныеДляПечатиПоШапке.Следующий();
ДанныеДляПечатиПоТЧ = ДанныеДляПечати[1].Выбрать();
Табдок = новый ТабличныйДокумент;
Табдок.ИмяПараметровПечати = "ПараметрыПечати";
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабДок.АвтоМасштаб = Истина;
МакетОбработки = ПолучитьМакет("Макет");
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Дата = Формат(ДанныеДляПечатиПоШапке.Дата, "ДФ=dd.MM.yyyy");
ОбластьШапка.Параметры.Номер = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(ДанныеДляПечатиПоШапке.Номер);
ОбластьШапка.Параметры.Организация = ДанныеДляПечатиПоШапке.Организация;
ОбластьШапка.Параметры.Контрагент = ДанныеДляПечатиПоШапке.Контрагент;
ОбластьШапка.Параметры.Менеджер = ДанныеДляПечатиПоШапке.Менеджер;
Табдок.Вывести(ОбластьШапка);
ОбластьСтроки = МакетОбработки.ПолучитьОбласть("ДанныеСтрок");
ИтогКоличество = 0;
ИтогСумма = 0;
Пока ДанныеДляПечатиПоТЧ.следующий() цикл
;ОбластьСтроки.Параметры.Номенклатура = ДанныеДляПечатиПоТЧ.Номенклатура;
;ОбластьСтроки.Параметры.Количество = ДанныеДляПечатиПоТЧ.Количество;
;ИтогКоличество = ИтогКоличество + ДанныеДляПечатиПоТЧ.Количество;
;ОбластьСтроки.Параметры.Цена = ДанныеДляПечатиПоТЧ.Цена;
;ОбластьСтроки.Параметры.Сумма = ДанныеДляПечатиПоТЧ.Сумма;
;ИтогСумма = ИтогСумма + ДанныеДляПечатиПоТЧ.Сумма;
;Табдок.Вывести(ОбластьСтроки);
КонецЦикла;
ОбластьПодвал = МакетОбработки.ПолучитьОбласть("ИтогиСтрок");
ОбластьПодвал.Параметры.ИтогКоличество = ИтогКоличество;
ОбластьПодвал.Параметры.ИтогСумма = ИтогСумма;
Табдок.Вывести(ОбластьПодвал);
Возврат Табдок;
КонецФункции
Заполнение макета данными
После получения данных из базы нужно заполнить макет. Это делается с помощью настроенных переменных. На этом этапе заполняются все части макета: шапка, данные строк, итоги строк и подписи.
Подключение внешней обработки к конфигурации
- Переход в режим 1С:Предприятие:
- Открытие меню администрирования:
- Откройте «Администрирование» -> «Печатные формы, отчёты и обработки» -> «Дополнительные отчёты и обработки».
- Добавление новой обработки:
- Добавьте новую внешнюю обработку, указав файл созданной обработки.
- Укажите, для какого типа документа используется данная обработка (в нашем примере это документ продажи товаров).
С помощью этого руководства вы сможете легко разработать и внедрить печатные формы, адаптированные к вашим специфическим потребностям. Это не только упростит работу с документами, но и сэкономит ваше время.
Если в процессе работы у вас возникнут вопросы или вам потребуется помощь, не стесняйтесь обращаться к специалистам компании МАСТ. Мы не просто поможем вам создать и настроить печатные формы, но и предложим лучшие идеи для оптимизации ваших бизнес-процессов. Наши эксперты всегда готовы поделиться своим опытом и знаниями, чтобы вы могли сосредоточиться на главном — развитии вашего бизнеса.
Гарантирован ответственный и тщательный подход ко всем процессам. Заслуженная репутация за 26 лет на рынке. Обращайтесь в Маст!
|
Заказать услугу
|
- Комментарии