|
Как написать код ограничения | ☑ | ||
---|---|---|---|---|
0
AdamWorld
25.12.19
✎
15:44
|
Я сделал так, создал реквизит ДетиЕсть. Тип Булево Вид: Поле ввода
Записать на него код, что если стоит нет, то я не могу добавить детей, а если да то могу. Вот код но он не работает, можете помочь &НаКлиенте Процедура КолличествоДетейПриИзменении(Элемент) Если элемент. ДетиЕсть = "Нет" Тогда доступ ограничить Если элемент. ДетиЕсть = "Да" Тогда отобразить таблицу КонецПроцедуры |
|||
1
Волшебник
модератор
25.12.19
✎
15:46
|
Если ДетиЕсть = Истина Тогда
или Если ДетиЕсть = Ложь Тогда |
|||
2
Strogg
25.12.19
✎
15:51
|
(1) это если это реквизит формы.
А если реквизит объекта, то, пожалуй, Если Объект.ДетиЕсть = Истина тогда ... иначе ... КонецЕсли |
|||
3
Strogg
25.12.19
✎
15:52
|
можно без "= Истина"
|
|||
4
unenu
25.12.19
✎
15:53
|
ДетиЕсть тип булево не пойдет, там значения такие могут быть
{Да, НеПомню, Надеюсь, АЕслиНайдут} |
|||
5
AdamWorld
25.12.19
✎
16:05
|
(2) Разница в чем не понимаю, между реквизитом формы и реквизитом объекта. Просто новичек
|
|||
6
Timon1405
25.12.19
✎
16:06
|
"если стоит нет, то я не могу добавить детей, а если да то могу" - эта пять!
|
|||
7
SSSSS_AAAAA
25.12.19
✎
16:08
|
(5) Неужто так сложно различать форму и объект?
|
|||
8
Масянька
25.12.19
✎
16:08
|
(5) Обработка, отчет, документ, элемент справочника - это объект.
А форма - это тупо форма. |
|||
9
Kigo_Kigo
25.12.19
✎
16:08
|
Это на каком языке вы все это писали?
(4) Это целый справочник статусов надо Бббгггггг |
|||
10
AdamWorld
25.12.19
✎
16:10
|
(8) ну я сижу на Формеэлемента и ввожу код ПриИзменении
Наверно это реквезит формы |
|||
11
Волшебник
модератор
25.12.19
✎
16:10
|
(8) форма — это тоже объект
|
|||
12
Масянька
25.12.19
✎
16:11
|
+(8) Для документов и справочников: реквизиты этих объектов есть в конфигураторе. Если на нормальном языке - поля таблицы базы данных. С отчетами и обработками чуть по-другому - они (реквизиты объектов) есть внутри отчета, обработки.
А реквизиты формы - они только на форме. |
|||
13
Масянька
25.12.19
✎
16:12
|
(10) Не факт. На форму можно вынести реквизиты объекта.
|
|||
14
pechkin
25.12.19
✎
16:13
|
(12) хорошее объяснение:
реквизиты объекта - только у объекта. реквизиты формы - только у формы |
|||
15
Fish
25.12.19
✎
16:13
|
(11) Это сложно и не по-женски. Для них - это тупо форма :))
|
|||
16
Fish
25.12.19
✎
16:15
|
(14) А с учётом (11) получается "Ой, всё" :))
|
|||
17
Волшебник
модератор
25.12.19
✎
16:16
|
(15) Ну ок. Пусть будет форма. Извините.
|
|||
18
AdamWorld
25.12.19
✎
16:17
|
(1) Все равно не работает (Наверно я что-то не так делаю)
|
|||
19
Fish
25.12.19
✎
16:19
|
(18) Наверное. Но ты спрашивай. Желательно с подробностями: что говорит отладчик.
|
|||
20
Kigo_Kigo
25.12.19
✎
16:21
|
(19) Окей гугл"что такое отладчик в 1с ?" :))))
|
|||
21
Strogg
25.12.19
✎
16:21
|
(18) а (2) работает?:))))
|
|||
22
Fish
25.12.19
✎
16:22
|
(20) Отладчик - это тупо отладчик :))
|
|||
23
Fish
25.12.19
✎
16:23
|
Вангую, что проблема может быть не в условии, а в строках:
Тогда доступ ограничить и Тогда отобразить таблицу |
|||
24
Масянька
25.12.19
✎
16:23
|
(18) Это у тебя что? Отчет, обработка, справочник и пр.
|
|||
25
AdamWorld
25.12.19
✎
16:51
|
(24) справочник
|
|||
26
AdamWorld
25.12.19
✎
17:09
|
(17) &НаКлиенте
Процедура КолличествоДетейПриИзменении(Элемент) Если элемент.ДетиЕсть = "Нет" тогда объект.ИмяТабЧасти.Доступность = Ложь Иначе объект.ИмяТабЧасти.Доступность = Истина КонецЕсли КонецПроцедуры Вот код, типо если ставить нет Табличная часть блочется, а если Да то выводится ошибка 1с |
|||
27
vicof
25.12.19
✎
17:11
|
Доступность может быть у элементов формы, а не у реквизитов объекта.
|
|||
28
vicof
25.12.19
✎
17:11
|
Про булево тебе уже писали выше
|
|||
29
Fish
25.12.19
✎
17:11
|
(26) Код не верный и расходится с данными ранее показаниями.
|
|||
30
vicof
25.12.19
✎
17:12
|
И количество пишется с одной л
|
|||
31
AdamWorld
25.12.19
✎
17:18
|
(29) я не знаю что правильно , поэтому пытаюсь мб получится
|
|||
32
Fish
25.12.19
✎
17:20
|
(31) Это неверный подход. Сначала надо изучить хотя бы основы, тогда сразу поймёшь, как делать правильно и главное: почему так правильно.
|
|||
33
SSSSS_AAAAA
25.12.19
✎
17:21
|
(26)
Процедура КоличествоДетейПриИзменении(Элемент) объект.ИмяТабЧасти.Доступность = (НЕ элемент.ДетиЕсть = "Нет") КонецПроцедуры Не кажется ли вам сей код несколько короче и читабельнее оригинального? |
|||
34
Fish
25.12.19
✎
17:22
|
(33) Но от такой читабельности и лаконичности он рабочим не стал :))
|
|||
35
SSSSS_AAAAA
25.12.19
✎
17:26
|
(34) Разумеется :) Это ж не отладка, а рефакторинг. :)
|
|||
36
AdamWorld
25.12.19
✎
17:48
|
(33) &НаКлиенте
Процедура ДетейПриИзменении(Элемент) Если Объект.ДетиЕсть тогда ЭтаФорма.Элементы.Дети.Доступность = Истина Иначе ЭтаФорма.Элементы.Дети.Доступность = Ложь КонецЕсли КонецПроцедуры ну вот такой крч в итоге у меня |
|||
37
Кодер
25.12.19
✎
17:50
|
(36) Сокращается до ЭтаФорма.Элементы.Дети.Доступность = Объект.ДетиЕсть
|
|||
38
AdamWorld
25.12.19
✎
17:57
|
(37) ну я не сверх разум) Учту в дальнейших изучения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |