|
v7: поддается ли ТурбоМД каким-либо настройкам, и как если да? | ☑ | ||
---|---|---|---|---|
0
Zhuravlik
07.09.12
✎
16:04
|
Захотелось написать универсальную настройку для диалогов формы. Если Форма.ТолькоПросмотр(1), чтобы те реквизиты, которые не являются объектами метаданных (кнопки, флажки -реквизиты управления диалогом на форме) тоже были недоступны, но не приходилось каждый раз прописывать
Если Форма.Просмотр() = 1 Тогда Форма.Рек1.Доступность(1); //и т.д. КонецЕсли; Сейчас делаю так, на форму повесил текст, в формуле прописал глУправлениеДиалогом(Контекст) Сама функция: //====================================================================== Функция глУправлениеДиалогом(Конт) Экспорт Если Конт.Выбран() = 0 Тогда//Если документ только что создан, его нельзя редактировать, //в т.ч. менять дату документа. Это сделано для более жесткого контроля списания остатков. //Записывать документ при создании - слишком жесткий контроль над пользователем. //А так он сам сможет определить, нужен ему этот документ (надо записать), //или был создан случайно (можно отказаться от создания) Конт.Форма.ТолькоПросмотр(1); ИначеЕсли Конт.Проведен() = 0 Тогда //Проведенный документ нельзя редактировать, записанный и НеПроведенный - можно. Конт.Форма.ТолькоПросмотр(0); КонецЕсли; Попытка Конт.УправлениеДиалогом();//Это и есть та функция, которую тоже хочется засунуть в глобальник. Она размещена в модуле формы документа. Исключение КонецПопытки; //Функция помещается в диалоге формы, во всех документах. КонецФункции // глУправлениеДиалогом Подумалось, если бы можно было настроить TurboMD так, чтобы он собирал такие реквизиты в отдельный файл, я бы их мог потом подцеплять и прописывать в управлении диалогом, через шаблон. Процедура УправлениеДиалогом(Конт, флДоступность) спРеквизитов = ВернутьСписокРеквизитов(Конт); Для сч = 1 По спРеквизитов.РазмерСписка() Цикл Рек = спРеквизитов.ПолучитьЗначение(сч); рез = Шаблон("[Конт."+Рек+".Доступность("+флДоступность+")]"); КонецЦикла; КонецПроцедуры; |
|||
1
Zhuravlik
07.09.12
✎
16:06
|
+ Ошибся чуть-чуть
рез = Шаблон("[Конт.Форма."+Рек+".Доступность("+флДоступность+")]"); |
|||
2
aka AMIGO
07.09.12
✎
16:10
|
речь не у TurboBL случайно?
у TurboMD вроде другие задачи |
|||
3
Zhuravlik
07.09.12
✎
16:15
|
(2) Нет, благодаря ТурбоБЛ я могу вызывать методы объекта через контекст,
ТурбоМД - сохраняет все реквизиты формы во внешний файл. Через формекс обойти реквизиты формы - задача вроде так и не решенная, по крайней мере я в нете не нашел подходящий мне способо, как для объекта получить ВСЕ реквизиты формы (в т.ч. и те, которые не явлются объектом метаданных), потому я и подумал, может можно ТурбоМД научить их отлавливать? Мне бы это еще пригодилось, пару раз была ситуация, когда нужно было узнать такие объекты, но прописывал вручную. |
|||
4
aka AMIGO
07.09.12
✎
16:16
|
ну, извини.. источники - то вроде известны:
http://openconf.1cpp.ru/vk/turbomd/ http://www.1cpp.ru/forum/YaBB.pl?board=openconf |
|||
5
aka AMIGO
07.09.12
✎
16:18
|
||||
6
Zhuravlik
07.09.12
✎
16:20
|
(4)(5) Я это все читал. В ТурбоМД можно настроить только расположение выгружаемых данных, а как получить доступ к самим данным? Он получает ведь как-то список реквизитов формы, но у меня нет доступа к этим методам, я могу просто сохранить их во внешний файл.
Я подумал есть же скрипты и т.п. и 1С++, может можно как-то? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |