|
Как делать недоступными поля, которые заполняются при вводе на основании |
☑ |
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) Не, класть этот массив в регистр с допхарактеристиками объектов или создать свой регистр исключительно для этой задачи.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший