Как сделать кнопку активной 1с

Добавил пользователь Cypher
Обновлено: 04.10.2024

Создаём внешнюю обработку. В модуле обработки, в функции СведенияОВнешнейОбработке () , устанавливаем параметры регистрации внешней обработки.

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

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

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

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

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

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

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


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


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


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


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


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


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


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

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


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


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

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

  • наличие команды у объекта (Документа/Справочника)
  • достаточность права у пользователя на данную команду
  • включенные стандартные команды у объекта
  • включенное автозаполнение командной панели в документе/форме списка
  • верно заполненные свойства команды

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

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


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

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

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

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


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


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




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

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

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


Проверка на заполнение реквизитов формы реализовано на уровне платформы различными свойствами: АвтоОтметкаНезаполненного (подчеркивание не заполненного реквизита), в свойствах формы признак ПроверятьЗаполнениеАвтоматически, в свойствах реквизитов Проверка заполнения (выдавать ошибку). Однако часто, по разным причинам, необходимо выполнять программную проверку на заполнение элементов формы (реквизитов).

&НаКлиенте
Процедура ПечатьРБПосле ( Команда )

// Список:
списокКнопки = Новый СписокЗначений (); //список для меню
списокКнопки . Добавить ( 0 , "Путевой лист Грузовая" );
списокКнопки . Добавить ( 1 , "Путевой лист Трактор" );
списокКнопки . Добавить ( 2 , "Путевой лист ЛА" );

// Отображение меню:
Результат = ВыбратьИзМеню ( списокКнопки , Элементы . Команда );
// или Результат = ВыбратьИзСписка(списокКнопки, Элементы.Команда, 0);

Если Результат = Неопределено Тогда
//Сообщить("Не выбрано ничего");
Иначе
// Элемент списка значений "списокКнопки"
Сообщить ( "Выбрана печ.форма: " + Результат . Представление );
КонецЕсли;

Программное нажатие кнопки 1С

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

Первым этапом необходимо сделать процедуру экспортной. Если конфигурация на поддержке, то можно создать расширение. Если нет, то просто добавляем слово Экспорт к процедуре.

Во внешней обработке прописываем следующий код:

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

Реквизит формы с типом число

Перетащим этот реквизит в закладку элементы конструктора формы.

Перетаскиваем реквизит формы

По умолчанию для реквизитов с типом Число создается элемент формы Поле с видом ПолеВвода. Изменим значение свойства Вид на Поле переключателя. Вид реквизита на управляемой форме сразу же поменяется.

Значение свойства вид – Поле переключателя

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

Свойство элемента Список выбора

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

Значения в свойстве Список выбора

После этого поле переключателя на нашей форме изменится.

Поле переключателя на форме

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

Установили вид переключателя тумблер

Ещё обратите внимание на свойство элемента ПолеКоличество колонок. По умолчанию оно равно 0, но при его помощи можно различным образом компоновать кнопки переключателя на форме.

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

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

На рисунке ниже результат работы этой команды.

Работа переключателя формы

  1. Без сложных технических терминов.
  2. Более 700 страниц практического материала.
  3. Каждое задание сопровождается рисунком (скриншот).
  4. Сборник задач для домашней проработки.
  5. Книга написана понятным и простым языком — для новичка.
  6. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!


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

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);
  4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!

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


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

Читайте также: