Хотелки от пользователей :-)

Автор MWW_Ruza, 19 февраля 2024, 22:01

« назад - далее »

leov-001

Вот вот. Проще в доке упомянуть про такое поведение модального окна.

Djelf

#31
Так, ладно, раз хотелки так хотелки...
Процедура ПриЧтенииНастройки(<?>,) вызывается перед чтением Настройки, т.е. это по факту ПередЧтениемНастройки.
Иногда могут потребоваться некоторые изменения в сохраненных Настройках, но Настройки еще не загружены. Т.е. хочется событие ПослеЧтенияНастройки.
Вариантов костылей для исправления достаточно много, но это дополнительные переменные формы, не так чтобы сложно, но это утомительно и забывается как это работает по факту.
Зачем нужно?
Например баг с загрузкой сохраняемой тз на форму, если еще помните, то это "тз не загружается если фокус на тз"?
Мерд, старый винт унес код костылей с собой, но он не совсем умер, есть шанс восстановить...

Chai Nic

#32
Цитата: leov-001 от 21 февраля 2024, 14:10Вот вот. Проще в доке упомянуть про такое поведение модального окна.
Так непонятно, что в результате делать то, какие поправки и коэффициенты нужно применять на координаты и размеры, если форма модальная и с панелькой?

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

БылаПанель=Форма.ПанельИнструментов();
Форма.ПанельИнструментов(0);
// получаем и устанавливаем размеры
Форма.ПанельИнструментов(БылаПанель);

АЛьФ

Цитата: Djelf от 21 февраля 2024, 14:25Так, ладно, раз хотелки так хотелки...
Процедура ПриЧтенииНастройки(<?>,) вызывается перед чтением Настройки, т.е. это по факту ПередЧтениемНастройки.
Иногда могут потребоваться некоторые изменения в сохраненных Настройках, но Настройки еще не загружены. Т.е. хочется событие ПослеЧтенияНастройки.
Вариантов костылей для исправления достаточно много, но это дополнительные переменные формы, не так чтобы сложно, но это утомительно и забывается как это работает по факту.
Зачем нужно?
Например баг с загрузкой сохраняемой тз на форму, если еще помните, то это "тз не загружается если фокус на тз"?
Мерд, старый винт унес код костылей с собой, но он не совсем умер, есть шанс восстановить...

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

Chai Nic

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

То есть, если тебе надо получить сначала какой-то атрибут, а потом ты хочешь выбрать все атрибуты, учитывая первый, способа этого сделать нет. Сравнивать значения типа Атрибут (если ТекущийАтр=ГлавныйАтр Тогда) нельзя - это объекты, а не значения. Два Атрибута, полученных по одному атрибуту формы, всегда будут разными.

Можно какой-нибудь уникальный ИД к атрибуту прицепить, который бы был однозначно связан с атрибутом формы и был повторяем при повторных обращениях к форме? Атр.Идентификатор - не обязательный и не у всех присутствует.

АЛьФ

Цитата: Chai Nic от 21 февраля 2024, 15:04Есть хотелка по коллекции атрибутов формы. Нужен какой-то способ, чтобы как-то однозначно идентифицировать полученные атрибуты. В настоящее время нет такого.

То есть, если тебе надо получить сначала какой-то атрибут, а потом ты хочешь выбрать все атрибуты, учитывая первый, способа этого сделать нет. Сравнивать значения типа Атрибут (если ТекущийАтр=ГлавныйАтр Тогда) нельзя - это объекты, а не значения. Два Атрибута, полученных по одному атрибуту формы, всегда будут разными.

Можно какой-нибудь уникальный ИД к атрибуту прицепить, который бы был однозначно связан с атрибутом формы и был повторяем при повторных обращениях к форме? Атр.Идентификатор - не обязательный и не у всех присутствует.

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

Chai Nic

Цитата: АЛьФ от 21 февраля 2024, 15:11Можно попробовать использовать атр.Дескриптор. Это значение уникально для всех атрибутов. Но меняется при открытии формы.
Спасибо, работает. Тогда хотелка отменяется.

Злоп

Хочется что-то типа поведения если установить стиль окна без титула - то внизу окна получается внезапно свободное место, и получается некрасиво... Было бы няшно если при установке стиля окна без титула система сама корректировала ВЫСОТУ формы на уменьшение в соответствии с убранным титулом окна. Неудобно дизайнерить в конфигураторе.
Хотелка некритичная, но все же может если это реализуется легко (или сложно т.к. учитывать разное оформление тем в виндах?)?

Злоп

Еще сталкиваюсь с таким?
Рисуешь формы для одного разрешения экрана.
И надо тот же код, но для форм с другим разрешением экрана.
Без извращений это не сделать или сделать топорно путем нскольких копий обработки под разные разрешения экрана.
Я уже подумывал чтобы как-то типа на лету gcomp'ом собирать обработку для нужного разрешения экрана...
Может можно как-то проще? (не знаю как)
.
Типа хотелось бы что-то типа возможность выгрузить описание формы в файл и при открытии обработки В ЗАВИСИМОСТИ ОТ параметров/разрешения экрана загрузить форму из файла..., то есть контекст остается, и меняется только визуальное отображение формы... как-то так типа...
.
И отсюда хочется (и пригодился бы в других местах) что-то типа
Сервис.ПолучитьРазрешениеЭкрана(Высота,Ширина,тутможетбытьпараметрыдляпанелизадачтипаположениеиразмер); где возвращается Высота и Ширина в пикесляхс учетом того что Экран - это может быть область терминального окна...

dedmoroz777

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

АЛьФ

Цитата: dedmoroz777 от 22 февраля 2024, 23:59Забыл уже формекс. Подскажите, есть ли что-вроде ПриВыделенииСтрокиВТаблицеЗначений? То есть, событие, если просто стрелочками вверх-вниз по тз гляем?

Нет, ничего подобного нет.

АЛьФ

Цитата: Злоп от 21 февраля 2024, 21:50Еще сталкиваюсь с таким?
Рисуешь формы для одного разрешения экрана.
И надо тот же код, но для форм с другим разрешением экрана.
Без извращений это не сделать или сделать топорно путем нскольких копий обработки под разные разрешения экрана.
Я уже подумывал чтобы как-то типа на лету gcomp'ом собирать обработку для нужного разрешения экрана...
Может можно как-то проще? (не знаю как)
.
Типа хотелось бы что-то типа возможность выгрузить описание формы в файл и при открытии обработки В ЗАВИСИМОСТИ ОТ параметров/разрешения экрана загрузить форму из файла..., то есть контекст остается, и меняется только визуальное отображение формы... как-то так типа...
.
И отсюда хочется (и пригодился бы в других местах) что-то типа
Сервис.ПолучитьРазрешениеЭкрана(Высота,Ширина,тутможетбытьпараметрыдляпанелизадачтипаположениеиразмер); где возвращается Высота и Ширина в пикесляхс учетом того что Экран - это может быть область терминального окна...


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

Цитата
Процедура ПриЗагрузкеФормы(<?>) КонецПроцедуры
Синтаксис:
Процедура ПриЗагрузкеФормы(<ИмяОбъекта>)КонецПроцедуры
Назначение:
Предопределенная процедура вызывается при загрузке диалога формы.
Параметры:
<ИмяОбъекта> - (Строка) полный путь к объекту, для которого загружается форма
ЗАМЕЧАНИЕ:
В качестве параметра в процедуру передается полный путь к загружаемому объекту внутри md ( список всех форм можно получить с помощью метода СписокВсехФорм / AllFormsList ). Если внутри процедуры изменить значение параметра ИмяОбъекта, то загрузится диалог в соответствии с этим новым путем. Если новый путь задан неверно, то будет загружен тот диалог, который предполагался изначально

Злоп

"Загрузится диалог" - это значит что загрузится только визуальная форма? а модуль останется от контекста инициировавшего такую загрузку или как?

АЛьФ

Цитата: Злоп от 23 февраля 2024, 10:50"Загрузится диалог" - это значит что загрузится только визуальная форма? а модуль останется от контекста инициировавшего такую загрузку или как?
Да, это касается только диалога. Модуль останется тот же. Я так у себя делал как раз для загрузки разных форм для разных уровней прав.
Там только заморочки с атрибутами формы, которые к реквизитом объекта относятся.

Для загрузки модуля формы есть ПриЗагрузкеМодуляФормы().

АЛьФ

Цитата: Злоп от 23 февраля 2024, 10:50"Загрузится диалог" - это значит что загрузится только визуальная форма? а модуль останется от контекста инициировавшего такую загрузку или как?
Смотри новую тестовую сборку.