Блог
507 0

Добавление кнопки на управляемую форму. Добавление кнопки на управляемую форму Кнопка на форме обращение к функции 1с

Добавление кнопки на управляемую форму. Добавление кнопки на управляемую форму Кнопка на форме обращение к функции 1с

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

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

1. Создание тестовой обработки

Здравствуйтедорогие друзья! С вами Дегтярев Роман. Тренинг - Центр Старт в 1С.

Прочтите текст, и одновременно посмотрите короткую видео-шпаргалку, в которой речь пойдет о вставке интерфейсных элементов в форму какого-либо прикладного объекта 1С, (в том числе и обработки 1С, на примере которой мы рассмотрим этот процесс)

Видео, на котором показан весь процесс, расположено ниже.

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

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

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

Давайте с вами запустим наше учебное прикладное решение в режиме конфигурирования (разработки) Эта инструкция, об учебном прикладном решении, касается тех, кто обучается на наших курсах программирования 1С.

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

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

Итак, мы вошли в режим конфигурирования прикладного решения. Давайте с вами создадим обработку. Правдой кнопкой мыши нажимаем на узле Обработки и выпадает меню.

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

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

Например, давайте дадим нашей обработке имя Тестовая обработка. Вы сами называйте так как вам требуется, если вы создаете обработку.

После присвоения имени нашей обработке можем внизу окна конструктора сразу же нажать кнопку Закрыть - поскольку иных действий выполнять не требуется.

Тестовая обработка создана, мы видим ее имя в дереве конфигурации, в узле Обработки. Давайте, щелкнем мышью на имени нашей обработки, развернем этот пункт и увидим под-элементы, которые могут входить в состав нашей обработки: Реквизиты, Формы, Макеты и так далее.

2. Создание основной формы обработки

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

Она является аналогом окна, формы любой другой программы под Windows - и может иметь в своем составе элементы меню, командные панели, поля ввода, надписи, кнопки, выпадающие списки и иные элементы управления - все те элементы, к которым мы привыкли при работе с большинством обычных программ.

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

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

Но нам сейчас никаких особых настроек делать не нужно, поэтому мы просто нажимаем кнопку Готово, в нижней части окна конструктора формы обработки.

После этого перед нами открывается вновь созданная форма обработки 1С.

3. Теперь рассмотрим процесс создания кнопок в форме обработки

Итак, как же происходит вставка кнопок?

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

Нас же сейчас интересуют те кнопки, которые мы вставим сами, вручную.

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

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

Если кнопка на панели инструментов отсутствует (это зависит от настроек панелей инструментов), у нас имеет альтернативный путь: Когда перед нами на экране имеется окно конструктора формы, мы можем выбрать из главного меню конфигуратора пункт: Форма / Вставить элемент управления.

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

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

Сейчас же нас интересует элемент Кнопка. По умолчанию, после открытия окна Вставка элемента управления, для вставки как раз выбран именно первый элемент из списка возможных и этот элемент управления - Кнопка.

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

То есть, перед вставкой какого-то элемента управления в форму, его можно предварительно подготовить, установив основные его свойства: имя, заголовок, текст подсказки при наведении мыши, и некоторые другие свойства.

Например, любому элементу, в том числе и кнопке, мы можем присвоить какое то имя перед вставкой. Это имя будет являться именем объекта на встроенном языке 1С:Предприятие, именем программного объекта.

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

Аналогично, мы можем присвоить какой то заголовок кнопке, надпись на ней. В нашем примере присвоим кнопке заголовок Наша кнопка.

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

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

Там же, в окне Вставка элемента управления мы можем вести текст подсказки, если желаем. Давайте в поле ввода Подсказка напишем - Это наша кнопка. Эта подсказка будет появляться при наведение курсора мыши на вставленную кнопку.

Все, подготовка перед вставкой завершена, теперь нажимаем кнопку Ок.

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

Выбираем место под кнопку в любой части нашей формы и нажимаем левую кнопку мыши. Наша новая кнопка вставилась в форму, и одновременно конструктор формы моментально переключает нас в окно редактора программного модуля формы.

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

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

Мы можем поменять ее размер, потянув мышью за угол кнопки, или куда-то сдвинуть нашу кнопку в пределах окна формы.

А перейдя снова в программный модуль (закладка Модуль ) -мы можем писать код на языке программирования, для выполнения действий по нажатию нашей кнопки.

Впишем некоторый код, пусть он, для простоты, состоит всего из одной строчки Сообщить( Нажата наша кнопка! );

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

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

Далее, выберем в главном меню пункт Операции / Обработки. Вспоминаем, что мы создали обработку и назвали ее Тестовая обработка, поэтому обработку с таким именем мы и выбираем из открывшегося списка.

Тмк, мы видим перед собой форму нашей обработки. В форме мы видим нашу кнопку с заголовком Наша кнопка. Обратите внимание, подсказка Это наша кнопка появляется при наведение курсора мыши над кнопкой.

Теперь давайте нажмем кнопку. Убеждаемся, что в окно служебных сообщений выдано сообщение, которое мы с вами запрограммировали: Нажата наша кнопка.

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

Резюме: Мы успешно вставили кнопку на форму обработки, и теперь вы должны уметь это делать. До встречи в видеоуроках.

С вами был Дегтярев Роман.

Тренинг-центр Старт в 1С

Как научиться программировать в 1С с нуля?

Как работать программистом 1С и получать до 150 000 рублей в месяц?

ЗАПИШИСЬ НА БЕСПЛАТНЫЙ

2-НЕДЕЛЬНЫЙ КУРС

"ПРОГРАММИРОВАНИЕ в 1С ДЛЯ НОВИЧКОВ"

Курс придет на электронную почту. Стань программистом, выполняя пошаговые задания.

Для участия нужен только компьютер и интернет

Бесплатный доступ на курс:

Sp-force-hide { display: none;}.sp-form { display: block; background: #eff2f4; padding: 5px; width: 270px; max-width: 100%; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; font-family: Arial, "Helvetica Neue", sans-serif; background-repeat: no-repeat; background-position: center; background-size: auto;}.sp-form input { display: inline-block; opacity: 1; visibility: visible;}.sp-form. sp-form-fields-wrapper { margin: 0 auto; width: 260px;}.sp-form. sp-form-control { background: #ffffff; border-color: #cccccc; border-style: solid; border-width: 1px; font-size: 15px; padding-left: 8.75px; padding-right: 8.75px; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; height: 35px; width: 100%;}.sp-form. sp-field label { color: #444444; font-size: 13px; font-style: normal; font-weight: bold;}.sp-form. sp-button { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; background-color: #f4394c; color: #ffffff; width: 100%; font-weight: 700; font-style: normal; font-family: Arial, "Helvetica Neue", sans-serif; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; background: linear-gradient(to top, #e30d22, #f77380);}.sp-form. sp-button-container { text-align: center; width: auto;}

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

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

Конструктор

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

И кнопка уже добавлена!

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

Программное добавление

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

&НаКлиентеПроцедура Предупредить(Элемент) Предупреждение("Предупреждаю!");КонецПроцедуры

Теперь нам нужно добавить команду формы и присвоить в качестве обработчика процедуру выше. Добавлять команду нужно на стороне сервера, поэтому используем событие формы "ПриСозданиинаСервере":

// Добвляем команду формы НоваяКоманда.Действие = "Предупредить";КонецПроцедуры

Отлично, осталось добавить элемент формы типа "Кнопка формы" для команды формы "Предупредить". Дополним обработчик события "ПриСозданииНаСервере":

&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Добвляем команду формы НоваяКоманда = ЭтаФорма.Команды.Добавить("Предупредить"); // Свойство "Действие" содержит имя процедуры-обработчика команды НоваяКоманда.Действие = "Предупредить"; // Добавляем элемент "КомандаПредупредить" с типом "Кнопка формы" НовыйЭлемент = Элементы.Добавить(" КомандаПредупредить ", Тип("КнопкаФормы")); // Присваиваем команду для созданной кнопке НовыйЭлемент.ИмяКоманды = "Предупредить";КонецПроцедуры

На этом все. Если мы откроем эту форму в режиме 1С:Предприятия, то увидим следующее:

Пример небольшой и врятли даст ответы нв все вопросы по программной модификации форм. Он лишь может подсказать общий принцип.

Очень часто начинающие пользователи сталкиваются с проблемой выведения кнопочки "Все функции" в 1с 8.3. Для тех кто не знает, эта кнопка в меню позволяет просмотреть дерево всех объектов которые присутствуют в конфигурации. Для чего это может понадобиться? А для всего, ведь то что мы видим в пользовательском интерфейсе, никак не означает что мы видим все объекты конфигурации. Иногда быстрее и проще найти например какой-нибудь нужный документ или справочник в дереве конфигурации 1с 8.3, нежели в самом интерфейсе. Итак давайте приступим к решению нашего вопроса, а именно сделаем видимой кнопку "Все функции" в 1с 8.3. Вы всегда можете заказать у нас комплексное обслуживание 1с, и тогда вопросов будет гораздо меньше, ведь мы рады помогать каждому нашему клиенту!

Добавление кнопки параметры в 1с 8.3

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

Теперь нажимаем на появившуюся иконку гаечного ключа, откроется окно с настройками параметров. Ставим галочку " Отображать панель Все функции ".

Что делать если в параметрах нет опции "Все функции"?

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

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

Войдите на сайт как ученик

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

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

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

Вернёмся в конфигуратор и откроем дерево конфигурации:

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

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

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

На этот раз нас интересует закладка "Формы" - откроем её:

Найдите на этой закладке объект с именем "Форма" - это и есть наше визуальное представление обработки:

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

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

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

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

Закладка "Форма" - это и есть визуальное представление. Сейчас на форме находится всего лишь одна кнопка "Удалить сотрудников".

Закладка "Модуль" - это код на встроенном языке 1С, который содержит процедуры и функции, определяющие поведение формы для пользователя.

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

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

Код процедуры сейчас свёрнут - нажмём на плюсик, чтобы развернуть его (не поместился на рисунке справа):

Точно, так и есть. Вот оно место, где выдаётся сообщение о том, что я не стал писать код этой обработки

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

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

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

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

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

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

Например, чтобы открыть свойства кнопки "Удалить сотрудников" на форме - найдём эту кнопку на закладке "Элементы" и сделаем на ней двойной щелчок:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы мы смогли разместить на форме элементы для ввода данных нам потребуется реквизит формы (закладка "Реквизиты") с которым этот элемент будет связан. Так как закладка "Реквизиты" у нас практически пустая - создадим новый реквизит.

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

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

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

Ага, на форме появился элемент для ввода строки! Что нам и требовалось

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

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

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

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

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

То что надо!

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

Думаю запутались Спешу вас успокоить, что не стоит переживать по этому поводу. Со временем ситуация прояснится.

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

Итак, форма - это визуальное представление нашей программы: кнопки, надписи, рисунки, списки... да много чего! Всё это ЭЛЕМЕНТЫ формы.

Кнопка - элемент. Надпись - элемент. Поле ввода - тоже элемент

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

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

Вот например.

Кнопка

Очевидно, что кнопка не может быть сама по себе. Когда пользователь нажимает на неё - должно произойти некоторое действо, задуманное программистом.

Это действо и называется командой

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

Ну встроенные команды - они на то и встроенные. Что их действие придумано уже до нас. Мы можем лишь перетащить эти команды на форму и превратить их в кнопки. К таким командам относится, например, команда закрытия формы. Нам не нужно ничего программировать - достаточно перетащить стандартную команду "Закрыть" на форму и всё

А команда формы - это команда придуманная нами самими. Это та команда, которую мы сами добавили на закладку "Команды формы", затем нашли в её свойствах пункт "Действие", ткнули на него и запрограммировали код на встроенном языке в автоматически созданном обработчике в модуле формы (например, команда "Привет" из этого урока).

Ну в общем вы поняли: команда - это некоторое действие, запрограммированное на языке 1С (или уже встроенное в программу). А кнопка - это визуальный элемент формы, который при своём нажатии запускает связанную с собой команду.

Надпись

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

Поле

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

Можно сказать, что реквизит - это переменная формы, которую мы объявляем на закладке "Реквизиты", а элемент связанный с реквизитом ("Поле") это его представление на форме. Но у самого реквизита есть только имя, тип и значение.

Ну вот представьте, что у нас на форме есть поле для ввода числа. Если бы не было реквизитов - как бы мы из кода узнали, какое число ввёл пользователь? Мы бы обратились к элементу ввода по имени и прочитали некоторое его свойство, отвечающее за значение введённое пользователем.

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

Получается, что элемент ввода - это элемент формы. А число, которое вводит пользователь, хранится не в самом элементе, а в реквизите, который связан с этим элементом.

Ещё раз. Реквизит - это именно данные (строка, число, дата). Не визуальное представление (надпись с текстом, поле для ввода числа, поле для ввода даты). Визуальным представлением реквизита является как раз элемент формы "Поле".

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

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

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

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

Ещё пример. Пусть у нас есть реквизит "Возраст" с типом "Число". Этот реквизит хранит только само число, больше ничего. Он не отвечает за то, как будет выглядеть это число, и в каком месте (или на какой закладке) будет располагаться элемент ввода на форме, связанный с этим числом. Реквизит - это только число! Обращаясь к реквизиту мы никак не сможем поменять размер элемента ввода на форме, цвет, видимость... За всё это отвечает не реквизит, а элемент! Меняя реквизит, мы меняем только число, которое отображается в элементе ввода на форме.

В общем: РЕКВИЗИТ - это переменная формы. Поэтому все данные храним в реквизитах (переменных), а для их вывода на форму (или ввода с формы) используем элементы. Именно это отделение логики от представления позволяет 1С с легкостью отображать одни и те же формы на разных клиентах: "толстый", "тонкий", "веб-браузер".

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

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

Ну и, наконец, объект. Судя по-тому, что он находится на закладке "Реквизиты" - это тоже реквизит. Всё верно. Но он особенный.

Этот реквизит мы не создаём - он сам появляется на закладке "Реквизиты". В случае с обработкой он пустой, но если бы мы программировали форму какого-нибудь справочника, то реквизит объект как раз и представлял бы из себя поля этого справочника из базы.

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

Пройдите тест

Начать тест

1. Форма обработки может содержать

2. Форма у обработки находится на закладке

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