1. 1Eset 28.06.20 21:35 Сейчас в теме

Как сохранить работу команды в ФОРМЕ?

Добрый вечер! Я думаю задам простой вопрос, как сохранить работу кода команды?
Я сделал команду, которая проверяет заполнение реквизитов и в конце пользователь соглашается ДА или НЕТ, и форма почти вся блокируется. Пользователь нажимает записать и закрыть, и типо всё)

НО нет! После закрытия можно снова открыть форму, а так как я поставил в свойствах "Автоматическое сохранение данных формы в настройках", там сохраняются флажки, которые заполнил пользователь, но форма разблокированная :(

Под блокировкой я имею Доступность = ложь

Как сделать так, чтобы всё сохранилось и в последующем пользователь не смог ничего сделать в форме?
Вознаграждение за ответ
Показать полностью
Найденные решения
3. uno-c 141 29.06.20 01:31 Сейчас в теме +0.3 $m
В событии формы ПриОткрытии - проверьте, если реквизиты автоматически заполнились - а значит заполнились они на основании сохраненных данных формы - так вот если заполнились - то вызывайте свою процедуру, где Доступность = Ложь.
11. 1Eset 29.06.20 21:54 Сейчас в теме
(10) Короче Вам большое спасибо!!! Я сделал почти так))) я просто создал новый реквизит с типом булева и добавил его в условия проверки реквизитов с последующим их сохранением, и когда человек соглашается с проверкой жмёт ДА, форма блокируется, а потом ПриОткрытии срабатывает проверка того самого реквизита, если он стоит в ИСТИНА, то форма блокируется, если нет, то нет! Всё оказалось гениально просто, а я выдумывал сложные схемы)))
Остальные ответы
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 977 28.06.20 22:31 Сейчас в теме
(1) вам нужно сделать реквизит или регистр в который будет этот признак записывать.
При открытии формы его проверяете и если нашли, то выполняете ваш код.
3. uno-c 141 29.06.20 01:31 Сейчас в теме +0.3 $m
В событии формы ПриОткрытии - проверьте, если реквизиты автоматически заполнились - а значит заполнились они на основании сохраненных данных формы - так вот если заполнились - то вызывайте свою процедуру, где Доступность = Ложь.
5. 1Eset 29.06.20 17:14 Сейчас в теме
(3)
В событии формы ПриОткрытии - проверьте, если реквизиты автоматически заполнились - а значит заполнились они на основании сохраненных данных формы - так вот если заполнились - то вызывайте свою процедуру, где Доступность = Ложь.


Мне понравился этот читерский способ)))) Работает хорошо, но человек теперь сохранить не может и заполнить позже)) она блокируется)))
6. Xershi 977 29.06.20 17:26 Сейчас в теме
(5) потому что логика не корректная...
8. uno-c 141 29.06.20 17:45 Сейчас в теме
(5)Ну Вы определитесь, что Вам надо. Я отвечал на вопрос "Как сделать так, чтобы всё сохранилось и в последующем пользователь не смог ничего сделать в форме?"
10. uno-c 141 29.06.20 18:04 Сейчас в теме
(5) Если нужен путь для отступления - сделайте как в типовых конфигурациях. Там, например, при попытке редактирования кода элемента справочника Номенклатура, выдается предупреждение, типа точно ли Вы хотите отредактировать код (ибо нефиг), и если ответ утвердительный - только тогда появляется возможность редактирования.
11. 1Eset 29.06.20 21:54 Сейчас в теме
(10) Короче Вам большое спасибо!!! Я сделал почти так))) я просто создал новый реквизит с типом булева и добавил его в условия проверки реквизитов с последующим их сохранением, и когда человек соглашается с проверкой жмёт ДА, форма блокируется, а потом ПриОткрытии срабатывает проверка того самого реквизита, если он стоит в ИСТИНА, то форма блокируется, если нет, то нет! Всё оказалось гениально просто, а я выдумывал сложные схемы)))
7. Sashares 18 29.06.20 17:28 Сейчас в теме
(3)
В событии формы ПриОткрытии

Это событие называется ПриЗагрузкеДанныхИзНастроекНаСервере, в котором загружаются сохраненные настройки.
9. uno-c 141 29.06.20 17:51 Сейчас в теме
(7) Кстати, да. ПриЗагрузкеДанныхИзНастроекНаСервере - это самое подходящее, а не ПриОткрытии.
4. portwein 29.06.20 07:30 Сейчас в теме
Сохранять признак "РедактированиеФормыЗавершено" (или как Вам захочется его назвать) либо в объекте, если это форма обекта, либо в регистре (например в реквизите) если это форма записи регистра, либо просто создать регистр. При открытии признак "РедактированиеФормыЗавершено" проверять - если завершено, тогда "Доступность = Ложь;"
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день