|
Блокировка проведения уже проведенного документа но разрешение записи | ☑ | ||
---|---|---|---|---|
0
AlexSandra
28.03.24
✎
09:42
|
Добрый день. Подскажите пожалуйста, как реализовать:
Блокировку проведения уже проведенного документа по признаку выключенного реквизита "Согласовано" но разрешить его запись. Пока реквизит "Согласован" опять не включится. Заранее спасибо) |
|||
1
d4rkmesa
28.03.24
✎
09:45
|
(0) ПередЗаписью проверить РежимЗаписи, например, с условием по Согласован.
|
|||
2
Ёпрст
28.03.24
✎
09:45
|
(0) Чудесное решение, когда данные документа не совпадают с движениями документа. Всегда так делайте, так ошибки искать веселее!
|
|||
3
AlexSandra
28.03.24
✎
09:49
|
1d4rkmesa - После проведения режимЗаписи всегда "Проведен" даже если нажимаешь "Запись".
2Ёпрст - Так может отменить проведение в таком случае? я так понимаю по другому это не решается? |
|||
4
Ёпрст
28.03.24
✎
09:51
|
(3)
Нет. Нужно где-то хранить список реквизитов, которые не участвуют в движениях документа и которые можно безболезненно редактировать. Например, Комментарий. И в ПередЗаписью ужо проверять, что если поменялись только реквизиты из этого списка, то просто запись, иначе - оповещение, что изменились реквизиты, при которых док нужно перепроводить и тогда в сад. т.е отказ = истина. |
|||
5
YFedor
28.03.24
✎
09:52
|
А можно по-подробнее про саму задачу, ибо не понятна вся ее гениальность.
|
|||
6
AlexSandra
28.03.24
✎
10:07
|
4Ёпрст - спасибо)
5YFedor - Это обучабельная задача из курса, нужно блокировать проведение если не стоит флаг согласовано. Но поскольку, вероятно, я сильно не до конца поняла принцип и смысл проведения, мне показалось хорошей идеей оставить возможность записи после проведения, запрещая проведение. Но судя, по посту 4Ёпрст мне стоит внимательно почитать по проведению в целом) |
|||
7
Волшебник
28.03.24
✎
10:19
|
(6) Не надо додумывать.
Процедура ОбработкаПроведения(Отказ, РежимПроведения) Если НЕ Согласовано Тогда Отказ = Истина; КонецЕсли; // ... КонецПроцедуры |
|||
8
AlexSandra
28.03.24
✎
10:24
|
Волшебник - Так мне показалось не полным решением, но похоже вы правы, спасибо)
|
|||
9
d4rkmesa
28.03.24
✎
10:25
|
(3) Разумеется, там же наверняка стоит ПриЗаписиПерепроводить в свойствах формы документа. Значит, надо это как-то обрабатывать (своя команда проведения). Возможно, в задаче в принципе имеется в виду нечто иное, например, решить это через доступность кнопок команд или обработку проверки заполнения.
|
|||
10
Волшебник
28.03.24
✎
10:25
|
(8) Если спросят больше, допишите ещё строчек. Например, неплохо бы добавить сообщение об ошибке, вынести флаг на форму, дать доступ к установке и снятию флага определённым лицам по крутой бизнес-логике.
|
|||
11
mikecool
28.03.24
✎
10:27
|
(6) сначала нужно понять - что делать, а потом уже - делать
не понятно - задавай постановщику вопросы |
|||
12
mikecool
28.03.24
✎
10:29
|
||||
13
Волшебник
28.03.24
✎
10:30
|
А можно ещё замутить бизнес-процесс согласования, где подцеплять документ или сразу список документов. Результат согласования отражать в регистре. Всё это в 1С Документооборот. При открытии документа коннектиться к другой базе (брать уже открытый коннект из кэша) и отражать результат согласования. По щелчку открывать историю согласования (конечно, отчётом на СКД). Учесть при этом язык текущего пользователя, переводить комментарии на язык пользователя.
|
|||
14
AlexSandra
28.03.24
✎
10:45
|
d4rkmesa - Отправила как поняла, будем ждать результата, спасибо)
Волшебник - это уже полноценная дипломная будет) mikecool - шикарная картинка) |
|||
15
Волшебник
28.03.24
✎
10:53
|
(14) Мы такие дипломные каждую неделю делаем.
|
|||
16
AlexSandra
28.03.24
✎
11:44
|
(15) Мне до такого расти и расти)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |