1с заполнить форму не открывая

Обновлено: 03.07.2024

alik-ZmeY --> alik-ZmeY



Просмотр профиля Подскажите как можно не открывая формы запустить процедуру которая висит на событие ПриОткрытии?? Или как можно открыть и быстренько закрыть форму что бы пользователь не видел ее?? 1с 8.2 alex040269 --> alex040269



Просмотр профиля Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП logist --> logist



Просмотр профиля Или как можно открыть и быстренько закрыть форму что бы пользователь не видел ее??

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

pablo --> pablo



Просмотр профиля Подскажите как можно не открывая формы запустить процедуру которая висит на событие ПриОткрытии?? Правильно поставленный вопрос содержит до 90% ответа. alik-ZmeY --> alik-ZmeY



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

Совершенно верно. Пишу обработку для заполнения платежных документов. Из текстового файла передаю форме Платежного поручения данные. Форма имеет свои процедуры и функции. которые активируются при вводе вручную.
Так вот при передачи через создатьдокумент(), процедуры которые выполняются при событии по нажатию кнопки не выполняются, и что бы их не переписывать я получаю форму, на форме получаю элементы этой формы и передаю значения. Но нада еще выполнить приОткрытии формы, эта процедура меняет значения документа. Как это сделать??

logist --> logist



Просмотр профиля

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

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

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

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

Управляемые формы обработки

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

Реквизиты управляемые формы обработки

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

Команда на управляемой форме обработки

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

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

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

Создание обработчика команды управляемой формы

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

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

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

Контекстная подсказка метода ОткрытьФорму

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

Контекстная подсказка метода ОткрытьФорму

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

Контекстная подсказка метода ОткрытьФорму

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

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

Свойство управляемой формы Режим открытия окна

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

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

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

Свойство Заголовок управляемой формы

 Свойство Заголовок управляемой формы

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

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

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

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

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

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

Свойство ключевой параметр параметра управляемой формы

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

Открытие формы с передачей параметров

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

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

Открытие формы с передачей параметров

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

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


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


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

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

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

2 thoughts on “ Открытие управляемой формы в 1С 8.3 с передачей параметров ”

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