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

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

Метки:формы

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

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

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

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

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

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

Соответственно - вызов в коде:
глАктивизироватьПоле(Контекст, "Артикул");
   OctoberHammer
 
2 - 07.06.04 - 20:33
Спасибо
   Волшебник
 
4 - 07.06.04 - 20:36
Спасибо Яндексу!
   mszsuz
 
5 - 08.06.04 - 08:52
(1) Много лишних движений, сводящихся лишь к тому, чтобы Активизировать() была вызвана из какой-нить предопределенной процедуры.
Всё это можно провернуть и в рамках одного модуля: http://www.sinor.ru/~my1c/knowhow/getskod.html
   OctoberHammer
 
6 - 08.06.04 - 12:51
сенкс, почти работает и то, и то...
Почему "почти"?
Ну как сказать - а вот почему, если я реквизиту формы назначаю маску "NN:NN", и ничего еще в поле не ввел, то строка получается непустая? Ну ладно, допустим это я поборю...
А вот никто не задал маску строковому реквизиту справочника? и потом выводил его на форму? Что получалось?
зы. Речь идет о в77, 21-й релиз
   OctoberHammer
 
7 - 08.06.04 - 12:58
сорри, прогнал, пустая строка с маской все-таки 1Сом определяется как пустая строка, все работает.


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