Раздел Обработчики команд формы содержит процедуры-обработчики команд формы имена которых задаются в свойстве Действие команд формы.
Про программирование 1C
События формы
- События управляемой формы
- ЧТЕНИЕ
- ПриЧтенииНаСервере(ТекущийОбъект)
- ТекущийОбъект — тип данных этого объекта «настоящий» (ДокументОбъект), он еще не конвертирован в «легкий» тип данных (ДанныеФормыСтруктура)
- Для тех форм, у которых в качестве основного реквизита выбран какой-либо объект базы
- Отказ — если Истина, то форма не откроется
- Может содержать диалог с пользователем
- Надо решить будет относиться событие
- В целом к объекту или
- К конкретной форме
- Связь с событиями модуля объекта
- Обработчики Модуля формы пересекаются с обработчиками Модуля объекта. Вначале выполняются события ПередЗаписью Модуля формы, потом происходит передача в Модуль объекта и снова возвращается в Модуль формы
- Перед закрытием (можно проанализировать и отменить закрытие)
- При закрытии (действие уже свершилось)
События элементов формы
- Поле формы
- ПриИзменении ()
- Пример, при выборе кассы подставить валюту
- Обработка начала выбора
- Когда пользователь осуществил выбор (Выбрать, Enter, даблклик)
- От ПриИзменении отличается тем, что выбранное значение еще не помещено в реквизит формы
- только событие ПриИзменении ()
События элементов формы
Структура модуля, методические материалы учебного центра «Стимул» - обучение в КиевеРекомендуется располагать обработчики, придерживаясь порядка их следования в описании встроенного языка.Программная модификация управляемых форм
- Свойство «Отбор»динамического списка (Тип данных объекта Формы списка)
- ДинамическийСписок.Отбор
- В качестве Параметра передается Структура, содержащая структуру
- Отбор = Новый Структура(«Контрагент», Элементы.Список.ТекущаяСтрока); ОткрытьФорму(«Документ.ПКО.ФормаСписка», Новый Структура(«Отбор», Отбор));
- Важно! настраивается для реквизита объекта ИБ
- Важно! Чтобы настройка действовала для реквизита не зависимо от формы, Параметры выбора надо настроить для реквизита Документа (в целом, из дерева конфигурации).
- Если надо, чтобы отбор действовал только в определенной форме, отбор настраивается для Элемента формы.
- Настройка может не действовать, если на уровне Формы переопределена СтандартнаяОбработка события НачалоВыбора реквизита
- Имя, Параметры
Глава 7 Программное открытие формы
Программное открытие форм
- Действие возможно только на клиент
- Метод ОткрытьЗначение()
- С помощью этого метода не можем управлять открываемой формы, передавать туда какие-то значения
- Заполнение с помощью Шаблона (после нажатия Enter)
- Заполнение с помощью контекстной подсказки (после «)
- Чтобы выбрать неосновную форму, в контекстной подсказке нужно выбрать «Форма», тогда будут доступны все остальные формы
- ПараметрыФормы = Новый Структура(«Касса», ПолучитьКассу()); ОткрытьФорму(«Документ.ПКО.Форма.ФормаДокументаГБ», ПараметрыФормы);
- Проверка условия
- Параметры.Свойство(«Касса», Касса) — возвращает Истину, если найдено значение параметра, и присваивает это значение второму параметру
Параметры формы
- При открытии в форму можно передавать любые значения в качестве параметров
- Эти параметры будут доступны при создании формы
- Синтакс-помощник => Интерфейс (управляемый) => Управляемая форма => Управляемая форма => Параметры формы
- Для каждого конкретного объекта могут появляться дополнительные параметры
- => Расширение документа = > Параметры формы = > Ключ
- Открытие существующего документа
- ОткрытьФорму(«Документ.ПКО.ФормаОбъекта», Новый Структура(«Ключ», ПКО));
- ОткрытьФорму(«Справочник.Контрагенты.ФормаГруппы», Новый Структура(«ЭтоГруппа»,Истина));
- ОткрытьФорму(«Справочник.Контрагенты.ФормаОбъекта», Новый Структура(«ЗначениеКопирования», Контрагент) );
- ОткрытьФорму(«Документ.РКО.ФормаОбъекта», Новый Структура(«Основание», ПКО)) ;
- ОткрытьФорму(«Документ.ПКО.ФормаОбъекта», Новый Структура(«Ключ, ТолькоПросмотр», ПКО, Истина));
- ОткрытьФорму(«Отчет.ВедомостьПоДенежнымСредствам.ФормаОбъекта», Новый Структура(«СформироватьПриОткрытии», Истина));
- Отбор = Новый Структура(«Касса», ПолучитьКассу()); ОткрытьФорму(«Отчет.ВедомостьПоДенежнымСредствам.ФормаОбъекта», Новый Структура(«СформироватьПриОткрытии, Отбор», Истина, Отбор));
Связь двух форм
- При открытии формы можно указать форму-владельца
- ЭтаФорма
- Это свойство доступно в контексте Модуля управляемой формы, равно ссылке на текущую форму
- ОткрытьФорму(«Документ.ПКО.Форма.ФормаРедактирования»,, ЭтаФорма)
- Свойство УП, доступно только в контексте Клиента
- ВладелецФормы.Объект.Контрагент = Контрагент;
- ПриОткрытии(Отказ)
- Организация = ВладелецФормы.Объект.Организация;
- ВладелецФормы.Объект.Организация = Организация;
- КонтрагентНачалоВыбора. Указывается параметр Владелец,
- ОткрытьФорму(«Справочник.Контрагенты.ФормаВыбора»,, Элемент)
- Тогда выбранное значение подставляется в Форму из которой был осуществлен вызов
- При открытии формы, нужно позиционировать курсор на текущем элементе управления
Вопрос 65 Существует ли в 1С Предприятии 8 возможность настроить конкретное прикладное решение на использование региональных настроек чисел, дат и времени.
Мнение эксперта1С:Эксперт по технологическим вопросамЗадавайте мне вопросы, и я помогу разобраться!В любой управляемой форме можно создать собственную произвольную команду, текст программы которой функция будет находится в модуле формы. 1С значение элемента управляемой формы — Вэб-шпаргалка для интернет предпринимателей! Обращайтесь в форму связиКак работает ОписаниеОповещения
Для начала разберем как работает платформа с модальными окнами на примере метода Вопрос(). Напишем не хитрый код, в котором пользователю показывается диалог с вопросом и вариантами ответа Да и Нет.
В данном случае пользователю будет показан диалог, а работа клиентской части будет полностью приостановлена до момента, пока пользователь не ответит на вопрос.
Тогда результат поместится в переменную Ответ и только после этого работа клиентской части будет возобновлена для выполнения алгоритма заполнения.
Напишем аналогичный пример, но уже без модального вызова. Будем использовать метод ПоказатьВопрос(), которому передадим ОписаниеОповещения.
Пользователь не заметит разницы, ведь будет показан точно такой же диалог с вопросом. Но исполнение кода не будет приостановлено, вместо этого будет исполнен дальнейший алгоритм и будет завершена работа текущей процедуры.
Промокоды на Займер на скидки
Займы для физических лиц под низкий процентПосле ответа пользователя будет вызвана процедура ОбработатьОтветПользователя(), которую мы указали в конструкторе ОписаниеПоповещения и только тогда будет выполнен алгоритм заполнения.
Синтаксис
Конструктор ОписаниеОповещения имеет 5 необязательных параметров:
ИмяПроцедуры — Имя экспортируемой процедуры, которая будет вызвана;
Модуль — Модуль в котором расположена вызываемая процедура. Могут быть указаны Форма, Общий модуль, Команда командного интерфейса;
ДополнительныеПараметры — Произвольное значение, которое будет передано в вызываемую процедуру последним параметром;
ИмяПроцедурыОбработкиОшибки — Имя экспортируемой процедуры, которая будет вызвана в случае ошибки;
МодульОбработкиОшибки — Модуль в котором расположена вызываемая процедура в случае ошибки. Могут быть указаны Форма, Общий модуль, Команда командного интерфейса.
Вызываемая процедура и её параметры
Вызываемая процедура должна быть экспортируемой, и в самом простом случае содержать два параметра Результат и ДополнительныеПараметры.
В зависимости от объекта в котором используется ОписаниеОпопвещения, количество параметров вызываемой процедуры может меняться.
Например вызываемая процедура для обработки оповещения метода глобального контекста НачатьПомещениеФайла() должна иметь 4 параметра.
Для избежания ошибок обращайтесь к Синтаксис-помощнику, там описано количество и порядок необходимых параметров.
Выполнение обработки оповещения
В платформе реализован метод ВыполнитьОбработкуОповещения(), для возможности непосредственного выполнения обработки оповещения.
Методу в качестве параметра необходимо передать ОписаниеОповещения, которое будет выполнено. Так же можно передать в процедуру обработки произвольный результат вторым необязательным параметром.
1С. ОписаниеОповещения
Примеры использования ОписаниеОповещения
ОписаниеОповещения может использоваться во множестве сценариев, например обработка результата открытия форм, диалог выбора файла, работа с файлами, чтение и запись данных, работа с табличными и текстовыми документами. Разберем некоторые из них.
Оповещение о закрытии формы
Реализуем функционал открытия формы подбора с дальнейшей обработкой результата
Ввод значений и предупреждения
Реализуем функционал ввода числа. После ввода выполним проверку на четность введенного числи, если число не четное выведем предупреждение
Проверка существования файла и передача описания оповещения через дополнительные параметры
При работе на стороне клиента, например с оборудованием, логику работы системы можно организовать при помощи оповещений. Можно передавать ОписаниеОповещения в качестве следующего шага, ветвления логики или вызывать одно оповещение из нескольких мест.
Разработаем функционал проверки существования файла. В модуле реализована процедура для централизованной обработки ошибок ОповеститьОбОшибке(), будем передавать ОписаниеОповещения об ошибке через дополнительные параметры.
Обработаем результат проверки существования файла. Если файл не существует, выполним обработку оповещения переданного через дополнительные параметры
Микрофинансирование → Микрокредиты → Специальные предложения → Скачать файлы → Обзор Быстроденег → Предмет договора → Ответственность сторон → Отличные наличные→ Экспресс займы
💥Принимайте участие в опросе и получайте бесплатную консультацию
- Это свойство доступно в контексте Модуля управляемой формы, равно ссылке на текущую форму
- ЭтаФорма
- Синтакс-помощник => Интерфейс (управляемый) => Управляемая форма => Управляемая форма => Параметры формы
- Метод ОткрытьЗначение()
- ДинамическийСписок.Отбор
- ПриИзменении ()
- ПриЧтенииНаСервере(ТекущийОбъект)