Как лучше сделать запрет?

1. katy 20.11.07 14:13 Сейчас в теме
Подскажите пожалуйста, как можно запретить создавать пользователю новый документ, если предыдущий документ не проведен.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Abadonna 3968 20.11.07 14:20 Сейчас в теме
А что значит предыдущий? Ваще любой предыдущий этого пользователя, или предыдущий конкретного вида?
Тут телепатьев нема ;)
3. katy 20.11.07 14:21 Сейчас в теме
любой документ пользователя
4. Abadonna 3968 20.11.07 14:28 Сейчас в теме
А конфа какая? Общий реквизит типа "Автор" есть?
5. katy 20.11.07 14:40 Сейчас в теме
Конфа бух.учет, общ. реквизит есть "пользователь"
6. Abadonna 3968 20.11.07 14:53 Сейчас в теме
Ну все равно много переделывать придется... Подумай - оно того стоит?
1. В каждый документ добавить (если не было) процедуру Процедура ВводНового(,)
2. В этой процедуре либо тупым перебором объекта Док=СоздатьОбъект("Документ"), либо запросом
проверять все документы с условием, что Док.Пользователь.Наименование=ИмяПользователя() или как-нить еще (не знаю какого типа реквизит Пользователь...). Кроме того наложить условие, что (Док.ПометкаУдаления()=0) И (Док.Проведен()=0)
Если попадается хоть один такой документ за определенный период (вот тоже проблема - за какой период брать? Если за большой - будет долго выполняться). Так вот, если есть хоть один такой документ в процедуре ВводНового поставить СтатусВозврата(0);
Короче подумай, шибко много в конфе менять придется.
7. Abadonna 3968 20.11.07 14:59 Сейчас в теме
Можно так же фиксировать последний документ, записанный пользователем в справочнике Пользователи (добавить туда реквизит типа Документ)
В процедуры всех документов ПриЗаписи() записываешь в этот реквизит текущий документ
Потом опять-таки в процедуре ВводНового проверяешь проведен ли документ, указанный в этом реквизите.
Если не проведен - опять-таки СтатусВозврата(0)
Но все равно переделок много
8. Pavlovsky 56 20.11.07 15:15 Сейчас в теме
Открывать форму документа в модальном окне. Запретить закрывать документ без проведения.
Хотя линейка стоит дешевле .
9. Abadonna 3968 20.11.07 15:23 Сейчас в теме
Ну еще и так можно, в кнопке ОК вместо #Записать Провести?Закрыть поставить #Записать Провести#Закрыть
Но опять-таки все доки перелопачивать....
Если Конфа стандартная, траблов при обновлении будет множеств
P.S При этом еще кнопки просто Записать убрать с формы или скрыть...
10. Abadonna 3968 20.11.07 15:44 Сейчас в теме
>Запретить закрывать документ без проведения.
А вот это нисся! Если в доке что-то не так и он НЕ МОЖЕТ провестись - юзверь фиг его закроет
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот