выбор групп и элементов 1с управляемые формы

Форма выбора (подбор) в управляемых формах

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

Пример 1.

Простой вызов формы выбора с одним возвращаемым результатом:

Пример 2.

Выбор нескольких значений (документов или справочников) :

В первых 2-х примерах мы использовали обработчик (Событие) формы «ОбработкаВыбора».

Теперь рассмотрим пример с использованием «Обработки оповещения», на мой взгляд более удобно )

Пример 3.

Думаю многие не знают про фишку Оповещением «на Сервере». То есть результат можно вернуть сразу на сервер без дополнительных условий. Работает до 8.3.13.1644, с 8.3.16.1063 этот метод недоступен.

Пример 4.

Мы видим что открывается форма выбора (из списка документов «Реализация товаров и услуг»), но иногда необходимо добавить некий отбор, чтобы при открытии формы не выводить все документы в целом.

Пример 5.

Есть моменты когда не всегда можно обойтись простым отбором, например необходимо открыть форму выбора со списком за определенный период.

Пример 6.

Пример 7.

Как открыть форму выбора с Позиционированием ранее выбранного значения:

Тестировалось на 1С:Предприятие 8.3 (8.3.16.1063) и 1С:Предприятие 8.3 (8.3.13.1644), Спасибо за внимание, возможно, кому-то поможет)

Источник

Организация выбора из произвольной формы (на примере выбора из списка регистра сведений)

1С:Предприятие 8 поддерживает готовую функциональность для организации выбора из форм списков объектных данных (справочников, документов и т.д.). В большинстве случаев выбираются именно такие значения. Однако, в некоторых случаях, необходимо организовать выбор и других значений. Механизм форм 1С:Предприятия 8 включает универсальный механизм выбора, позволяющий организовать выбор практически любых значений.

Для этого используется возможность открытия формы в режиме выбора и возможность обработки события выбора.

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

Вначале создадим новую форму списка регистра сведений и назовем ее «ФормаВыбора». В форме реализуем событие Выбор табличного поля отображающего список.

Теперь реализуем функциональность выбора в той форме, в которой это требуется. Например, в форме обработки, имеющей поля ввода «Валюта» и «Период».

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

Далее мы создаем форму, устанавливаем ей режим выбора, владельца формы, и выполняем открытие формы.

Теперь нам нужно только реализовать обработчик выбора в форме и выполнить в нем необходимее действия с выбранным значением.

Источник

Обработка Выбора в поле ввода формы

1С:Предприятие 8.3.14. Документация
Глава 7. Формы

Для демонстрации работы параметров формы рассмотрим реализацию выбора элемента в поле ввода. Сутью примера будет реализация механизма выбора элемента из списка на встроенном языке.

К моменту начала работы с примером нужно иметь конфигурацию, обладающую следующими свойствами:

Теперь реализуем в этой конфигурации все механизмы, которые использует платформа для выбора элемента из списка, на встроенном языке. При этом мы увидим:

Добавим дополнительный параметр, который будет управлять закрытием формы выбора после выбора элемента. Назовем этот параметр ЗакрыватьПослеВыбора (тип Булево). Добавим его в качестве параметра формы ФормаВыбора справочника Товары.

Для того чтобы открыть форму выбора элемента, необходимо в форме элемента справочника Аналоги создать обработчик события НачалоВыбора у элемента формы ВыбранныйТовар.

Следует отдельно остановиться на третьем параметре метода ОткрытьФорму(). Этот параметр определяет, кто будет владельцем формы выбора и кому будет приходить оповещение о сделанном выборе. В данном случае мы указали владельцем формы выбора сам элемент формы, но также мы можем указать этим параметром и саму форму. В этом случае будет необходимо реализовывать обработчик ОбработкаВыбора модуля формы и в нем решать, в какой реквизит формы помещать выбранные данные.

ПРИМЕЧАНИЕ. Если мы не будем реализовывать обработчик события НачалоВыбора, то его действия выполнит сама система. Это справедливо и для всех дальнейших обработчиков, которые использованы в примере.

Теперь необходимо обработать переданные параметры в форме выбора. Сделаем это в обработчике ПриСозданииНаСервере() модуля формы выбора.

Для того чтобы проверить работоспособность установленных нами параметров формы, установим, с помощью конфигуратора, у таблицы формы выбора Список свойство ВыборГруппИЭлементов в значение Группы (без применения параметра не будет доступен выбор элементов справочника).

ПРИМЕЧАНИЕ. Если у таблицы Список, отображающей список товаров, свойство РежимВыбора не будет установлено в значение Истина, то выбор товаров будет недоступен.

Теперь нам необходимо обработать выбор желаемого элемента в форме выбора. Для этого нужно определить обработчик события ВыборЗначения таблицы формы.

Нам осталось реализовать обработку выбора элемента в самом поле ввода. Для этого необходимо обработать событие ОбработкаВыбора нашего поля ввода ВыбранныйТовар.

Мы самостоятельно реализовали системный механизм выбора значения в поле ввода на форме.

ВНИМАНИЕ! Данный пример не является законченным. Его единственным назначением является демонстрация механизмов работы с параметрами формы.

Если при создании параметров (обработчик ВыбранныйТоварНачалоВыбора()) заменить строку:

то форма выбора перестанет закрываться после того, как будет осуществлен выбор. Это можно использовать, например, для реализации формы подбора (выбор нескольких товаров без закрытия формы выбора).

Источник

Иерархия групп и элементов в форме списка справочника как в проводнике. УФ

Установить в справочнике свойство иерархия

выбор групп и элементов 1с управляемые формы. выбор групп и элементов 1с управляемые формы фото. картинка выбор групп и элементов 1с управляемые формы. смотреть фото выбор групп и элементов 1с управляемые формы. смотреть картинку выбор групп и элементов 1с управляемые формы.

На форму списка добавить два динамических списка «Список» (по умолчанию) и «Дерево» (для групп), и перенести их в группу с горизонтальным расположением:

выбор групп и элементов 1с управляемые формы. выбор групп и элементов 1с управляемые формы фото. картинка выбор групп и элементов 1с управляемые формы. смотреть фото выбор групп и элементов 1с управляемые формы. смотреть картинку выбор групп и элементов 1с управляемые формы.

Установить свойства реквизита «Список»:
выбор групп и элементов 1с управляемые формы. выбор групп и элементов 1с управляемые формы фото. картинка выбор групп и элементов 1с управляемые формы. смотреть фото выбор групп и элементов 1с управляемые формы. смотреть картинку выбор групп и элементов 1с управляемые формы.

Для сведения:________________________________________________________________________________
Если установить флаг «ПроизвольныйЗапрос», то «ОсновнаяТаблица» станет недоступной.
В «Настройке списка» появится конструктор запроса. Запрос можно составить на собственное усмотрение.
Поля таблицы «Список» будут соответствовать полям результирующей таблицы запроса.
Если в результирующей таблице запроса есть колонки со значением NULL, то такие колонки в режиме предприятия выводиться не будут.
Пример:
ВЫБРАТЬ
СправочникТест.Ссылка,
СправочникТест.ПометкаУдаления,
СправочникТест.Родитель,
СправочникТест.ЭтоГруппа,
СправочникТест.Код,
СправочникТест.Наименование,
СправочникТест.Предопределенный,
СправочникТест.ИмяПредопределенныхДанных,
ТрудоемкостьЗадач.Задача
ИЗ
Справочник.Тест КАК СправочникТест
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТрудоемкостьЗадач КАК ТрудоемкостьЗадач
ПО СправочникТест.Ссылка= ТрудоемкостьЗадач.СправочникТестСсылка

Если нет необходимости в оперативном просмотре изменённых данных в табличной части, то думаю, что этот вариант лучше использовать вместо события «ПриПолученииДанныхНаСервере»
_ _______________________________________________________________________________________________

Установить свойства реквизита «Дерево»:
выбор групп и элементов 1с управляемые формы. выбор групп и элементов 1с управляемые формы фото. картинка выбор групп и элементов 1с управляемые формы. смотреть фото выбор групп и элементов 1с управляемые формы. смотреть картинку выбор групп и элементов 1с управляемые формы.

В параметре «Настройка списка» свойства реквизита «Дерево»

Источник

Базовый принцип программирования управляемой формы в 1С

Цель статьи – показать применение шаблонов Remote Facade и Data Transfer Object к структуризации кода, управляемой формы в среде 1С 8.2.

Введение

Начнем с небольшого описания понятия «управляемая форма» и связанных концепций платформы 1С. Знатоки платформы могут пропустить этот раздел.

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

Обозначим проблему

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

Рассмотрим структуру кода (модуль формы) в нескольких формах одной типовой конфигурации и попробуем найти закономерности.
Под структурой будем понимать секции кода (чаще всего это блоки комментариев) выделенные разработчиком для группировки методов и директивы компиляции этих методов.
Пример 1:

Зачем нужна структура кода?
Почему существующий стандарт разработки от фирмы 1С не помогает?

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

Примеры шаблонов в платформе 1С

Прикладной программный интерфейс доступный разработчику при разработке управляемой формы, содержит много примеров данных принципов.
Например метод ОткрытьФорму(), типичный «огрубленный» интерфейс.

Сравните с принятым в v8.1 стилем.

Структурируем код

Источник

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

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