Удобный выбор из таблицы/дерева в УФ
Разработка - Практика программирования
Нажимали мы на "педальку" в поле ввода, и надо было нам выбрать значения...
Раньше у нас был метод "ВыбратьСтроку", открывавший модальное окно таблицы или дерева. В УФ ради этого приходилось делать отдельные формы, или сводить всё к выбору из списка.
С помощью нововведения последних релизов - "всплывающей" группы элементов - это можно эмулировать, и весьма неплохо.
Ранее у группы элементов было два поведения - обычное и свёртываемая. Теперь добавилось "всплывающая". Она может раскрываться, как и свёртываемая, по иконке или по гиперссылке; обязательно должна иметь непустой заголовок и установленный флаг "Отображать заголовок", по масштабированию не зависит от остальных объектов формы, и отображается как всплывающая мини-форма с крестиком закрытия; по возможности там, откуда вызвали (иногда, при вызове снизу экрана, выкручивается "вверх"). Одновременно может показываться только одна всплывающая группа. При переключении на родительскую форму исчезает. Свёртываемые формы внутри себя отрабатывает штатно. Всплывающие внутри всплывающих ведут себя как свёртываемые (а не как каскад). Можно использовать методы "Показать()" и "Скрыть()", см. СП в расширении групп формы, но они в нашем случае оставляют маленький, но раздражающий заголовочек, поэтому будем менять видимость.
В приведённом примере эмулируется хорошо всем знакомое по конструктору запросов выпадающее дерево - когда из поля ввода раскрывается иерархически управляемый список полей, где можно выбрать нужное поле и выбор закроется. Итак:
&НаКлиенте
Процедура ПоказатьВсплывающуюГруппу()
// можно ещё Элементы.ВсплывающаяГруппа.Показать();
ЭтотОбъект.ТекущийЭлемент=Элементы.ДеревоВыбора;
КонецПроцедуры
&НаКлиенте
Процедура СкрытьВсплывающуюГруппу()
Если ЭтотОбъект.ТекущийЭлемент()<>Элементы.ДеревоВыбора и Элементы.ВсплывающаяГруппа.Видимость Тогда
Элементы.ВсплывающаяГруппа.Видимость=Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НекоеПолеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка=Ложь;
элДерева=ДеревоВыбора.ПолучитьЭлементы();
Если элДерева.Количество()=0 Тогда Возврат КонецЕсли;
Элементы.ВсплывающаяГруппа.Видимость=Истина;
идстро1=элДерева.Получить(0).ПолучитьИдентификатор();
//Элементы.ДеревоВыбора.Развернуть(идстро1,Истина); // если надо
Элементы.ДеревоВыбора.ТекущаяСтрока=идстро1;
ПодключитьОбработчикОжидания("ПоказатьВсплывающуюГруппу",0.1,Истина);
ПодключитьОбработчикОжидания("СкрытьВсплывающуюГруппу",1);
КонецПроцедуры
&НаКлиенте
Процедура ДеревоВыбораПриАктивизацииСтроки(Элемент)
текдан=Элементы.ДеревоВыбора.ТекущиеДанные;
Если текдан=Неопределено Тогда Возврат КонецЕсли;
Если текдан.ПолучитьЭлементы().Количество()=0 Тогда
НекоеПоле=текдан.Поле1;
ЭтотОбъект.ТекущийЭлемент=Элементы.НекоеПоле;
Элементы.ВсплывающаяГруппа.Видимость=Ложь;
КонецЕсли;
КонецПроцедуры
На форме размещаем нужное поле, чьё событие "НачалоВыбора" перехватываем (при желании можно и другие события, например, просмотр по "лупе"); размещаем всплывающую группу (в качестве заголовка можно пробел, да-да), и на ней - наше дерево (или таблицу, или форматированный документ, или другую красивость). Дереву подключим событие активации строки, оно у нас обслуживает быстрый выбор и скрытие группы.
Подобный подход позволяет меньше беспокоиться о взаимном выравнивании и втискивании нужных элементов на форму, вообще экономит место; не разводит "зоопарк" открытых окон и форм, в т.ч. блокирующих владельца; открывает данные контекстно, визуально привязывая к нужному месту формы, и вообще даёт простор для фантазии, т.к. содержимое таких форм и их самих, конечно, можно генерить программно по ходу дела.
Тестировалось на 8.3.13.1690.
Специальные предложения
См. также
Альтернативный способ добавления элементов и реквизитов на формы 34
1 стартмани
09.09.2019 4193 6 bmk74 0
Перенос документов и справочников ERP 2 / КА 2 / УТ 11 => БП 3.0 Промо
Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Предоставляем техподдержку по всем вопросам данного обмена. Можем подключиться к вам удаленно для разбора ситуаций. Оперативно обновляем при выходе новых релизов 1С. Бесплатные обновления в течение полугода.
19700 руб.
Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо
Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.
29700 руб.
Перенос данных УПП 1.3 => ERP 2 (ЕРП) / УТ 11 / КА 2.х (обработка переноса документов, остатков и справочников из "1С:Управление производственным предприятием, ред. 1.3" в ERP / УТ 11 / КА 2). Обновлен до УПП 1.3.127.х, КА 2.4.10.х и ERP 2.4.10.х! Промо
Обработка позволяет переносить из УПП 1.3 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления при выходе новых релизов конфигураций 1С.
29700 руб.
Цифровая подпись Cades-BES для XML средствами 1С с помощью КриптоПро 6
1 стартмани
13.05.2019 4500 12 PythonJ 25
Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо
Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!
29700 руб.
Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо
Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).
29700 руб.
Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо
Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.
24700 руб.
Расширение "Курсы валют в формулах расчета динамических цен" для УНФ 1.6 5
5 стартмани
17.01.2019 6801 13 Palmer1976 4
Подборка решений для взаимодействия со ФГИС «Меркурий» Промо
С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.
Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 180
5 стартмани
09.01.2019 25293 229 informa1555 189
Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо
Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).
от 11000 до 29000 рублей
Новогодние скидки на авторское ПО Промо
В преддверии праздника в Маркетплейсе на Инфостарт действует скидка на все платные авторские программы. Размер скидок начинается от 10%. Советуем не откладывать покупки, многие наши партнеры повышают цены на свои продукты именно в начале нового года.
Обнуление остатков регистров бухгалтерии и накопления 42
2 стартмани
19.11.2018 11628 186 morozov.sv 30
Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо
Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.
7500 рублей
Правила обмена данными из Бухгалтерии предприятия ред. 3.0 в Управление производственным предприятием ред. 1.3 2
3 стартмани
06.11.2018 6043 байт 0
Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо
Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.
4500/9500 рублей
1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо
Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.
6500 рублей
Универсальный инструмент для переноса данных через табличный документ (УФ) 36
5 стартмани
15.10.2018 17184 97 json 32