|   |   | 
| 
 | v7: Помещен реквизит на форму или нет | ☑ | ||
|---|---|---|---|---|
| 0
    
        yur4egg 25.06.14✎ 14:27 | 
        Надо реализовать идею. Автонастройка режима редактирования справочника в списке или диалоге, в зависимости от того, есть ли кликнутый реквизит в списке на форме элемента или нет. Как до открытия формы элемента определить, если на ней данный реквизит ?     | |||
| 1
    
        kupec 25.06.14✎ 14:38 | 
        ИндикаторНаличия=0
 Попытка Форма.Реквизит.Видимость(1) Исключение ИндикаторНаличия=1; КонецПопытки; Если ИндикаторНаличия=0 Тогда Сообщить("Реквизита нет"); Иначе Сообщить("Реквизит есть"); КонецЕсли; | |||
| 2
    
        kupec 25.06.14✎ 14:38 | 
        точнее наоборот с сообщениями     | |||
| 3
    
        yur4egg 25.06.14✎ 14:47 | 
        (1)
 Форма в твоем примере - это форма списка или элемента ? Если это список, то по нему мы не узнаем, есть ли реквизит на форме элемента. Если это форма элемента, то что бы к ней обратиться, нужно ее сначала открыть. Это лишнее действие. В том-то и дело, найти способ узнать о наличии реквизита на форме элемента до его открытия. Через метаданные или ВК (самостоятельно я не нашел) | |||
| 4
    
        kupec 25.06.14✎ 14:49 | 
        ну значит я не правильно понял, а так при открытии элемента данный код должен работать     | |||
| 5
    
        kupec 25.06.14✎ 14:49 | 
        есть какая то ALS по скрытым функциям метаданных, может там что есть ??? Не смотрел ???     | |||
| 6
    
        varelchik 25.06.14✎ 15:01 | 
        (4) Не будет он работать до открытия.
 Пока не дойдет до процедуры ПриОткрытии() а это само собой подразумевает что форма уже открылась. | |||
| 7
    
        kupec 25.06.14✎ 15:03 | 
        (6) при открытии не ПриОткрытии() а когда форма открыта     | |||
| 8
    
        aka AMIGO 25.06.14✎ 15:05 | 
        в документах проще:
 Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт Если ПустоеЗначение(ИмяРеквизита) = 1 Тогда Возврат 0; ИначеЕсли Метаданные.ОбщийРеквизитДокумента(ИмяРеквизита).Выбран() = 1 Тогда Возврат 1; ИначеЕсли ПустоеЗначение(ВидДокумента) = 1 Тогда Возврат 0; ИначеЕсли Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита).Выбран() = 1 Тогда Возврат 1; Иначе Возврат 0; КонецЕсли; КонецФункции //глЕстьРеквизитШапки() | |||
| 9
    
        kupec 25.06.14✎ 15:08 | 
        (8) реквизит может быть в конфигураторе но на форму не вынесен как у элемента справочника так и у документа     | |||
| 10
    
        varelchik 25.06.14✎ 15:20 | 
        (0) Тут вопрос в другом.
 Каким образом ты собираешься разруливать ситуацию входа в режим редактирования? | |||
| 11
    
        Duke1C 25.06.14✎ 15:22 | 
        (0) а что у вас все кому не лень в конфигурации выносят/прячут элементы на форму?     | |||
| 12
    
        volodya43234 25.06.14✎ 15:45 | 
        (0) Или ПриНачалеРаботыСистемы() проверить во всех нужных справочниках (способом из (1) ), и записать эти данные в глобальные переменные     | |||
| 13
    
        varelchik 25.06.14✎ 15:47 | 
        (12)А вы представляете как?
 это ж надо по открывать все формы. | |||
| 14
    
        volodya43234 25.06.14✎ 15:49 | 
        (13) и что мешает.... Пооткрывать все нужные, прописать все переменные, закрыть все формы... Ну помигают формы на экране.... зато будет точно известно есть или нет реквизиты на форме.     | |||
| 15
    
        volodya43234 25.06.14✎ 16:12 | 
        (0) ещё вариант. Наплодить констант для всех нужных справочников (или отдельный справочник). 
 Потом обработкой по вышеуказзанной схеме заполнить эти значения. (ведь не каждый день ставите/снимаете реквизиты на форму) | |||
| 16
    
        uno-group 25.06.14✎ 19:11 | 
        Компаунд длл мдшник разколупать там точно есть, но кто щас вспомнит структуру по диалогам. Вроде как в формэксп какие то методы были. Кстате отсудствие элемента на форме не означает что его нельзя с формы редактировать. Может быть начать галочек и т.п. при изменение которых как-то меняеються реквизиты. Да тот же адрес его на форме может и не быть а будет кнопка которая откроет обработку заполняющую адрес по КЛАДРУ. ИМХО вытягивай все реквизиты и ставь им права доступа независимо от их присутствии на форме.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |