1с добавить на форму глобальную команду

1с добавить на форму глобальную команду

Войдите как ученик, чтобы получить доступ к материалам школы

Создание конфигураций 1С: добавляем команду

Автор уроков и преподаватель школы: Владимир Милькин021

Продолжаем изучение азов создания конфигураций на 1С.

019

Где находится форма у обработки

Откроем окно настроек обработки «УдалениеУволенныхСотрудников»:

1212

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

1312

1313

Давайте откроем его двойным щелчком:

148

Открылось окно со множеством панелей. И нам сейчас очень важно для будущих уроков разобраться что здесь за что отвечает.

Меняем код на встроенном языке 1С для формы

Ну прежде всего обратим внимание в самый низ открывшегося окна. Там мы найдём две закладки «Форма» и «Модуль».

Попробуем переключиться на закладку «Модуль»:

153

Здесь присутствует всего одна процедура с именем «УдалитьСотрудников». Очевидно именно она и вызывается при нажатии на кнопку.

163

Изменим этот код следующим образом:

173

Снова запустим режим 1С:Предприятие (меню «Отладка»->»Начать отладку»), откроем обработку и нажмём кнопку «Удалить сотрудников»:

183

И получим то самое сообщение, которое написали только что:

193

Закладка «Элементы» у формы

Вернёмся в конфигуратор в нашу форму на закладку «Форма»:

203

Обратите внимание на закладку «Элементы» в верхней части формы. Содержимое этой закладки дублирует визуальное представление формы. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Можно сказать ещё, что всё, что вы видите в визуальной части формы можно найти на закладке «Элементы».

214

Откроется окно со свойствами кнопки:

223

Давайте установим для кнопки заголовок «БАХ»:

233

Форма теперь будет выглядеть так:

243

Закладка «Реквизиты» у формы

Теперь перейдём к закладке «Реквизиты»:

253

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

Но если бы мы перешли на аналогичную закладку в форме справочника «Сотрудники», то обнаружили бы тут реквизиты «ДатаРождения», «НомерПаспорта» и «СерияПаспорта». Это означало бы, что мы можем их использовать в коде модуля формы.

Закладка «Команды» у формы

Заключительная закладка, которую мы рассмотрим сегодня это закладка «Команды»:

263

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

Как вы понимаете, нажатие на эти кнопки, будет приводить к выполнению этих команд.

Ну, например, перейдём на закладку «Стандартные команды» и перетащим на закладку «Элементы» команду «Закрыть»:

273

На форме появилась кнопка закрыть. Запустим 1С:Предприятие (меню «Отладка»->»Начать отладку»), откроем обработку и убедимся, что кнопка работает:

284
Вернёмся в конфигуратор в форму обработки и перейдём на закладку «Команды формы»:

294

На этой закладке мы видим команды формы, которые мы определили сами. В том числе мы можем видеть здесь команду, которую я определил ещё в самом начале с именем «УдалитьСотрудников».

Откроем свойства этой команды (двойным щелчком).

Нас интересует прежде всего поле «Действие», нажмите на кнопку с лупой рядом с ним:

303

Нас перенесло в процедуру «УдалитьСотрудников» в модуле формы. Это означает, эта команда и эта процедура связаны между собой. И выполнение команды (например, при нажатии на кнопку, в которую она превратилась) приведёт к выполнению кода процедуры.

Добавляем новую команду для формы

Давайте создадим ещё одну команду формы. Для этого вернёмся на закладку «Команды формы» и нажмём зелёную кнопку с плюсом:

313

На закладку добавилась новая команда «Команда1»:

323

Откроем её свойства и установим имя «Привет», а затем нажмём на лупу рядом с полем «Действие»:

333

Нас спрашивают какой именно вид обработчика мы хотим создать.

Выбираем вариант «НаКлиенте» и нажимаем «ОК»:

343

Нас перенесло в модуль формы в автоматически созданную процедуру «Привет». Теперь эта процедура связана с командой формы «Привет»:

353

Давайте напишем в ней вывод строки привет пользователю:

363

Но как нам теперь заставить выполнять команду (а значит и процедуру) «Привет»? Для этого вернёмся на закладку «Команды формы» и перетащим наш «Привет» на форму, так как мы это сделали ранее с командой «Закрыть»:

373

На форме появилась ещё одна кнопка. Запустим 1С:Предприятие, откроем обработку и нажмём на кнопку «Привет». Должно получиться вот так:

383

Вводим от пользователя имя и говорим ему привет

А теперь давайте поставим себе такую задачу. Нужно, чтобы пользователь ввёл своё имя, мы нажали на кнопку и вывелось, например, «Привет, Алексей».

Переходим на закладку «Реквизиты» и нажимаем зелёную кнопку плюс:

393

Добавился реквизит с именем «Реквизит1»:

403

В окне свойств этого реквизита установим имя «Имя» и тип «Строка»:

413

После этого перетащим уже привычным образом реквизит «Имя» на закладку «Элементы»:

424

433

Запустим 1С:Предприятие, откроем обработку и попробуем туда ввести своё имя:

443

Всё получилось, но вот нажатие на кнопку «Привет» пока работает по-прежнему.

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

452

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

462

Теперь снова запустим 1С:Предприятие, обработку, введём своё имя и нажмём кнопку «Привет»:

472

Команды, элементы, реквизиты, объект. вы ещё не запутались?

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

Кнопка

Команды бывают встроенные (закладки «Стандартные команды» и «Глобальные команды») и те, что программист придумывает сам (закладка «Команды формы»).

Надпись

Это просто текст на форме. У такого элемента есть свойство «Заголовок», значение которого мы задаём в редакторе и оно отображается в виде текста.

Поле

А вот это уже интересно. Потому что это такой особый элемент, который не сам по себе (как надпись), а обязательно должен быть связан с какими-то данными или по-другому РЕКВИЗИТАМИ (закладка «Реквизиты»).

Так вот в 1С так нельзя. Тут (начиная с «управляемых» форм) представление данных отделено от самих данных.

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

И наоборот. Пользователь вводит на форме значения в элементы ввода (числа, текст, даты) и значения реквизитов также меняются автоматически.

Какие преимущества даёт такое отделение элементов формы от данных (реквизитов)? Большие! Программист создает нужные ему реквизиты (для хранения, отображения и ввода некоторых полей на форме) и пишет программный код работая только с этими реквизитами (данными). Он совершенно не задумывается пока как всё это будет выглядеть на форме. Оно ему и не надо! Он пока пишет только программный код.

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

Чтобы обратиться к реквизиту «Возраст» из модуля формы достаточно сразу использовать его имя:

А чтобы обратиться к элементу формы, который связан с этим реквизитом нужно использовать префикс «Элементы.», например:

Что такое Объект?

Рядом с ним бы появился плюсик и мы могли бы его раскрывать и перетаскивать отдельные его части на форму и они бы также превращались в элементы.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с добавить кнопку печать на форму документа
  • 1с добавить доп реквизит в форму списка