Имя: Пароль:
1C
1С v8
Как делать недоступными поля, которые заполняются при вводе на основании
0 DirecTwiX
 
11.04.14
15:55
Я понимаю, что вариантов много. Есть подозрение, что есть правильный)

Т.е., например, документ Б вводится на основании документа А:
Б.Контрагент = А.Контрагент.
Как при открытии формы сделать поле контрагента недоступным.

Спасибо
1 Wobland
 
11.04.14
15:57
ты же понимаешь, что форме пофих, каким образом появился её документ?
2 butterbean
 
11.04.14
15:58
проверять документоснование, например
3 Enders
 
11.04.14
15:59
Проверяешь есть ли документ основание, если есть - запрещаешь нужные поля для редактирования.
4 DirecTwiX
 
11.04.14
16:00
А если документ основание можно на форме руками выбрать?) У нового документа.
Сделать ещё один реквизит для основания? Не красиво..
5 DirecTwiX
 
11.04.14
16:04
Я пока склоняюсь к ДополнительнымСвойствам. Думал, может у платформы есть такая возможность..
Всем спасибо!
6 Михаил Козлов
 
11.04.14
16:04
В модуле объекта в обработке заполнения в экспортную переменную модуля натолкать список реквизитов, а в форме сделать недоступными элементы.
7 DirecTwiX
 
11.04.14
16:08
(5) (6)
А если потом переоткрыть документ, то будет плохо..
8 Drac0
 
11.04.14
16:10
Хм. При создании на сервере пробегаешь по метаданным основания, сморишь заполнение значения и блокируешь по "ПутьКДанным" соответствующие элементы формы.
9 Михаил Козлов
 
11.04.14
16:21
(7) Ну так натолкать их в реквизит документа.
Имена реквизитов основания могут не всегда совпадать с именами реквизитов создаваемого. Например, в ППВ на основании заказа реквизит ТЧ РасшифровкаПлатежа Сделка соответствует ссылке в основании, а СуммаВзаиморасчетов = СуммаДокумента.
Либо где-то прописать, какие реквизиты основания каким реквизитам соответствуют.
10 Enders
 
11.04.14
16:32
(4) ну в чем проблема то?
Пишешь процедуру УстановитьДоступность реквизитов, которую вызываешь при открытии и при изменении реквизита формы "ДокументОснование".
11 Drac0
 
11.04.14
16:37
(10) И как узнаешь, какие нужно лочить? :-)

(9)Есть нормальный вариант: в конце обработки заполнения на основании запускаешь процедуру, которая пробегает по реквизитам текущего объекта, смотрит, заполнены ли они, и имя реквизита содержащего значение помещает в массив (т.е. очевидно, что он введен на основании, но есть нюанс с булевыми) ,потом помещает этот массив в ДопХарактеристики. ПриСоздании на Сервере получаем этот массив и по нему лочим поля.
12 DirecTwiX
 
11.04.14
17:13
(11) Не понимаю тебя.. Ты предлагаешь использовать ДополнительныеСвойства? Если записать документ, закрыть, открыть, то доп. свойства очистятся
13 kotoffstein
 
11.04.14
17:21
Добавь регистр сведений в котором можно перечислить блокируемые поля
14 Drac0
 
11.04.14
19:06
(12) Не, класть этот массив в регистр с допхарактеристиками объектов или создать свой регистр исключительно для этой задачи.