Имя: Пароль:
1C
1С v8
Условие в условии
0 bfss-732
 
08.12.20
14:33
Привет!
Управляемая форма документа. Там есть "РеквизитДок1" с Типом Справочник.... В элементе этого справочника, есть РеквизитСпр1 перечисление (где нужно "ЗначениеПеречис3"). Нужно написать условие при изменении (наКлиенте)
Если Объект.РеквизитДок1= (Значению элементу справочника у которого РеквизитСпр1 имеет  ЗначениеПеречис3) тогда....
Как эту беду написать в процедуре наКлиенте или вообще?
1 ДенисЧ
 
08.12.20
14:34
Сходить на сервер и посчитать запросом
2 Злопчинский
 
08.12.20
14:35
(0) "Значению элементу справочника у которого РеквизитСпр1"
- ну так сначала надо найти элемент справочника (не факт что он один)
3 bfss-732
 
08.12.20
14:40
(1) Запрос к элементу справочника, чтоб узнать ЗначениеПеречис3 у него?
4 Злопчинский
 
08.12.20
14:41
(3) запрос к справочнику, чтобы найти нужный элемент
5 ДенисЧ
 
08.12.20
14:41
(3) Можешь написать запрос в израильское посольство на предоставление гражданства, если тебе это приятней...
6 bfss-732
 
08.12.20
14:42
(5) осталось только леща лупануть по отечиски. Да?)))
7 Злопчинский
 
08.12.20
14:51
(6) угу
8 oslokot
 
08.12.20
14:53
(0)
Если Объект.РеквизитДок1 = ПредопределенноеЗначение("Перечисление.Ы") Тогда
9 Kassern
 
08.12.20
14:56
Чтобы можно было понять "глубину" вопроса, попробую расписать по "людски" на примере. Есть документ РеализацияТоваровУслуг, в нем есть реквизит "Контрагент" (тип справочники Контрагенты). У Контрагента есть реквизит ЮрФизЛицо (тип перечисление). И вот ТС нужно при изменении (хз чего) нужно проверять является ли контрагент физ лицом (на его языке ЗначениеПеречис3). Если я верно перевел с птичьего на людской, то ему нужно всего лишь:

&НаСервере
Функция ЭтоФизЛицо(Контрагент)
  Возврат Контрагент.ЮрФизЛицо=Перечисления.ЮрФизЛицо.ФизЛицо;
Конецфункции
10 1CnikPetya
 
08.12.20
15:03
(9) Только &НаСервереБезКонтекста, вместо &НаСервере.
11 bfss-732
 
08.12.20
15:18
(9) Правильно. спасибо за поправку.
12 Kassern
 
08.12.20
17:13
(10) совершенно верно
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.