при создании на сервере параметры

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

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

В этой статье я разберу оба этих момента.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

Открытие управляемой формы

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

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

В этой тренировке в форме Данные будем вводить некоторые числовые значения, которые потом используем в форме Расчёт. Сделаем простой пример: решим линейное уравнение тип ax + b = c. Для этого на форме Данные зададим величины a,b и с соответственно, а при открытии формы Расчёт вычислим значение x. Пример больше учебный, нужный для того, чтобы показать, как передавать данные с одной формы на другую. a, b и с – это реквизиты управляемой формы Данные с типом число (10,2). Создадим эти реквизиты и перетащим их на форму.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

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

Поэтому создадим обработчик команды «Решить уравнение» на клиенте.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

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

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

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

В нашем случае мы выбираем форму Расчет обработки.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

Подготовим форму Расчёт – создадим у этой формы реквизит x, который поместим на форму.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

А так же установим у формы в свойство Режим открытия окна значение Блокировать окно владельца. Тогда форма Расчёт будет открываться в отдельном окне.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

Всё! Если мы сейчас сохраним обработку, запустим её и выполним команду «Решить уравнение» формы Данные, то откроется форма Расчёт. На которой, естественно, ни чего пока ещё не рассчитано.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

Параметры управляемой формы

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

Создадим у управляемой формы Расчёт параметры a,b,c.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

Если Вы хотите, чтобы параметр был доступен все время существования формы, то у него необходимо установить свойство Ключевой параметр.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

У формы Расчёт создадим событие формы ПриСозданиеНаСервере. Для этого в палитре свойств формы нужно найти это событие и кликнуть на кнопку «Лупа».

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

Теперь нам осталось передать параметры при открытии формы. Для этого на форме Данные в обработчике команды «Решить уравнение» создадим структуру, в которой перечислим все передаваемые параметры. Ключ этой структуры должен соответствовать названию параметра в открываемой форме.
И эту структуру будем указывать в качестве второго параметра метода ОткрытьФорму.

Посмотрим, как будет работать этот код.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

Подробно вопросы работы с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.

при создании на сервере параметры. Смотреть фото при создании на сервере параметры. Смотреть картинку при создании на сервере параметры. Картинка про при создании на сервере параметры. Фото при создании на сервере параметры

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

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

Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

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


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей

Источник

Параметры формы

Продолжаем изучать 1с в рубрике ‘Джуниор 1с’. Сегодня мы рассмотрим такую простую вещь как параметры формы. Вам кажется это очень простым вопросом? Тогда задайте своему коллеге вопрос: за что отвечает свойство параметра формы ‘Ключевой параметр’? Или в каком контексте формы он доступен? Многие не смогут дать ответа на этот вопрос!

Итак, начнем с простого: у нас есть форма документа ‘Задачи’. Давайте попытаемся её открыть и передать в неё структуру параметров:

Отлично, с этой задачей мы справились. Теперь идем в процедуру ‘ПриСоздании’ нашей формы документа и смотрим, где же найти наши параметры:

Мы видим что наши переданные параметры можно увидеть в переменной ‘Параметры’ / ДанныеФормыСтруктура. Они будут в самом конце списка (в красной рамке). Выше них идут стандартные параметры формы (предопределенные). И самыми первыми идут параметры (в зеленой рамке), которые мы можем определять непосредственно в самой форме:

Но давайте посмотрим, какие параметры будут жить вне процедуры ‘ПриСозданииНаСервере’. Для примера посмотрим что у нас доступно в клиентской процедуре ‘ПриОткрытии’:

Здесь мы видим что у нас остался только ограниченный список параметров. И наших параметров из вне здесь нет. А вот в процедуре ‘ТестоваяПроцедураСервер’, которая вызывается из ‘ПриСозданииНаСервере’ имеет полный список параметров формы:

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

Итак, мы можем подвести итог: полный список параметров формы доступен только в контексте процедуры ‘ПриСозданииНаСервере’ (плюс все процедуры, которые вызываются из неё)! Но тогда возникает вопрос, а что же это за параметры, которые живут все время, которое существует формы?

А все просто – это ключевые параметры формы. Доступны в контексте формы (в любых процедурах)! Что бы сделать свой ключевой параметр, достаточно создать параметр формы и указать у него свойство ‘Ключевой параметр’ (он тогда выделится жирным шрифтом):

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

Итак, с этим разобрались. Остался у нас теперь один вопрос, а как же нам к ним обращаться? А очень просто! Это НЕ обычная структура, а ДанныеФормыСтруктура, по сути из неё мы можем только читать наличия свойства и значения:

Вот в принципе и все! Ничего сложного! Всем удачи!

Источник

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

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