8.х УПП Ошибка при открытии формы настройки программы

Тема в разделе ""1С:Управление производственным предприятием УПП"", создана пользователем ALL_EG, 18 авг 2010.

  1. TopicStarter Overlay
    ALL_EG
    Offline

    ALL_EG Опытный в 1С

    Регистрация:
    4 авг 2010
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    Коллеги, добрый день!!!

    У меня вопрос следующий: при открытии формы настройки программы выскакивает ошибка:

    {Обработка.НастройкиПрограммы.Форма.НастройкаПрограммы(285)}: Ошибка при установке значения атрибута контекста (ИспользоватьУправленческийУчет): Константа ИспользоватьУправленческийУчет не входит в набор используемых констант

    Код:
    >> ИспользоватьУправленческийУчет = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
    

    по причине:
    Константа ИспользоватьУправленческийУчет не входит в набор используемых констант


    -------------------------
    Прогонял отладчиком все ф-ции, входящие в глЗначениеПеременной() , все возвращает как нужно..

    даже вот на этом этапе

    Код:
    Функция глЗначениеПеременной(Имя) Экспорт
    
    Кэш = ПараметрыСеанса.ОбщиеЗначения.Получить();
    КэшИзменен = Ложь;
    ПолученноеЗначение = ОбщегоНазначения.ПолучитьЗначениеПеременной(Имя, Кэш, КэшИзменен);
    
    Если КэшИзменен Тогда
    ПараметрыСеанса.ОбщиеЗначения = Новый ХранилищеЗначения(Кэш);
    КонецЕсли;
    
    Возврат ПолученноеЗначение;
    >>>>>>>>>>((((!!!!!))))))) // в переменной ПолученноеЗначение=Истина..
    КонецФункции
    

    ------------------------------

    кто сталкивался с этим???
  2. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    ИспользоватьУправленческийУчет - это константа? Их редактировать можно, если не вру, только на форме констант, т.е. когда основной реквизит формы типа КонстантыНабор. Либо Вам нужно сделать свою форму формой констант (тогда она перестает быть формой обработки), либо редактировать НЕ константу напрямую, а просто реквизит формы (типа Булево), а потом по какой-то кнопке или при закрытии присваивать значению константы значение вашей переменной. :unsure:
  3. TopicStarter Overlay
    ALL_EG
    Offline

    ALL_EG Опытный в 1С

    Регистрация:
    4 авг 2010
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    ИспользоватьУправленческийУчет - это константа (в данном случае - это просто переменная)
    глИспользоватьУправленческийУчетЗарплаты - там отношения к константе, как я понимаю, вообще нет..

    обходя строки отладчиком переменная ИспользоватьУправленческийУчет должна обратиться в ИСТИНА
  4. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Переменная типа Булево или типа Константа?
  5. TopicStarter Overlay
    ALL_EG
    Offline

    ALL_EG Опытный в 1С

    Регистрация:
    4 авг 2010
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    Уточняю еше раз:

    Код:
    ИспользоватьУправленческийУчет = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
    
    здесь - ИспользоватьУправленческийУчет - это просто переменная, в которую записывается результат функции глЗначениеПеременной(Имя)

    Сама функция представлена ниже:
    Код:
    Функция глЗначениеПеременной(Имя) Экспорт		Кэш = ПараметрыСеанса.ОбщиеЗначения.Получить();	КэшИзменен = Ложь;	ПолученноеЗначение = ОбщегоНазначения.ПолучитьЗначениеПеременной(Имя, Кэш, КэшИзменен);		Если КэшИзменен Тогда		ПараметрыСеанса.ОбщиеЗначения = Новый ХранилищеЗначения(Кэш);	КонецЕсли;		Возврат ПолученноеЗначение;
    КонецФункции
    
    При прогоне отладчиком в строке
    Код:
    Возврат ПолученноеЗначение
    
    функции глЗначениеПеременной(Имя) находится Истина, следовательно, в переменную ИспользоватьУправленческийУчет должно вернуться результат Истина.но вылезает указанная выше ошибка..

    Я анализировал также функцию
    ОбщегоНазначения.ПолучитьЗначениеПеременной(Имя, Кэш, КэшИзменен), которая и возвращает значение в переменную ПолученноеЗначение в функции глЗначениеПеременной(Имя), все впорядке...
  6. TopicStarter Overlay
    ALL_EG
    Offline

    ALL_EG Опытный в 1С

    Регистрация:
    4 авг 2010
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    нашел следующий вариант исправления:

    Код:
    ИспользоватьУправленческийУчетЗарплаты = глЗначениеПеременной("глИспользоватьУправленческийУчетЗарплаты");
    
    
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    У вас данная ошибка изначально после каких действий появилась? (обновление не накатывали?)

    Следущую строчку тоже посмотрите, не забыли ее поменять?
  8. TopicStarter Overlay
    ALL_EG
    Offline

    ALL_EG Опытный в 1С

    Регистрация:
    4 авг 2010
    Сообщения:
    55
    Симпатии:
    0
    Баллы:
    26
    появилась после обновления релиза..

    да, следующую строчку тоже необходио поменять, она отвечает за отображение пунктов..
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Просто предположение - может криво обновилось? У вас конфигурация с изменениями?

Поделиться этой страницей