Вход | Регистрация

1С:Предприятие ::

Метки:формы

В данной формуле не может быть вызвана эта процедура(функция)

Я
   OctoberHammer
 
07.06.04 - 20:09
Процедура ИзмВремяС()
    Часов = Лев(ВремяС,2);
    Минуты = Прав(ВремяС,2);
    Если (Число(Часов)>23) или (Число(Часов)<0) или (Число(Минуты)<0) или (Число(Минуты)>59)  Тогда
        глАктивизировать(Контекст,"ВремяС");
    КонецЕсли;
КонецПроцедуры
==========\
Процедура глАктивизировать(Конт, ИмяРеквизита) Экспорт
    Конт.Активизировать(ИмяРеквизита);
КонецПроцедуры
{Глобальный модуль(38)}: В данной формуле не может быть вызвана эта процедура(функция)
==========================
Как побороть? Если смысл не понятен, скажите, или задайте наводящие вопросы, я намкну
 
  Рекламное место пустует
   Волшебник
 
1 - 07.06.04 - 20:20
Вот способ обхода этого ограничения платформы:

// глобальный модуль

Процедура глАктивизироватьПоле(Конт, Поле) Экспорт
   Сп=СоздатьОбъект("СписокЗначений");
   Сп.Установить("Контекст", Конт);
   Сп.Установить("Поле", Поле);
   ОткрытьФормуМодально("Обработка.АктивизироватьПоле", Сп);
КонецПроцедуры 

// модуль формы Обработка.АктивизироватьПоле

Процедура ПриОткрытии()
   Сп=Форма.Параметр;
   Если НРег(ТипЗначенияСтр(Сп))<>"списокзначений" Тогда
       Сообщить("'Активизировать поле': неверный вызов","!");
       СтатусВозврата(0);
       Возврат;
   КонецЕсли;
   
   Конт=Сп.Получить("Контекст");
   Поле=Сп.Получить("Поле");
   Конт.Активизировать(Поле, 1);
   СтатусВозврата(0);
КонецПроцедуры 

Соответственно - вызов в коде:
глАктивизироватьПоле(Контекст, "Артикул");


Список тем форума
Рекламное место пустует   Рекламное место пустует
Компьютер — устройство разработанное для ускорения и автоматизации человеческих ошибок.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует