Понять в каком режиме открыта форма элемента/документа

Автор Харлампий Дымба, 03 апреля 2026, 20:48

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

Злоп

даже если была бы глобальная ПриОткрытии() - как бы получилось извернуться используя только её?

Харлампий Дымба

Цитата: Злоп от 07 апреля 2026, 23:01даже если была бы глобальная ПриОткрытии() - как бы получилось извернуться используя только её?
Я подумал - никак.

Наверное, всё уже есть, надо будет проверить
Там выше был кусок кода в глоб.модуле.
Глобальная__ПриОткрытии:
//запоминаем Форма.Параметр, Форма.ТолькоПросмотр() и метку, если есть
ПослеОткрытия:
//анализируем попадание в условия, закрываем открытую форму, если попали
ПослеЗакрытия:
//открываем новую форму с учетом метки и параметра

Наверное так должно сработать.






Злоп


Злоп

Цитата: Харлампий Дымба от 07 апреля 2026, 23:21Я подумал - никак.
Штрилиц подумал.
Ему понравилось и он решил подумать ещё раз.


Харлампий Дымба

Разрывная - пораскинул мозгами Штирлиц.

Цитата: Злоп от 07 апреля 2026, 23:32Отпишись потом что получилось
Не получилось. Не проканало - ПослеЗакрытия забирает с собой и переоткрытую форму.

Тут ещё вот в чём заковыка: как оказалось, код в некоторых формах предполагает возможность изменения объекта, если Форма.ТолькоПрсомотр(1). Например, "крыж" - то есть рядовой бух может открыть документ из заблокированного периода ( форма открыта в режиме редактирования, но при этом встанет флаг Форма.ТолькоПросмотр(1), сравнить с бумажным оригиналом и поставить "крыж" (нажатием кнопки реквизит "Сверка" Число 1.0 документа) - при этом документ будет записан и закрыт. Так вот, если документ будет открыт/переоткрыт в режиме только чтения, то любые изменения реквизитов будут проигнорированы, поставить "крыж" не получится - надо будет менять подход. Мы недавно тут разбирались с этим.

Т.е. я хотел универсального решения, но если оно будет мешать работать уже работающему, то такое решение не подойдёт. Ну и плюс моргание на переоткрытие, и куча лишнего кода с проверками при открытии любой формы.

То что коллеги расписали, в любом случае пригодится - и для расширения кругозора, и как образец кода / подхода. Спасибо, а эту задачку я пока отложу в ящик.




item

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

Злоп

Цитата: Харлампий Дымба от Вчера в 22:54сравнить с бумажным оригиналом и поставить "крыж" (нажатием кнопки реквизит "Сверка" Число 1.0 документа)
.
такие штуки можно делать по той же кнопке "сверено", только порождать событие, которое сработает (ГМ) после закрытия по этой кнопке, формы уже нет, просто меняешь документ и все.

Злоп

Цитата: Харлампий Дымба от Вчера в 22:54ПослеЗакрытия забирает с собой и переоткрытую форму.
вот это не понял...