Имя: Пароль:
1C
 
Не устанавливается значение константы в УТ 11
0 Dimarik_1
 
13.04.18
22:33
Сейчас попробовал в УТ 11 программно установить значение константы.
Объект записывается в базу, но когда заходишь сам вручную проверить (или программно), константа не поменяла своего значения.


почему запись не работает, не понятно



&НаСервере
Процедура ЗаписатьКонстантуНаСервере()
    // Вставить содержимое обработчика.
    
    Константа = "ИспользоватьНесколькоОрганизаций";
        КонстантаМенеджерЗначения = Константы[Константа].СоздатьМенеджерЗначения();
        КонстантаМенеджерЗначения.Значение =Истина;
        ЗаписатьОбъектВИБ(КонстантаМенеджерЗначения, ТипЗнч(КонстантаМенеджерЗначения));

    
КонецПроцедуры

&НаКлиенте
Процедура ЗаписатьКонстанту(Команда)
    ЗаписатьКонстантуНаСервере();
КонецПроцедуры
Процедура ЗаписатьОбъектВИБ(ОбъектКонст, Тип)
        
    Попытка
        
        
        ОбъектКонст.ОбменДанными.Загрузка = Истина;
        Объект.Записать();
        
    Исключение
        
        
        
    КонецПопытки;
    
КонецПроцедуры
1 Fragster
 
гуру
13.04.18
22:38
ОбъектКонст.ОбменДанными.Загрузка = Истина;
        Объект.Записать();
записываешь не объектконст, а реквизит формы Объект.
2 Fragster
 
гуру
13.04.18
22:38
предложение по подсветке глобальных переменных у 1с "записано"
3 Доминошник
 
13.04.18
22:53
А зачем дополнительно вызывать ЗаписатьОбъектВИБ?

Ведь достаточно и так:
    Константа = "ИспользоватьНесколькоОрганизаций";
    КонстантаМенеджерЗначения = Константы[Константа].СоздатьМенеджерЗначения();
    КонстантаМенеджерЗначения.Значение =Истина;
    КонстантаМенеджерЗначения.Записать();
4 Fragster
 
гуру
13.04.18
22:57
да и зачем создавать менеджер значения тоже непонятно, ведь есть
КонстантаМенеджер.<Имя константы> (ConstantManager.<Имя константы>)
Установить (Set)
Синтаксис:

Установить(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Произвольный.
Новое значение константы.
Описание:

Устанавливает значение константы в базе данных.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Пример:

Константы.Бухгалтер.Установить("Сидоров Петр Иванович");
5 Defender aka LINN
 
13.04.18
23:22
(0) Код делает следующее:
1. Создал менеджер значения константы.
2. Присвоил значение.
Далее менеджер спускается в унитаз.
3. Вызывается процедура "ЗаписатьОбъектВИБ", где
4.1 Одному объекту устанавливается "ОбменДанными.Загрузка = Истина"
4.2 Другой объект записывается.

Тебе реально хочется услышать, где ошибка?
6 Fragster
 
гуру
13.04.18
23:27
(5) еще веселее, когда у формы есть реквизит "результат" ипа число, и в коде типа
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать(); <- вот тут внезапное исключение :)
7 Defender aka LINN
 
13.04.18
23:33
(6) Ну, это легко ж отла... Хотя да, о чем это я.
AdBlock убивает бесплатный контент. 1Сергей