На PORTA.ru
ОГРОМНЫЙ выбор портативной техники:
MD-плееры CD-плееры MP3-плееры Кассетные плееры Диктофоны Радио Цифр. камеры Сотовые Дешевые ноутбуки |
||
Недокументированные возможности функции Шаблон // Присвоить значение переменной по ее имени.
// в глоб.модуль: Функция Присвоить(Чему,Что) Экспорт Чему = Что; Возврат ""; КонецФункции // варианты вызова: // Шаблон("[Присвоить("+ИмяПеременной+",ПеременнаяСоЗначением)]"); // Шаблон("[Присвоить("+ИмяПеременной+","+ИмяПеременнойСоЗначением+")]"); // Пример: пусть у нас на форме есть 5 числовых реквизитов К1, К2, ... К5 Для н=1 по 5 Цикл Шаблон("[Присвоить("+("К"+н)+","+(н)+")]"); КонецЦикла; Если в качестве параметров ф-ии Присвоить() могут передаваться ТаблицаЗначений или СписокЗначений, то нужно её изменить на: Функция Присвоить(Чему,Что) Если Найти(ТипЗначенияСтр(Что),"Значений")>0 Тогда Чему=СоздатьОбъект(ТипЗначенияСтр(Что)); Что.Выгрузить(Чему); Иначе Чему = Что; КонецЕсли; Возврат ""; КонецФункции <сообщил Gosha> См. также: 19 Будень Dag'a Попытаюсь обобщить полученную инфу у Dag'a: Итак: В глобальном модуле доступны все переменные, функции и реквизиты вызывающей формы! При этом даже не требуется передавать Контекст формы! Пример: // помещаем в глобальный модуль процедуру //_____________________________________________________________________________ Процедура глТест() Экспорт сообщить(Шаблон("[ПеременнаяМодуля]")); // получаем переменную модуля сообщить(Шаблон("[РеквизитФормы]")); // получаем переменную модуля формы сообщить(Шаблон("[ФункцияМодуля()]")); // вызываем функцию модуля формы КонецПроцедуры //глТест() // создадим внешнюю обработку // не забудьте добавить на форму реквизит "РеквизитФормы" тип "Строка",30 // текст модуля внешней обработки: Перем ПеременнаяМодуля; //_____________________________________________________________________________ Функция ФункцияМодуля() Сообщить("Сработала функция модуля"); КонецФункции //_____________________________________________________________________________ Процедура Сформировать() глТест(); // вызываем глоб процедуру и смотрим ... КонецПроцедуры //_____________________________________________________________________________ ПеременнаяМодуля="Это значение ПеременнойМодуля"; РеквизитФормы="Это значение РеквизитаФормы"; -
Наверх -
|
В качестве благодарности за решение проблемы, щелкните здесь. Поддержите развитие сайта. Спасибо! |
Автор и разработчик: Кайгородов Андрей aka mszsuz. mszsuz@online.sinor.ru ICQ#33993114. Дата последнего обновления страницы: Friday 09.04.2004 16:52 |