|
Исключить выбор перечисления в реквизите | ☑ | ||
---|---|---|---|---|
0
NIGHTHUNTER
14.04.22
✎
14:13
|
Пользователю, нельзя дать возможность, выбрать одно из значений перечисления.
Если у одного значения табличной части, есть галки. В какой процедуре свойств поля это нужно делать? Подскажите пожалуйста. ПриИзменении() не подойдет наверное. НачалоВыбора() ОбработкаВыбора() ? |
|||
1
1Сергей
14.04.22
✎
14:14
|
НачалоВыбора
|
|||
2
dreizehn
14.04.22
✎
14:16
|
(1) А он ручками, текст введет =)
(0) Проверять при записи, грязно ругаться и не давать записать. Грязо ругаться умеешь? |
|||
3
NIGHTHUNTER
14.04.22
✎
14:20
|
(1) Сейчас буду пробовать, поставил точки останова.
(2) Нужно при вводе, не дать ему выбрать это значение. если в табличной части есть галки, в одном из полей. |
|||
4
Kassern
14.04.22
✎
14:21
|
создайте свое поле с блек джеком и списком выбора с нужными элементами.
|
|||
5
dreizehn
14.04.22
✎
14:22
|
(3) Сначала выбираем запрещенное значение, а потом ставим галку. Жизнь становится еще интереснее.
|
|||
6
NIGHTHUNTER
14.04.22
✎
14:23
|
(1) А как ей пользоваться? если выбранное значение есть только в процедуре ОбработкаВыбора()
ОбнработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) |
|||
7
DimG
14.04.22
✎
14:24
|
Правильно это заполнить ПараметрыВыбора при НачалоВыбора
|
|||
8
dreizehn
14.04.22
✎
14:27
|
(7) Правда всегда одна. Это сказал фараон. Он был очень умен. И за это его называли. Тутанхамон.
=) |
|||
9
NIGHTHUNTER
14.04.22
✎
14:59
|
А как присвоить пустое значение реквизиту типа перечисление, если нельзя выбирать значение?
|
|||
10
Kassern
14.04.22
✎
15:00
|
(9) ТвоеПолеСПеречисление=Перечисления.ТвоеПеречисление.ПустаяСсылка()
|
|||
11
Kassern
14.04.22
✎
15:00
|
Скорее всего можно и еще проще, прописать ТвоеПолеСПеречисление="";
|
|||
12
NIGHTHUNTER
14.04.22
✎
15:01
|
(10) А Неопределено можно?
|
|||
13
NIGHTHUNTER
14.04.22
✎
15:01
|
(11) Даже пусто можно? Кавычки?!
|
|||
14
Kassern
14.04.22
✎
15:02
|
(12) (13) Конфигуратор в руки и веред, проверить это 1минута
|
|||
15
NIGHTHUNTER
14.04.22
✎
15:02
|
(14) Я это делаю. Продолжительно грузится стоит. Занимаюсь. Продвигаюсь к цели.
|
|||
16
dreizehn
14.04.22
✎
15:04
|
Предлагаю присвоить 0, это сэкономит нажатия на кнопки и ресурс клавиатуры. Насколько я помню, для Андрея это критично.
|
|||
17
dreizehn
14.04.22
✎
15:05
|
(15) Вот представь себе, насколько ты уже свою клавиатуру испортил бестолковыми нажатиями для пустого общения на форуме?
|
|||
18
NIGHTHUNTER
14.04.22
✎
15:21
|
не получается через неопределено обнулить реквизит типа перечисления, значение в нем остается
делаю на клиенте Объект.СтатусНарядЗадания = Неопределено; ничего это не дает. |
|||
19
NIGHTHUNTER
14.04.22
✎
15:22
|
(18+) В отладчике обнуляется. А на форме остается.
|
|||
20
Kassern
14.04.22
✎
15:22
|
(19) это точно из серии 18+))
|
|||
21
NIGHTHUNTER
14.04.22
✎
15:24
|
(20) Как обнулить? На форме не исчезает, только в отладчике.
|
|||
22
NIGHTHUNTER
14.04.22
✎
15:25
|
может нужно на сервере обнулять?
|
|||
23
dreizehn
14.04.22
✎
15:25
|
Интересно, а нет ли в "обнуляется" политического подтекста?
|
|||
24
NIGHTHUNTER
14.04.22
✎
15:27
|
в чем ошибка? Почему остается значение, хотя обнулилось в отладчике?
|
|||
25
Kassern
14.04.22
✎
15:27
|
(21) а в элементе формы какой путь к данным прописан?
|
|||
26
NIGHTHUNTER
14.04.22
✎
15:30
|
(25) Объект.СтатусНарядЗадания
|
|||
27
Kassern
14.04.22
✎
15:31
|
(26) Попробуйте вместо неопределено присвоить пустую ссылку на перечесление
|
|||
28
NIGHTHUNTER
14.04.22
✎
15:32
|
(27) Пробую сейчас
|
|||
29
NIGHTHUNTER
14.04.22
✎
15:34
|
(26) Все равно остается
Объект.СтатусНарядЗадания = ПредопределенноеЗначение("Перечисление.НарядЗаданиеСтатус.ПустаяСсылка"); |
|||
30
NIGHTHUNTER
14.04.22
✎
15:35
|
В отладчике его нет, но на форме в поле есть
|
|||
31
NIGHTHUNTER
14.04.22
✎
15:36
|
делаю в процедуре обработка выбора, какой тут секрет?
&НаКлиенте Процедура Закупки_ХХХ_СтатусНарядЗаданияОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Если ПроверкаВыбораПринятоОТКНаСервере() и ВыбранноеЗначение = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПринятоОТК") Тогда Объект.ХХХ_СтатусНарядЗадания = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПустаяСсылка"); Объект.ХХХ_СтатусНарядЗадания = 0; Объект.ХХХ_СтатусНарядЗадания = Неопределено; КонецЕсли; КонецПроцедуры // |
|||
32
Kassern
14.04.22
✎
15:37
|
(31) беда...
|
|||
33
NIGHTHUNTER
14.04.22
✎
15:38
|
(32) В чем? Что поправить?
|
|||
34
Kassern
14.04.22
✎
15:38
|
(33) зачем вы 3 раза переприсваиваете Объект.ХХХ_СтатусНарядЗадания?
|
|||
35
Kassern
14.04.22
✎
15:38
|
зачем это делаете на клиенте?
|
|||
36
NIGHTHUNTER
14.04.22
✎
15:39
|
(31+) По разному сбросить значение пытаюсь уже
|
|||
37
NIGHTHUNTER
14.04.22
✎
15:39
|
(34) Потому что не работает, долго обновляется, я пробовал все три варианта. Не работает, решил все три попробовать
|
|||
38
NIGHTHUNTER
14.04.22
✎
15:43
|
Подскажете секрет, почему в табло значение пропадает в (31), а на форме нет ?
Что ещё обнулять, как? |
|||
39
unbred
14.04.22
✎
15:44
|
если выбранное значение = "запретное значение" тогда
выбранное значение = прошлое значение сообщить("ацтань,пратиный"); конецесли; |
|||
40
NIGHTHUNTER
14.04.22
✎
15:45
|
пропадает оно в отладчике к стати только в этой процедуре (31)
после перехода в другую оно снова появляется |
|||
41
unbred
14.04.22
✎
15:45
|
(38) потому что ты, скорее всего, в (26) наврал
|
|||
42
unbred
14.04.22
✎
15:46
|
в топике у тебя не было задачи по обнулению.
|
|||
43
Kassern
14.04.22
✎
15:46
|
(38) А вы на кой с табло то сравниваете? На Сервере присвойте пустую ссылку вашему реквизиту
|
|||
44
NIGHTHUNTER
14.04.22
✎
15:47
|
(43) тогда нужно с клиента на сервер передавать, выбранное значение
&НаКлиенте Процедура Закупки_ХХХ_СтатусНарядЗаданияОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) |
|||
45
Kassern
14.04.22
✎
15:48
|
(44) И в чем проблема?
|
|||
46
NIGHTHUNTER
14.04.22
✎
15:51
|
(45) Сейчас буду пробовать, подумал что может стандартную обработку нужно в ложь? Пробую.
Проблема в утомлении. Я пробую сейчас эти моменты. |
|||
47
NIGHTHUNTER
14.04.22
✎
15:59
|
Вот так работает, если так оставить, будет ли нормально?
&НаКлиенте Процедура Закупки_ХХХ_СтатусНарядЗаданияОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) СтандартнаяОбработка = ложь; Если ПроверкаВыбораПринятоОТКНаСервере() и ВыбранноеЗначение = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПринятоОТК") Тогда Объект.ХХХ_СтатусНарядЗадания = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПустаяСсылка"); Иначе Объект.ХХХ_СтатусНарядЗадания = ВыбранноеЗначение; КонецЕсли; КонецПроцедуры |
|||
48
NIGHTHUNTER
14.04.22
✎
16:05
|
Странно, но если я ставлю в ложь в (47) почему то перестала запускаться процедура при изменении
|
|||
49
Kassern
14.04.22
✎
16:07
|
создайте внешнюю обработку и балуйтесь в ней с событиями реквизитов формы, чтобы долго не ждать обновления конфигурации. А перед этим почитайте за эти события и что значит СтандартнаяОбработка
|
|||
50
NIGHTHUNTER
14.04.22
✎
16:10
|
(49) То есть, так и есть? Вызов процедуры ПриИзменении, не производится, потому что я ставлю стандартную обработку в ложь?
Значит после КонецЕсли, нужно ее в истину вернуть? |
|||
51
NIGHTHUNTER
14.04.22
✎
16:15
|
(49) я думал, стандартная обработка устанавливается в разрезе процедуры, на другую не распространяется
|
|||
52
NIGHTHUNTER
14.04.22
✎
16:27
|
я обнуляю на сервере, но все равно значение не обнулилось ((((
Объект.ХХХ_СтатусНарядЗадания = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПустаяСсылка"); |
|||
53
NIGHTHUNTER
14.04.22
✎
16:28
|
(43) это не работает
|
|||
54
NIGHTHUNTER
14.04.22
✎
16:34
|
Как можно обнулить значение реквизита, типа перечисление?
|
|||
55
NIGHTHUNTER
14.04.22
✎
16:35
|
не работает
&НаСервере Процедура ПроверкаВыбораПринятоОТКНаСервере(МАСС) ЧастичноПринято = Объект.ХХХ_Товары.Выгрузить().Найти(Истина,"ЧастичноПринято"); Если ЧастичноПринято <> Неопределено и МАСС[0].ВыбранноеЗначение = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПринятоОТК") Тогда Объект.ХХХ_СтатусНарядЗадания = Перечисления.ХХХ_НарядЗаданиеСтатус.ПустаяСсылка(); КонецЕсли; КонецПроцедуры так же, в процедуре обнуляет, при переходе в другую там значение и на форме так же остается |
|||
56
vde69
14.04.22
✎
16:50
|
кодить не надо от слова совсем...
установить "режим выбора из списка" и заполнить список выбора |
|||
57
dreizehn
14.04.22
✎
17:21
|
(56) > кодить не надо
Читать тоже. Там разные списки в зависимости от настроения галочки в табличной части. |
|||
58
NIGHTHUNTER
15.04.22
✎
04:42
|
Вот решение данного вопроса.
Суть, была в том, что нужно обнулять не реквизит, а переменную ВыбранноеЗначение. // &НаКлиенте Процедура Закупки_ХХХ_СтатусНарядЗаданияОбработкаВыбораПосле(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Если ПроверкаВыбораПринятоОТКНаСервере2() и ВыбранноеЗначение = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПринятоОТК") Тогда ВыбранноеЗначение = ПредопределенноеЗначение("Перечисление.ХХХ_НарядЗаданиеСтатус.ПустаяСсылка"); КонецЕсли; КонецПроцедуры // &НаСервере Функция ПроверкаВыбораПринятоОТКНаСервере2() ЧастичноПринято = Объект.ХХХ_Товары.Выгрузить().Найти(Истина,"ЧастичноПринято"); Если ЧастичноПринято <> Неопределено Тогда Возврат Истина; КонецЕсли; Возврат Ложь; КонецФункции // |
|||
59
NIGHTHUNTER
15.04.22
✎
04:43
|
(56)(57) С этими методиками не знаком. Пока вот решил, имеющимися средствами.
|
|||
60
DEVIce
15.04.22
✎
05:14
|
Не проще через выбор из списка и заполнить только разрешенными значениями?
|
|||
61
NIGHTHUNTER
15.04.22
✎
06:35
|
(60) На что хватило сил.
Я сделал то что мне было проще. Это же можно сделать, разными методами и возможностями. Я вот сделал какой мне был ближе. и то с переделками разными. Какой из методов, показался ближе. тот и стал рассматривать. На прочие, которые ближе кому то, у меня не хватило уже энергии. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |