Имя: Пароль:
1C
1С v8
Программно запретить команду ввода на основании, УФ
, , ,
0 senior
 
23.08.16
09:28
В зависимости от значения реквизитов, должна регулироваться доступность команд ввода различных документов на основании данного. Как?
1 Горогуля
 
23.08.16
09:30
в обработке заполнения и смотри
2 Ёпрст
 
23.08.16
09:32
(0)
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
   Если какаятоХрень Тогда
        ВызватьИсключение("Какая-тохрень, не будем ничего заполнять");
КонецЕсли;
КонецПроцедуры
3 senior
 
23.08.16
09:32
(1) Мне надо, не после нажатия проверить возиожность, а саму команду сделать недоступной. Т.е. например поменяли реквизит, кнопка стала недоступна
4 senior
 
23.08.16
09:33
Не нашел вообще средств, как сделать команду недоступной, только если обращаться к самой командной панели/кнопке
5 Stepa86
 
23.08.16
09:34
Типовые отключи и нарисуй свои. Ими и управляй
6 Горогуля
 
23.08.16
09:35
(5) обходится
7 Stepa86
 
23.08.16
09:41
(6) Как? Для интерфейсного удобства и защиты от дурака вполне достаточно управлять элементами на формах. Для запрета наверняка - (2)
8 Fragster
 
гуру
23.08.16
09:54
9 senior
 
23.08.16
09:55
(7) да понятно, что можно костыльно отключить доступность кнопок, но хочется нормального решения. Эта команда доступна в двух местах, и нормальное решение отключить командуу, а не 100500 кнопок
10 senior
 
23.08.16
09:55
(8) галимо, но спасибо за оф. ссылку
11 kiruha
 
23.08.16
10:09
Есть 2 способа
1) Рекомендуемый - вызвать исключение - красная кака на экране
2) Человеческий - создать доп переменную ОтказВводНаОсновании , при вводе на основании ставить в Истина. При создании на сервере если она истина - отказ в создании
12 Fragster
 
гуру
23.08.16
10:16
(11) это не человеческий, зачем плодить реквизиты? тогда уж в в модуль менеджера функцию и проверять в том же ПриОткрытии, но это не спасет от того, что ты программно для ДокументОбъект вызовешь Заполнить, а функцию проверки забудешь вызвать.
13 Cyberhawk
 
23.08.16
10:26
Автор походу еще захочет, чтобы в форме списка при активизации строки тоже подменю ввода на основании то становилось доступным, то недоступным...
14 hitodom
 
23.08.16
10:27
(11) А чем красная кака плоха?
15 Stepa86
 
23.08.16
10:28
(13) ты так говоришь, как будто это что то плохое
16 Cyberhawk
 
23.08.16
10:34
(15) Серверный вызов на каждый клик по строке...
17 Stepa86
 
23.08.16
10:37
(16) И что? Это сильно тормозит и нагружает систему в данный момент? Это мешает работе пользователя? Или он и не заметит задержки, но интерфейс будет понятнее? Вон во всяких формах подбора вообще дофига всего происходит по активации, например, отображение изображения.
18 Cyberhawk
 
23.08.16
10:46
(17) В общем случае программа должна не умничать (скрывая команду ввода на основании для одного документа и показывая ее для другого без объяснения причин), а подсказывать и объяснять (почему тут сработал запрет). В частном случае для дубовых пользователей конечно рисуется специализированный интерфейс (АРМ), но типовой список документов с командой ввода на основании к последнему вряд ли можно отнести...
19 Stepa86
 
23.08.16
10:52
(18) Ну тут уже 2 разных вопроса. 1) С точки зрения программирования - лишний вызов сервера, хотя я ожидал, что после изменений в отрисовке элементов (в 8.3.6 вроде) смена доступности у кнопки не будет дергать сервер. 2) С точки зрения юзабилити - как пользователю сделать понятнее. Именно в этом случае можно кнопку ввода на основании делать недоступной и в подсказку писать причину.

Относительно типового списка - он же универсальный шо пипец. 80% того, что можно ввести на основании на данном предприятии не используется или даже вредит с точки зрения учета, поэтому напрашивается выпилить лишнее. Проблемы обновление это все же другой момент и нужно расставить приоритеты - делаем мы в первую очередь хорошо пользователю и/или заказчику или делаем хорошо программисту.
20 kiruha
 
23.08.16
11:21
(14)
Пугает пользователя ошибкой - тот пишет в сервис деск
21 Cyberhawk
 
23.08.16
11:38
(19) Все так.
К сожалению, нельзя сделать подсказку к командам, размещенным в подменю :(
Это может понадобиться, если нужно выборочно управлять доступностью команд ввода на основании, а не все сразу блокровать...
22 Cyberhawk
 
23.08.16
11:38
(20) В сервис-деске его посылают читать сообщение, либо читать инструкцию (если нет - пишут) :)