как обратиться к кнопке на форме 1с
Обращение к элементам формы
Не удается обращение к элементам и методам формы из другой формы
Добрый день, Создал 2 формы, на второй есть паблик метод, элемент и несколько переменных, доступа.
Обращение из родительской формы к элементам второй формы
Помогите пожалуйста, надо динамически вывести dataGridView с таблицами данных из БД на дочернюю.
Обращение из первой формы к элементам второй формы
Имеются две формы задача при нажатии на одну кнопку скрывать некоторые данные со второй формы, а.
Решение
То пишет ту же ошибку: Переменная ЭлементыФормы не определена
Добавлено через 39 минут
Еще одна проблема: При изменении флажка пытаюсь отчистить поле ГосНомерКузова, но выдает ошибку что поле недоступно, хотя очистить его пытаюсь, когда оно еще доступно.
Обращалась к полю редактирования еще так Элементы.ГосНомерКузова.ТекстРедактирования=»»; но ничего не вышло
Обращение к элементам формы
Всем привет..такой вот вопрос. Можно ли обратиться к элементу формы по индексу? И можно ли.
Обращение к элементам формы
Хочу из cpp сменить свойство (Text) элемента textBox1. При Form1->textBox1->Text = «Test»; выдает.
Обращение к элементам формы из JavaScript
Добрый вечер. У меня такая проблема. Занимаюсь с формами. Страница наполнена различными.
Обращение к элементам формы из класса
Как из класса test.cs присвоить значение textbox1 из формы Form1?
Добавление кнопки на управляемую форму
Предисловие
Изменение форм объектов конфигурации является очень распостраненной задачей при доработке типовый конфигураций, создании отчетов и обработок и т.д. Да в абсолютном большинстве случаев разработчику приходится иметь дело с формами.
Сегодня в статье рассмтрим сквозной пример добавления на управляемую форму кнопки.
Конструктор
И кнопка уже добавлена!
Но не всегда такой вариант приемлем. Для некоторых задач нужно изменять форму программным образом, например, для формирования кнопок команд печати документов, где для каждой печатной формы создается собственная кнопка. Заранее знать состав всех печатных форм (включая внешние) мы не можем, поэтому добавление кнопок выполняется автоматичкески.
Программное добавление
И так, то что мы сделали в 2 клика сделаем с помощью нескольких строк кода. Перед тем как добавлять команду формы, нам нужно определить процедуру-обработчик этой команды. Добавим в модуль формы следующую процедуру:
Теперь нам нужно добавить команду формы и присвоить в качестве обработчика процедуру выше. Добавлять команду нужно на стороне сервера, поэтому используем событие формы «ПриСозданиинаСервере»:
Отлично, осталось добавить элемент формы типа «Кнопка формы» для команды формы «Предупредить». Дополним обработчик события «ПриСозданииНаСервере»:
На этом все. Если мы откроем эту форму в режиме 1С:Предприятия, то увидим следующее:
Пример небольшой и врятли даст ответы нв все вопросы по программной модификации форм. Он лишь может подсказать общий принцип.
Обратиться к кнопке подменю
MenuStrip: обратиться к динамически созданным подменю
Доброго времени суток всем. Есть MenuStrip1 на форме. У него есть пункт Файл, а в нем пункт.
Как обратиться к подменю menuStrip, созданному программно на основе файлов?
Доброго времени суток! Создаю подменю пункта menuStrip на основе файлов в конкретной папке. Пункты.
Обратиться к определенной кнопке
Всем добрый день! Не подскажите ли как обратиться к определенной кнопке на форме. Т.е. на форме их.
Как обратиться к кнопке
Всем привет! Я, понятное дело, начинающий. Столкнулся с такой проблемой. Создаю динамический.
Вообще оценивай объемы работы: где-то реально проще все закомментить и написать свои пять строк, чем вникать и править)
Как обратиться к кнопке backspace?
Делаю тест скорости печатания текста. Необходимо выделять красным неправильно введенный символ (.
обратиться к кнопке, которых много
Добрый день формучане! На странице есть несколько кнопок «изменить», каждый разу у них разные id.
Из макроса обратиться к кнопке на форме
Добрый день подскажите как из макроса обратиться к кнопке чтобы ее запустить? Скажем на форме есть.
Как обратиться к определенной кнопке
У меня имеется таблица, созданная циклом в PHP, и крайний столбец отведен под кнопку «удалить». Как.
Как обратиться к динамически созданной кнопке?
Доброго времени суток. Билась уже несколько дней над задачей, надеюсь на помощь в её решении.
1С. Программное добавление кнопки с обработчиком
При доработке типовых решений для облегчения дальнейших обновлений использую программное добавление кнопки с обработчиком
Задача
Программно добавить на командную панель кнопку с выполнением произвольного кода по ее нажатию.
Реализация
Для наглядности создадим новую обработку с «Пустой» формой. Её внешний вид будет следующим
В обработчике события формы ПриСозданииНаСервере() добавим код генерации команды и кнопки
И создадим обработчик нашей команды
В итоге на форме появится кнопка выполняющая наш обработчик. Выглядеть все это будет как добавленная кнопка в конфигураторе
Так же кнопки формы имеют свойство КнопкаПоУмолчанию, если присвоить значение Истина
тогда кнопка будет выделена цветом и шрифтом
а как код то добавить чтобы выполнялся?
или код нужно заранее на форму поместить, тогда нет смысла добавлять программно команду, если код всеравно нужно помещать заранее на конкретную форму.
Алексей, доброго времени суток! Хороший вопрос!
Все верно, код обработчика придется добавить в модуль формы.
А теперь давайте посмотрим не только на разработку, но и на сопровождение и дальнейшее обновление доработанной конфигурации.
Если добавить команду «руками», то при обновлении дважды измененной формы команда будет потеряна. Ведь, модули формы мы можем сравнить, а формы нет.
Если команду добавить программно в модуле формы или соответствующем модуле БСП, а обработчик в модуле формы. При этом выделив все свои процедуры префиксом и поместив их в отдельную область, то мы получим ситуацию, когда все наши изменения можно легко увидеть в сравнении модулей. Не придется держать чек-лист со списком команд/реквизитов/элементов для ручного добавления и перепроверки после обновления.
И тут мы приходим к правилу — формы «руками» не правятся вообще. Все «ручные» изменения выявляются на этапе ревью, вносивший такие изменения бурно порицается.
Обдумав данный механизм, просится к добавлению:
1. Автотест с открытием форм и исполнением программного изменения;
2. Корректная обработка ситуаций, когда программное изменение не получилось. С соответствующим выводом на этапе тестирования.
Не долго думая пишем придуманное выше и наслаждаемся результатом.
Как обратиться к кнопке на форме 1с
Войдите как ученик, чтобы получить доступ к материалам школы
Создание конфигураций 1С: добавляем команду
Автор уроков и преподаватель школы: Владимир Милькин
Продолжаем изучение азов создания конфигураций на 1С.
Где находится форма у обработки
Откроем окно настроек обработки «УдалениеУволенныхСотрудников»:
Открылось окно с закладками во многом повторяющими закладки из справочника «Сотрудники». Это совершенно нормально, ведь настройки объектов в конфигураторе во многом похожи друг на друга.
Давайте откроем его двойным щелчком:
Открылось окно со множеством панелей. И нам сейчас очень важно для будущих уроков разобраться что здесь за что отвечает.
Меняем код на встроенном языке 1С для формы
Ну прежде всего обратим внимание в самый низ открывшегося окна. Там мы найдём две закладки «Форма» и «Модуль».
Попробуем переключиться на закладку «Модуль»:
Здесь присутствует всего одна процедура с именем «УдалитьСотрудников». Очевидно именно она и вызывается при нажатии на кнопку.
Изменим этот код следующим образом:
Снова запустим режим 1С:Предприятие (меню «Отладка»->»Начать отладку»), откроем обработку и нажмём кнопку «Удалить сотрудников»:
И получим то самое сообщение, которое написали только что:
Закладка «Элементы» у формы
Вернёмся в конфигуратор в нашу форму на закладку «Форма»:
Обратите внимание на закладку «Элементы» в верхней части формы. Содержимое этой закладки дублирует визуальное представление формы. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Можно сказать ещё, что всё, что вы видите в визуальной части формы можно найти на закладке «Элементы».
Откроется окно со свойствами кнопки:
Давайте установим для кнопки заголовок «БАХ»:
Форма теперь будет выглядеть так:
Закладка «Реквизиты» у формы
Теперь перейдём к закладке «Реквизиты»:
Эта закладка содержит имена по которым мы можем «достучаться» до данных объекта, которые представляет форма. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Пока на этой закладке всего лишь один реквизит «Объект» и то пустой.
Но если бы мы перешли на аналогичную закладку в форме справочника «Сотрудники», то обнаружили бы тут реквизиты «ДатаРождения», «НомерПаспорта» и «СерияПаспорта». Это означало бы, что мы можем их использовать в коде модуля формы.
Закладка «Команды» у формы
Заключительная закладка, которую мы рассмотрим сегодня это закладка «Команды»:
Вообще все команды, которые вы видите на одной из закладок («Команды формы», «Стандартные команды» и «Глобальные команды»), можно смело перетаскивать на закладку «Элементы» и они «волшебным образом» превратятся в кнопки на форме.
Как вы понимаете, нажатие на эти кнопки, будет приводить к выполнению этих команд.
Ну, например, перейдём на закладку «Стандартные команды» и перетащим на закладку «Элементы» команду «Закрыть»:
На форме появилась кнопка закрыть. Запустим 1С:Предприятие (меню «Отладка»->»Начать отладку»), откроем обработку и убедимся, что кнопка работает:
Вернёмся в конфигуратор в форму обработки и перейдём на закладку «Команды формы»:
На этой закладке мы видим команды формы, которые мы определили сами. В том числе мы можем видеть здесь команду, которую я определил ещё в самом начале с именем «УдалитьСотрудников».
Откроем свойства этой команды (двойным щелчком).
Нас интересует прежде всего поле «Действие», нажмите на кнопку с лупой рядом с ним:
Нас перенесло в процедуру «УдалитьСотрудников» в модуле формы. Это означает, эта команда и эта процедура связаны между собой. И выполнение команды (например, при нажатии на кнопку, в которую она превратилась) приведёт к выполнению кода процедуры.
Добавляем новую команду для формы
Давайте создадим ещё одну команду формы. Для этого вернёмся на закладку «Команды формы» и нажмём зелёную кнопку с плюсом:
На закладку добавилась новая команда «Команда1»:
Откроем её свойства и установим имя «Привет», а затем нажмём на лупу рядом с полем «Действие»:
Нас спрашивают какой именно вид обработчика мы хотим создать.
Выбираем вариант «НаКлиенте» и нажимаем «ОК»:
Нас перенесло в модуль формы в автоматически созданную процедуру «Привет». Теперь эта процедура связана с командой формы «Привет»:
Давайте напишем в ней вывод строки привет пользователю:
Но как нам теперь заставить выполнять команду (а значит и процедуру) «Привет»? Для этого вернёмся на закладку «Команды формы» и перетащим наш «Привет» на форму, так как мы это сделали ранее с командой «Закрыть»:
На форме появилась ещё одна кнопка. Запустим 1С:Предприятие, откроем обработку и нажмём на кнопку «Привет». Должно получиться вот так:
Вводим от пользователя имя и говорим ему привет
А теперь давайте поставим себе такую задачу. Нужно, чтобы пользователь ввёл своё имя, мы нажали на кнопку и вывелось, например, «Привет, Алексей».
Переходим на закладку «Реквизиты» и нажимаем зелёную кнопку плюс:
Добавился реквизит с именем «Реквизит1»:
В окне свойств этого реквизита установим имя «Имя» и тип «Строка»:
После этого перетащим уже привычным образом реквизит «Имя» на закладку «Элементы»:
Запустим 1С:Предприятие, откроем обработку и попробуем туда ввести своё имя:
Всё получилось, но вот нажатие на кнопку «Привет» пока работает по-прежнему.
Сейчас всё исправим. Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь. Для этого вернёмся в конфигуратор, перейдём в модуль формы обработки и найдём там процедуру «Привет»:
Перепишем её таким образом, чтобы к строке «Привет, » добавлялось значение реквизита «Имя», который связан с элементом ввода на форме:
Теперь снова запустим 1С:Предприятие, обработку, введём своё имя и нажмём кнопку «Привет»:
Команды, элементы, реквизиты, объект. вы ещё не запутались?
Элементы позволяют нам некоторым образом взаимодействовать с формой: читать, нажимать, проматывать и т.п.
Кнопка
Команды бывают встроенные (закладки «Стандартные команды» и «Глобальные команды») и те, что программист придумывает сам (закладка «Команды формы»).
Надпись
Это просто текст на форме. У такого элемента есть свойство «Заголовок», значение которого мы задаём в редакторе и оно отображается в виде текста.
Поле
А вот это уже интересно. Потому что это такой особый элемент, который не сам по себе (как надпись), а обязательно должен быть связан с какими-то данными или по-другому РЕКВИЗИТАМИ (закладка «Реквизиты»).
Так вот в 1С так нельзя. Тут (начиная с «управляемых» форм) представление данных отделено от самих данных.
И получается, что при написании кода на языке 1С для отображения и изменения данных мы прежде всего должны использовать реквизиты. Мы меняем из кода реквизиты, а связанные с ними поля на форме изменяются при этом автоматически.
И наоборот. Пользователь вводит на форме значения в элементы ввода (числа, текст, даты) и значения реквизитов также меняются автоматически.
Какие преимущества даёт такое отделение элементов формы от данных (реквизитов)? Большие! Программист создает нужные ему реквизиты (для хранения, отображения и ввода некоторых полей на форме) и пишет программный код работая только с этими реквизитами (данными). Он совершенно не задумывается пока как всё это будет выглядеть на форме. Оно ему и не надо! Он пока пишет только программный код.
А уже затем он перетаскивает эти реквизиты на форму, реквизиты превращаются в визуальные элементы формы, он их как-то настраивает, распихивает по закладкам и прочее. В общем на этом этапе (визуального проектирования формы) он работает уже только с элементами. При этом во много раз снижается вероятность сломать уже написанный код.
Чтобы обратиться к реквизиту «Возраст» из модуля формы достаточно сразу использовать его имя:
А чтобы обратиться к элементу формы, который связан с этим реквизитом нужно использовать префикс «Элементы.», например:
Что такое Объект?
Рядом с ним бы появился плюсик и мы могли бы его раскрывать и перетаскивать отдельные его части на форму и они бы также превращались в элементы.