Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ругается на "глЗначениеПеременной"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
Cnhtkjr
Доброго времени.
Делаю надстройку на управляемых формах к Бухгалтерии для Украины v1.2.6.5, которая и рядом с управляемыми формами не валялась, как я понял.
И тут такая проблема: МодульУправляемогоПриложения в конфигурации девственно чистый. А при попытке открыть любую форму элемента, программа пытается вызвать функцию глЗначениеПеременной, которая описана в МодулеОбычногоПриложения, а так как это не ОбычноеПриложение, то вместо формыЭлемента я наблюдаю только сообщение об ошибке, в котором пишется, что данная процедура или функция не обнаружена... как ни странно.
Хотел было закомментить (ну, а что делать? хоть это и чревато) сначала неродимую строку, но потом понял, что вызов этой функции, чуть ли неотъемлемая составляющая всей конфигурации.
Может кто-то сталкивался с этим и знает как выйти из положения?
максимум до чего я пока дошел, это к добавлению
Перем глОбщиеЗначения Экспорт;

Функция глЗначениеПеременной(Имя) Экспорт
    
    Возврат ОбщегоНазначения.ПолучитьЗначениеПеременной(Имя, глОбщиеЗначения);
    
КонецФункции

в модульУправляемогоПриложения.
Ну, и добавления управляемых форм к нужным мне объектам из стандартной конфигурации.
Но, чует моя попка, что подобный выход мне со временем может неоднократно вылезти боком, из-за моего незнания.
logist
Цитата(Cnhtkjr @ 07.06.12, 19:42) необходимо зарегистрироваться для просмотра ссылки
функцию глЗначениеПеременной, которая описана в МодулеОбычногоПриложения


Вообще-то она описана в Глобальном модуле (в актуальной версии конфигуации). А Вы вероятно тупо скопировали код обычной формы в управляемую и пытаетесь его приспособить - если так то лучше забудьте об этом, вы потратите больше времени и затем получите негативный результат, чем если бы написали упр. форму с нуля.
А если надо вызывать именно глЗначениеПеременной в упр.форме, то вызывайте в серверной процедуре, так же как и в обычной форме.
Cnhtkjr
Цитата(logist @ 07.06.12, 20:27) необходимо зарегистрироваться для просмотра ссылки
Вообще-то она описана в Глобальном модуле (в актуальной версии конфигуации).


О_О Три тысячи чертей, сэр, вы чертовски правы. Теперь сижу и не могу понять, каким боком я увидел описание именно в МодулеОбычногоПриложения.
Цитата(logist @ 07.06.12, 20:27) необходимо зарегистрироваться для просмотра ссылки
А Вы вероятно тупо скопировали код обычной формы в управляемую и пытаетесь его приспособить


К сожалению нет. оказывается, что срабатывает Подписчик события "ПриУстановкеНовогоКода...", почему я и не мог отладчиком найти момент вызова нерадивой мне функции и понять, что же происходит.
Правда поняв в чем проблема, мне особо легче не стало - я раньше не сталкивался с подписчиками на события, и слабо себе сейчас представляю, что дальше делать.
Но, буду думать, благо хоть знаю в каком направлении.
Спасибо.

logist
Цитата(Cnhtkjr @ 07.06.12, 20:50) необходимо зарегистрироваться для просмотра ссылки
оказывается, что срабатывает Подписчик события "ПриУстановкеНовогоКода..."

Это событие ни где не вызывает глЗначениеПеременной.
У Вас проблема в том что Клиент пытается запросить процедуру которая не доступна с Клиента, к подпискам на события это не имеет никакого отношения, т.к. они исполняются на сервере и им доступен глЗначениеПеременной. Ищите проблему в коде самой формы.
Cnhtkjr
Цитата(logist @ 07.06.12, 21:02) необходимо зарегистрироваться для просмотра ссылки
Это событие ни где не вызывает глЗначениеПеременной.
У Вас проблема в том что Клиент пытается запросить процедуру которая не доступна с Клиента, к подпискам на события это не имеет никакого отношения, т.к. они исполняются на сервере и им доступен глЗначениеПеременной. Ищите проблему в коде самой формы.


Уважаемый, я бы с радостью. Но, есть пару "но": управляемые формы Контрагентов(это для примера, какой мне сейчас актуален) которые я создал, девственно чисты - ни строчки кода. Отрабатывать вообще нечему, как я понимаю. Я уже даже стандартные формы, с горя заменил своими управляемыми, что бы стандартный код не имел шанса отработать. Но эффект все тот же - "не найдена процедура глЗначениеПеременной".
Но, когда я убираю Контрагентов с подписки на событие - все работает как по маслу.
Я понимаю, что туплю, но мне кажется, что я туплю все же не том месте на которое вы указываете, при всем моем уважении к вам.
Cnhtkjr
Ничего не понимаю. Хоть даже Подписчик события "ПриУстановкеНовогоКодаСправочника", вроде действительно не имеет никакого отношения к глЗначениеПеременной, но если не убирать с этого подписчика нужный мне объект, то при попытке открыть полностью пустую управляемую форму элемента с тонкого клиента мне выдает ошибки функций, которые я нигде не вызывал:

СформироватьЗаголовокДокумента
ПолучитьПараметрыУчетнойПолитики
СообщитьСлужебнуюИнформацию
ПолучитьЗначениеПеременной

{ОбщийМодуль.ОбщегоНазначения.Модуль(1744,116)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
        КодЯзыка = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
{ОбщийМодуль.ОбщегоНазначения.Модуль(2457,18)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
    УчетнаяПолитика=<<?>>глЗначениеПеременной("глУчетнаяПолитика");
{ОбщийМодуль.ОбщегоНазначения.Модуль(3427,8)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
        Если <<?>>глЗначениеПеременной("ВыводитьСлужебнуюИнформацию") = Истина Тогда
{ОбщийМодуль.ОбщегоНазначения.Модуль(3951,76)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
        НайденноеЗначение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глЗначениеПеременной("глТекущийПользователь"), "УчетПоВсемОрганизациям");
{ОбщийМодуль.ОбщегоНазначения.Модуль(3954,76)}: Процедура или функция с указанным именем не определена (глЗначениеПеременной)
        НайденноеЗначение = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(<<?>>глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");


Объясните, пожалуйста, что именно, или даже почему, это все вызывается?!


Т__Т
Обожаю 1С. Ничего ей не делал (может перезапустил только и то не факт) и все нормально стало работать. Хоть с управляемыми формами, хоть с родными. Хоть с подпиской, хоть без.
ни черта не понимаю.
Прошу прощения за отнятое время.
logist
Цитата(Cnhtkjr @ 07.06.12, 21:39) необходимо зарегистрироваться для просмотра ссылки
Уважаемый, я бы с радостью.

Попрошу в следующий раз по корректней обращаться к другим участникам форума. Вы не в очереди за колбасой.
Cnhtkjr
Цитата(logist @ 08.06.12, 9:40) необходимо зарегистрироваться для просмотра ссылки
Попрошу в следующий раз по корректней обращаться к другим участникам форума. Вы не в очереди за колбасой.


эм... вас оскорбляет проявление уважения к участникам форума? Ладно, теперь вы мной не уважаемы, так что подобного обращения можете не бояться.


 ! 

Вы не правы!
 
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.