кнопка печать в форме списка в 1с

1С УХ 3.0: Подключение ПодключаемыхКоманд и Печати к новому документу

Эту и другие технические статьи написали наши программисты 1С и получили за них премии. Если вы тоже работаете с 1С и любите делиться опытом, приходите разработчиком в Neti →

Рассмотрим подключение к новому документу ПодключаемыхКоманд и Печати на примере конфигурации Управление холдингом 3.0.6.8 с номером версии Библиотеки стандартных подсистем 3.0.1.428.

кнопка печать в форме списка в 1с

Для того чтобы подключить печатную форму к новому документу конфигурации, нужно (*код, который нужно добавить в процедуры, можно посмотреть в формах типовых документов конфигурации):

1. Добавить механизм ПодключаемыхКоманд к форме документа ФормаДокумента:

1.1. Добавить код в процедуру ПриСозданииНаСервере.

1.2. Добавить код в процедуру ПриЧтенииНаСервере.

1.3. Добавить код в процедуру ПриОткрытии.

1.4. Добавить три процедуры: Подключаемый_ВыполнитьКоманду, Подключаемый_ВыполнитьКомандуНаСервере, Подключаемый_ОбновитьКоманды.

2. Добавить механизм ПодключаемыхКоманд к форме документа ФормаСписка:

2.1. Добавить код в процедуру ПриСозданииНаСервере.

2.2. Добавить код в процедуру СписокПриАктивизацииСтроки ([ИмяТаблицыНаФорме]ПриАктивизацииСтроки).

2.3. Добавить три процедуры: Подключаемый_ВыполнитьКоманду, Подключаемый_ВыполнитьКомандуНаСервере, Подключаемый_ОбновитьКоманды.

3. Прописать процедуры печати в Модуле менеджера документа:

3.1. Добавить экспортную процедуру ДобавитьКомандыПечати (название и параметр должны быть именно такими).

Предположим, что хотим добавить печатную форму Предложения по лизингу с идентификатором ПредложенияПоЛизингу:

3.2. Добавить экспортную процедуру Печать (название и параметры должны быть именно такими):

3.3. Добавить функцию ПечатьДокумента (имя процедуры и параметры, как прописано в процедуре Печать):

4. В Общем модуле УправлениеПечатьюПереопределяемый в процедуру ПриОпределенииОбъектовСКомандамиПечати добавить новый документ, например,

В итоге на форме списка и на форме документа появится кнопка печати Предложения по лизингу (рис. 1–2):

Источник

Библиотека стандартных подсистем 1С 8.3. Печать

кнопка печать в форме списка в 1с

Рассмотрена подсистема Печать из библиотеки стандартных подсистем (БСП) 3.1.3.

Примеры приведены на конфигурации Управление торговлей 11.4.13.

В пользовательском режиме

Настройка видимости команд печати

кнопка печать в форме списка в 1с

В открывшемся окне можно галочками настроить видимость команд печати в подменю Печать:

кнопка печать в форме списка в 1с

Например, сейчас для авансового отчета доступны 2 печатные формы:

кнопка печать в форме списка в 1с

Если снять галочку для печатной формы Извещение и переоткрыть форму списка авансовых отчетов, то останется только одна печатная форма:

кнопка печать в форме списка в 1с

Форма печати

Форма печати выглядит следующим образом:

кнопка печать в форме списка в 1с

Рассмотрим кнопки командной панели:

По кнопке Печать печатная форма будет отправлена на принтер.

По кнопке Предварительный просмотр будет открыто окно для предварительного просмотра печатной формы, там же можно выполнить настройку параметров печати:

кнопка печать в форме списка в 1с

В поле Копий можно указать количество копий печатной формы. Указанное количество будет сохранено в настройках и при следующей печати данной печатной формы заполнится автоматически.

Рядом находится кнопка для включения/выключения режима редактирования печатной формы. По умолчанию режим редактирования включен, можно изменить печатную форму вручную. Изменения затронут только печатную форму, в документе все останется как было.

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

кнопка печать в форме списка в 1с

Печатная форма будет сохранена во всех выбранных форматах. Можно сразу поместить все файлы в архив и транслитерировать имена файлов, чтобы файл назывался не Авансовый отчет № 1 от 27.04.2017, а Avansovyy otchet № 1 ot 27.04.2017.

Если установить переключатель Присоединить к документу, то файлы выбранных форматов будут прикреплены к документу в 1С:

кнопка печать в форме списка в 1с

Кнопка с письмом позволяет отправить файл печатной формы на почту (при условии, что в программе настроен почтовый клиент). Для каждого выбранного формата к письму будет добавлено вложение с печатной формой выбранного формата.

Сохранение файлов в различных форматах и отправка по почте не требует установленной программы просмотра файлов данного формата на компьютере.

Последнее поле позволяет подсчитать сумму, количество, среднее, минимум или максимум выделенных ячеек:

кнопка печать в форме списка в 1с

Если в настройках установить галку Все показатели:

кнопка печать в форме списка в 1с

То внизу будет строка, где будут рассчитаны все показатели для выделенных ячеек:

кнопка печать в форме списка в 1с

Печать комплекта

Поддерживается печать сразу нескольких печатных форм. Например, в документе Реализация товаров и услуг можно выбрать команду Комплект документов с настройкой:

кнопка печать в форме списка в 1с

Сначала будет показана форма, в которой можно галочками отметить какие печатные формы печатать и указать количество экземпляров:

кнопка печать в форме списка в 1с

Список печатных форм будет отображаться слева, можно переключаться между ними, чтобы посмотреть на саму печатную форму:

кнопка печать в форме списка в 1с

Редактирование макетов печатных форм

кнопка печать в форме списка в 1с

В открытой форме будут перечислены все макеты печатных форм и документ, из которого можно распечатать данную печатную форму:

кнопка печать в форме списка в 1с

По кнопке изменить можно отредактировать макет. Например, добавим в счет на оплату надпись «Внимание! Изменились реквизиты оплаты!»:

кнопка печать в форме списка в 1с

Сохраним макет. Теперь при печати счета на оплату будет печататься измененный макет:

кнопка печать в форме списка в 1с

В списке всех макетов есть специальные кнопки для переключения использования стандартного или измененного макета:

кнопка печать в форме списка в 1с

Для редактирования макетов, созданных в офисных программах (например Word) нужно чтобы офисная программа была установлена на компьютер.

В конфигураторе

Новая команда печати в существующем документе

На примере документа СчетНаОплатуКлиенту.

Источник

Базовое понимание внедрения механизма печати в любом документе конфигурации на БСП

Введение

Для кого-то этот материал не новшество, но отмечу, что данная статья будет полезна специалистам, желающим использовать последние возможности библиотеки стандартных подсистем в методах вывода на печать. Хорошо известно, что подсистема БСП постоянно меняется и усовершенствуется, и я могу сказать определенно, что старые методы и алгоритмы вывода на печать макетов печатных форм документов и справочников уже будут вряд ли применимы в современных конфигурациях на последних БСП.

Подготовка и настройка собственного документа конфигурации для использования в подсистеме печати в системе БСП.

Начнем с простого создания документа ТестоваяПечатьДокументов в конфигурации на БСП. В качестве конфигурации я беру чистую библиотеку стандартных подсистем версии 3.1.4.148. Разработка ведется на Платформе 1с 8.3.18.1208.

выглядит это вот так:

выглядит она вот так:

Далее, для «формы списка» добавляем внутренние БСП подключаемые процедуры:

А для «формы документа» добавляем вот такие внутренние БСП подключаемые процедуры:

Далее, заполним модуль менеджера нашего документа. Напишем в нем такой код:

Тут нет ничего сложного, но особое внимание хочу обратить на вот эту процедуру добавления команд

Заключение и выводы

В данной статье мы рассмотрели основной алгоритм БСП для размещения команд печати на любых документах конфигурации, в основе которой лежит современная библиотека стандартных подсистем. Напомню, что разработка примера велась на «чистой» библиотеке стандартных подсистем версии 3.1.4.148 и Платформе 1с 8.3.18.1208.

Другие мои материалы по БСП

Так же прошу ознакомиться с другими моими статьями по функционалу библиотеки стандартных подсистем и типовым конфигурациям:

Источник

1с кнопка печать в печатной форме

Изменение существующих или создание новых печатных форм – задача довольно распространённая. Как правило, в таких случаях создаётся внешняя печатная форма и подключается через стандартную подсистему дополнительных отчётов и обработок. Однако, иногда возникают задачи, в которых печатная форма должна формироваться с учётом данных, вводимых пользователями непосредственно перед печатью. То есть, сначала должна открыться форма, в которую пользователь вводит данные, и только потом выполняется команда «Печать».

Допустим, нам нужно создать печатную форму некой справки, часть данных которой вводятся в форме перед печатью. Кнопка «Печать» должна располагаться на форме.

Обычно для внешних печатных форм параметру «Вид» присваивается значение «Печатная форма», но так как у нас сначала должна открываться форма, то устанавливаем значение «Дополнительная обработка».

В этой же функции СведенияОВнешнейОбработке () при обращении к процедуре ДобавитьКоманду () для внешних печатных форм в параметр «Использование» обыкновенно передаётся значение «ВызовСерверногоМетода» или «ВызовКлиентскогоМетода». Здесь же мы укажем значение «ОткрытиеФормы».

В итоге функция будет выглядеть так:

Создаём макет печатной формы.

Далее создаём основную форму обработки и необходимые реквизиты формы. Создаём и размещаем на форме команду «Печать». Формировать табличный документ для печати будем в обработчике этой команды. В зависимости от того, какие данные требуются для печатной формы, организовываем заполнение табличного документа либо на клиенте, либо на сервере. В данном примере заполняем на сервере и затем возвращаем табличный документ на клиент.

Итак, в модуле формы:

Табличный документ сформирован, осталось вывести его для печати в предназначенную для этого общую форму «Печать документов». Сделаем это с помощью стандартных механизмов БСП.

Дополним обработчик команды «Печать»:

Теперь в результате выполнения команды «Печать» из формы нашей внешней обработки, табличный документ будет выводиться в форму «Печать документов», которая предоставляет удобный интерфейс для печати:

Продолжаем изучать программу 1С Предприятие. Сегодня будем добавлять кнопку печати в документ 1С. В предыдущих статьях посвященных 1С программированию я уже писал про то как создать новую базу, как этой базе создать новый документ так же мы с вами писали процедуры которые рассчитывали сумму по колонке и общий итог. Теперь создадим кнопку печати для нашего документа.

Создаем кнопку печати в документе 1C 8.2

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

И так начинаем, для начала запускаем нашу базу открываем документ и переходим во вкладку Макеты. Далее снизу кликаем Конструктор и выбираем Конструктор печати.

кнопка печать в форме списка в 1с

В открывшемся окне не чего не трогаем и кликаем Далее.

кнопка печать в форме списка в 1с

В следующем окне нужно выбрать то что будет печататься в шапке документа. Мы выбираем все три пункта Номер, Дата, Поставщик и кликаем далее.

кнопка печать в форме списка в 1с

Теперь нужно выбрать то что будет печататься в середине документа. Также отмечаем все пункты и переносим их в правую часть и жмем далее.

кнопка печать в форме списка в 1с

Теперь нужно указать то что будет печататься в подвале, отметим например дату.

кнопка печать в форме списка в 1с

Тут не чего не меняем и кликаем ОК.

кнопка печать в форме списка в 1с

После чего открывается макет печати.

кнопка печать в форме списка в 1с

Теперь запускаем 1С и проверяем, что у нас получилось. Ну, во-первых, в документе должна появиться кнопка печати.

кнопка печать в форме списка в 1с

После нажатия на нее должен открыться предварительный просмотр.

кнопка печать в форме списка в 1с

Ну вот мы и добавили возможность печати документа в 1С. Сделали мы это с помощью конструктора, в следующем уроке попробуем усложнить печатную форму и добавить туда несколько полей. А пока на этом все.

Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями программного продукта «1C:Предприятие», авторское право на который принадлежит ЗАО 1С.

кнопка печать в форме списка в 1с

В стандартном документе отсутствует кнопка команд печати (группа командной панели).

На что следует обратить внимание для решения проблемы

В случае, лежащем в основе статьи, проблема оказалась на последнем этапе:

верно указанная группа, но не указан тип параметра команды — должен быть ДокументСсылка.УстановкаЦенНоменклатуры.

кнопка печать в форме списка в 1с

Скорее всего документ был в эту базу скопирован из другой конфигурации и данное свойство очистилось, либо другая невыясненная причина.

Как проверить остальные варианты:

Для начала определитесь была ли эта кнопка вообще или же пропала кнопка печати в 1с после каких-либо действий (вспомните их). Проверьте: у всех пользователей проявляется, либо же у отдельных, форме объекта, в форме списка (в обоих) не видна? Все команды отсутствуют или же нет одной конкретной? Ответы на эти вопросы локализует проблему быстрее.

Команды объекта находятся в дереве метаданных (под формами, над макетами)

кнопка печать в форме списка в 1с

Права на команду доступны из диалога роли, а также по вкладке дополнительно при активной команде (правой кнопкой или же горячими клавишами Alt+Shift+Enter)

кнопка печать в форме списка в 1с

Затем справа в панели свойств перейти на вкладке права и найти требуемое/проверяемое полномочие:

кнопка печать в форме списка в 1с

Использовать стандартные команды в карточке объекта на вкладке «Команды» (внизу под списком)

кнопка печать в форме списка в 1с

В диалоге редактирования управляемой форме при активной командной панели объекта, нажимаете свойства и проверяете установку флаг «Автозаполнение»

кнопка печать в форме списка в 1с

У меня во всех вышестоящих примерах объекты недоступны для редактирования не по причине нахождения на поддержке, а использования хранилища конфигурации — для самописной конфигурации всё будет доступно для правки.

Если же у вас обычные формы, возможно вам поможет эта статья

Легче сочинить десять правильных сонетов, чем хорошее рекламное объявление.

Источник

Программирование в 1С для всех

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

С тем, как был создан макет табличного документа (его мы и будем использовать), можете ознакомиться в этой статье:

А как было реализовано заполнение табличного документа, и осуществлен простой способ его вывода можете ознакомиться в этой статье:

И так, создадим подчиненную нашему документу команду печати.

кнопка печать в форме списка в 1с

После выполнения команды Добавить контекстного меню, будет создана подчиненная документу команда, открыт модуль этой команды, и справа откроется окно палитры свойств вновь созданной команды.

кнопка печать в форме списка в 1с

Назовем новую команду ПечатьНакладной.

кнопка печать в форме списка в 1с

Следующим шагом, нам нужно выбрать группу, в которой эта команда будет отображаться. Поскольку команду должна быть доступна на управляемой форме (или в форме документа, или в форме списка), то и группу нужно выбрать, связанную с формой. Поэтому выберем группу «Командная панель формы. Важное», если мы так сделаем, то кнопка команды печати будет отображаться в командной панели управляемой формы.

кнопка печать в форме списка в 1с

Теперь, необходимо выбрать тип параметра, который будет передан в команду при её выполнении. Мы выберем ссылку на документ, которому эта команда подчинена.

кнопка печать в форме списка в 1с

В следующий параметр — «Режим использование параметра» установим значение Множественный, чтобы можно было выделить в форме списка несколько документов, и к ним применить команду.

кнопка печать в форме списка в 1с

На этом мы закончим настройку свойств команды и перейдем к основной разработке: получению данных документов и заполнение табличного документа этими данными.

Делать всю эту работу мы будет в модуле менеджера документа. В принципе, всю эту работу можно было сделать и в модуле команды, но мы сделаем в модуле менеджера, чтобы потенциально этот код можно было применять и в других случаях. В модуле команды мы будем просто выводить табличный документ на просмотр. Поэтому откроем модуль менеджера документа.

кнопка печать в форме списка в 1с

В этом модуле напишем экспортную функцию, в которую в качестве параметров будет передан массив документов (как мы его будем получать, разберем ниже).

В этой функции первым делом создадим программно табличный документ 1С и получим макет, который был создан ранее в статье.

О том как этот макет сделан, читайте здесь: Создание макета табличного документа в 1С 8.3

Теперь я сделаю иерархический запрос, в котором в верхнем уровне иерархии будут документы, на детальном уровне данные из табличной части.

Заметьте, в качестве параметра в запрос был передан массив документов, который был передан в нашу функцию также в качестве параметра.
Теперь получим итоговую выборку по документу, будем обходить эту выборку, а если документ не проведен, то выведем сообщение и ни чего дальше делать не будем.

Если всё нормально, то мы выводим шапку документа и таблицы, как мы это делали в предыдущей статье.

Нам осталось получить выборку табличной части документа, обойти её и заполнить соответствующую область.

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

Закончим работать с циклом и вернем табличный документ, если он заполнился (для проверки этого факта, я создал переменную, которой присваиваю истина, если табличный документ заполняется данными).

На этом мы закончим работать с функцией в менеджере модуля. Она в целом будет иметь следующий вид.

Откроем модуль команды, которую мы создали ранее.

кнопка печать в форме списка в 1с

В этом модуле уже будет существовать обработка команды в клиентском контексте, которая была образована при создании команды.

Обратите внимание на параметр ПараметрКоманды, в этом параметре и содержится массив документов. Это именно массив, потому что при создании команды мы в свойстве команды «Режим использования данных» указали Множественный. Именно этот массив мы и передадим в функцию, которую создали в модуле менеджера объекта.

Создадим в модуле команды функцию в серверном контексте, которая будет обращаться к ранее созданной функции из модуля менеджера документа и возвращать табличный документ. А если документ заполнен, то выведем его на просмотр.

Теперь мы можем распечатать сразу несколько документов из формы списка документов.

кнопка печать в форме списка в 1с

кнопка печать в форме списка в 1с

Для распечатывания нескольких документов, необходимо выделить мышкой нужные документы и выполнить команду печати.

Если Вы всё еще «плаваете» в конструкциях языка запросов, и у Вас вызывают трудности даже самые простые запросы, то рекомендую вам мой курс «Запросы в 1С от новичка до профи». Где эти и многие другие вопросы рассматриваются более подробно.

кнопка печать в форме списка в 1сВ чем особенность этого курса:
• Курс рассчитан на тех, кто не знаком с языком запросов в 1С;
• Учебный материал грамотно скомпонован и прост в освоении;
• Несколько десятков уроков;
• Полезные практические примеры;
• Все уроки изложены понятным и простым языком

Для моих читателей, купон на скидку 25%: hrW0rl9Nnx

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

кнопка печать в форме списка в 1сИзучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

кнопка печать в форме списка в 1с

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Промо-код на скидку в 15% — 48PVXHeYu

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *