1с при открытии формы выбора активировать строку
Продолжаем разговор о открытие форм различным способом (и с различными целями), предыдущая статья рассказывала о том, как открыть форму с заполнением, а данная статья расскажет о том, ка открыть форму с отбором (форма списка, форма выбора) в обычном и управляемом приложении.
Открытие формы с отбором в обычном приложении
В обычном приложении (я пробовал на платформе 8.2.18.102) я знаю только один способ открытия формы списка или формы выбора с отбором (буду рад увидеть другие варианты), выглядит он примерно так:
В этом примере при получении формы владельца открывающейся формы (второй параметр) можно ничего не указывать (для формы списка, например), я указал поле в которое должен попадать выбранный элемент.
Кроме этого, если код открытия формы у Вас размещается в событии «НачалоВыбора», то не забудьте отменить стандартную обработку, а в качестве владельца открывающейся формы можно указать первый параметр события — «Элемент».
Открытие формы с отбором в управляемом приложении
В управляемом приложении я знаю несколько способов открыть форму с отбором. Первый способ простой, но сильно ограничен по возможностям, выглядит он примерно так:
Проблема в том, что нельзя выбрать вид сравнения (только «равно») и нет доступа к некоторым другим параметрам.
Второй способ лишен недостатков первого способа, но выглядит значительно более громоздко:
И на всякий случай приведу третий способ, который, на самом деле, мало чем отличается от второго, но смотрите сами:
Не забывайте отключать стандартную обработку, если это требуется, а также указывать/не указывать владельца при получении/открытии формы.
В заключение отмечу, что я намеренно не использую модальное открытие формы списка/выбора (1С с некоторых пор приказала отказываться от модальности), но если у Вас есть потребность в модальности, то такое, разумеется, тоже возможно.
На этом все, надеюсь данная статья Вам помогла.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 30, средняя оценка: 4,57 из 5)
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем 1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Посмотреть все результаты поиска похожих
Еще в этой же категории
Как обновить динамический список или реквизит на форме клиента? 22
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список ~ Как на управляемой форме разместить список регистра сведений с отбором? 18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка? 16
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма ~ Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора ~ Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Очень часто возникает необходимость программно открыть какую-то форму выбора (документа, справочника), выбрать нужное значение, и передать это значение на форму, которая инициализировала открытие формы выбора. Давайте разберемся, как это делать.
А делается это при помощи уже знакомого нам метода ОткрытьФорму.
Для тех, кто не знаком с вышеприведенным методом, рекомендую первым делом ознакомиться с моими статьями, где я подробно о нем рассказываю:
Открытие управляемой формы 1С с передачей параметров
Открытие управляемой формы 1С в отдельном окне
Для этой статьи я в конфигураторе 1С создам обработку, на форму этой обработки помещу команду, при выполнении которой, откроется форма выбора справочника Номенклатура, и запишу выбранное значение в реквизит формы обработки.
Здесь и далее приведена конфигурация из книги «Основы разработки в 1С: Такси».
Замечу, что в моей конфигурации нет формы выбора
т.е. мы будем открывать автоматически сгенерированную форму выбора.
Поэтому в методе ОткрытьФорму, когда мы будем выбирать нужную управляемую форму 1С, то просто выбираем ФормаВыбора.
Для того, чтобы получить какое-то значение с формы нужно использовать шестой параметр метода ОткрытьФорму – ОписаниеОповещенияОЗакрытии, который имеет тип ОписаниеОповещение.
Алгоритм такой: первым делом мы создаем новый объект с типом ОписаниеОповещения, в параметрах конструктора объекта указываем экспортную процедуру формы, которая сработает после выбора нужного значения с открытой формы. Создаем эту процедуру, где будем обрабатывать выбранное значение. Она должна иметь два параметра: РезультатВыбора и ДополнительныеПараметры. Вот такой должен получиться код:
&НаКлиенте
Процедура ВыбратьНоменклатуру ( Команда )
ОписаниеВыбора = Новый ОписаниеОповещения ( «ОбработатьВыборНоменклатуры» , ЭтаФорма );
Процедура ОбработатьВыборНоменклатуры ( РезультатЗакрытия , ДопПараметры ) Экспорт
Если Не ЗначениеЗаполнено ( РезультатЗакрытия ) Тогда
Возврат;
КонецЕсли;
Где ВыбраннаяНоменклатура это реквизит формы.
Заметьте, процедура ОбработатьВыборНоменклатуры, которую мы указали в описании оповещения, обязательно должна быть экспортной.
Теперь нам осталась указать объект описание выбора в шестом параметре метода ОткрытьФорму
&НаКлиенте
Процедура ВыбратьНоменклатуру ( Команда )
ОписаниеВыбора = Новый ОписаниеОповещения ( «ОбработатьВыборНоменклатуры» , ЭтаФорма );
ОткрытьФорму ( «Справочник.Номенклатура.ФормаВыбора» .
ОписаниеВыбора ,
РежимОткрытияОкнаФормы . БлокироватьОкноВладельца );
И всё! Сейчас при выполнении команды, откроется форма выбора, и если какая-то номенклатура будет выбрана, то она запишется в реквизит формы в процедуре ОбработатьВыборНоменклатуры.
Изучайте управляемые формы 1С с моими статьями:
Открытие управляемой формы существующего объекта
Открытие управляемой формы 1С на основании другого объекта
Открытие обычной формы в управляемом приложении 1С
Очень подробно вопросы по работе с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Многие начинающие думают, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Книга «Программировать в 1С за 11 шагов»
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»
- Без сложных технических терминов. Написана понятным и простым языком — для новичка.
- Более 700 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
Любой начинающий разработчик управляемого приложения 1С, который дошел до открытия управляемых форм заметил, что новая форма открывается всегда не поверх текущего окна, а в соседнем окне. Этот режим открытия называют Независимым. Но очень часто для удобства работы пользователей форму нужно открыть именно поверх всех имеющихся окон. Разберемся, как это работает.
Прежде чем изучать открытие формы программно, познакомимся с очень интересным свойством управляемой формы 1С, которое называется РежимОткрытияОкна. Именно это свойство отвечает, каким образом откроется новое окно. Это свойство принимает три значения: Независимый, Блокировать окно владельца и Блокировать весь интерфейс.
Если у формы 1С установлен Независимый режим открытия окна, то форма откроется в отдельном окне, как на рисунке ниже.
Здесь и далее приведена конфигурация из книги «Основы разработки в 1С: Такси».
В том случае если установлен режим Блокировать окно владельца или Блокировать весь интерфейс, то форма откроется по верх всех окон.
Только в случае режима Блокировать окно владельца, будет заблокирована форма, в которой было инициализировано открытие новой формы. А в случае режима Блокировать весь интерфейс заблокируется весь интерфейс программы 1С. По сути, форма откроется в модальном режиме.
Со свойством формы разобрались, перейдем к открытию формы при помощи программного кода. Делать мы это будем при помощи уже знакомого нам метода ОткрытьФорму. Как работает этот метод, читайте в моей статье:
У этого метода есть последний седьмой параметр, который называется РежимОткрытияОкна, этот параметр имеет тип системное перечисление РежимОткрытияОкнаФормы, которое содержит в себе уже знакомые нам режимы: Независимый, Блокировать окно владельца и Блокировать весь интерфейс.
Если мы в методе ОткрытьФорму установим в седьмой параметр какое-либо значение, то форма откроется согласно этому значению.
Ниже приведены все три варианта открытия окна формы с использованием параметра РежимОткрытияОкна:
ОткрытьФорму ( «Документ.УстановкаЦен.Форма.ФормаДокумента» .
РежимОткрытияОкнаФормы . Независимый );
ОткрытьФорму ( «Документ.УстановкаЦен.Форма.ФормаДокумента» .
РежимОткрытияОкнаФормы . БлокироватьОкноВладельца );
ОткрытьФорму ( «Документ.УстановкаЦен.Форма.ФормаДокумента» .
РежимОткрытияОкнаФормы . БлокироватьВесьИнтерфейс );
Изучайте управляемые формы 1С с моими статьями:
Открытие управляемой формы существующего объекта
Открытие управляемой формы 1С на основании другого объекта
Открытие обычной формы в управляемом приложении 1С
Очень подробно вопросы по работе с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Многие начинающие думают, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: «Программировать в 1С за 9 шагов» и «Основы разработки в 1С: Такси»
Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 9 шагов»
- Без сложных технических терминов.
- Более 500 страниц практического материала.
- Каждое задание сопровождается рисунком (скриншот).
- Сборник задач для домашней проработки.
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 16%: vCph8bW3rE
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
По теме открытия формы с параметрами, часто возникают вопросы, надеюсь данная статья поможет кому-либо.
Обычные формы
Для передачи параметра в обычную форму существует два способа.
Первый, менее распространенный, заключается в создании реквизита формы (этот реквизит, при необходимости, можно отобразить визуальным элементом).
Реквизит на обычной форме
Второй вариант используется значительно чаще. Его суть заключается в том, что в модуле открываемой формы нужно объявить экспортную переменную, а обработка этой переменной производится в событии «ПередОткрытием» открываемой формы:
И для первого и для второго способа используется одинаковый код:
Управляемые формы
В управляемых формах появилась прекрасная возможность предавать параметры сразу при получении формы. Кроме этого, в управляемых формах появились стандартные параметры для различных объектов (справочники , документы и тд.), большим плюсом которых является отсутствие необходимости какой-либо обработки (задал параметр — получил результат). Список этих параметров, определяется типом объекта.
Например, параметр «ТекущееЗначение», позволяет позиционировать форму выбора справочника на определенном элементе.
Для собственных параметров, потребуется обработка, которая выполняется в событии «ПриСозданииНаСервере» открываемой формы, в остальном механизм передачи параметра такой же.
Получение формы и передача параметра:
Обработка передаваемого параметра в модуле открываемой формы:
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 20, средняя оценка: 3,70 из 5)
Продолжаем разговор о открытие форм различным способом (и с различными целями), предыдущая статья рассказывала
Dropbox — это один самых популярных сервисов облачного хранения данных. Подобному сервису облачного хранения
Читайте также: