Имя: Пароль:
1C
1С v8
При отладке фонового процесса Не могу установить в 1С Розница константу с типом булево
0 ЯшкаКопытин77
 
05.06.20
12:00
Привет Всем!
Возникала такая бананальная на первый взгляд ситуация
При отладке фонового процесса Не могу установить в 1С Розница константу с типом булево
В Процедуре общего модуля  ВыполнитьОбменДаннымиПоРегламентномуЗаданию(КодСценарияОбмена)
делаю вызов своей серверной  процедуры
[CODE]&НаСервере
Процедура УстановитьКонстанту_СК_СтатусОграниченияДоступности()     Экспорт
    Константы.СК_СтатусОграниченияДоступности.Установить(Истина);
    
    ПолучСтатус = Константы.СК_СтатусОграниченияДоступности.СоздатьМенеджерЗначения();
    ПолучСтатус.Прочитать();
    ПолучСтатус.Значение = Истина ;
    ПолучСтатус.Записать();
КонецПроцедуры     
[/CODE]

не устанавливается константа! пишет Обращение к процедуре объекта как к функции (Установить)
Вынес процедуру  в собственный общий модуль СК_Вспомогательный
со всеми галочками    Сервер и Клиент() итд

[CODE]&НаСервере
Процедура УстановитьКонстанту_СК_СтатусОграниченияДоступности()     Экспорт
    
    ////попробовал так
    Константы.СК_СтатусОграниченияДоступности.Установить(Истина);
    ////и так
    Набор = Константы.СоздатьНабор("СК_СтатусОграниченияДоступности");

///теперь с помощью метода Прочитать() мы можем прочитать значения констант нашего набора
  //  Набор.Прочитать();
    Набор.СК_СтатусОграниченияДоступности = Ложь;
    Набор.Записать();
    
    /////и даже так
    
    Константы["СК_СтатусОграниченияДоступности"].Установить(Истина);
    ////
    ////////ПолучСтатус = Константы.СК_СтатусОграниченияДоступности.СоздатьМенеджерЗначения();
    ////////ПолучСтатус.Прочитать();
    ////////ПолучСтатус.Значение = Истина ;
    ////////ПолучСтатус.Записать();
КонецПроцедуры     
[/CODE]
  
Отладчиком дохожу до метода записать или установить   выдает
Обращение к процедуре объекта как к функции (Установить)
Вынос

Посмотрел права, всего полно.Отлаживаюсь на локальной  базе интерфейс Такси
запускался в режиме Толстый клиент(управляемое приложение)
Розница, редакция 2.3 (2.3.2.33) платформа  8.3.15.

Подскажите пожалуйста в чем затык ?
1 zmaximka
 
05.06.20
12:15
Константы.СК_СтатусОграниченияДоступности.Установить(Истина);

оставь только это
2 Волшебник
 
модератор
05.06.20
12:16
сделай её функцией
3 ЯшкаКопытин77
 
05.06.20
12:39
(2)для Волшебник
Сделал   процедуру функцией
Функция УстановитьКонстанту_СК_СтатусОграниченияДоступности()     Экспорт

Константы.СК_СтатусОграниченияДоступности.Установить(Истина);
оставил только это.
нет не помогло.
4 Галахад
 
гуру
05.06.20
12:40
(3) Проблема только в регламентном задании? Или всегда?
5 ЯшкаКопытин77
 
05.06.20
12:42
////// для  Галахад  (3) Проблема только в регламентном задании? Или всегда?
нет попробывал сейчас сделать НЕ в рег.заданиии
а внешней обработкой отрабатывает нормально-устанавливает константу
6 ЯшкаКопытин77
 
05.06.20
12:50
(4)   Через внешнюю обработку значение константы устанавливается, а вот когда отладка идет через фоновый процесс нет не устанавливается
7 Галахад
 
гуру
05.06.20
12:55
(5) Скорее всего проблема в "галках" общего модуля. Попробуй на только серверном.
8 Волшебник
 
модератор
05.06.20
13:09
(3) А текст ошибки изменился?
9 ЯшкаКопытин77
 
05.06.20
13:11
(7)  Галахад я тоже грешил на внешний модуль, вынес процедуру в модуль свой встроенной обработки
метод сделал экспортным
та же самая картина прихожу отладчиком в модуль обработки и Процедура УстановитьКонстанту_СК_СтатусОграниченияДоступности()
не устанавливает значение константы....вот же с%%ка.
10 ЯшкаКопытин77
 
05.06.20
13:19
(8) нет он в фоновой отладке/режиме ошибку честно говоря не выдает
я наблюдаю её отладчиком,когда дохожу до Константы.СК_СтатусОграниченияДоступности.Установить(Истина);
если попытаться расчитать метод отладчиком ошибка наблюдается а когда без отладчика её НЕ видно
11 ЯшкаКопытин77
 
05.06.20
17:32
Отвечу развернуто, это будет скорее как напоминалка для себя,
изначально стояла задача блокировать окно РМК для пользователя в тот момент когда
начинается обмен данными по расписанию.
В процедуре общего модуля которая запускает обмен пытался устанавливать константу СК_СтатусОграниченияДоступности с признаком булево,
что бы потом отслеживать этот статус при записи константы в объекте подпискаНаСобытии и вызывать модальную форму для блокирования открытого РМК
Была попытка устанавливать константу с разными галочками в общих процедурах и так же в модуле обработки куда я вынес процедуру заполнения константы(в ней были сделаны экспортные методы) но ничего не помогло.
константа Ошибку не выдавала но и не устанавливалась
В итоге завел Регистр сведений с одним реквизитом и записал туда значение признака статуса доступности 0
при этом автоматически отработала подписка со своим Общем модулем
где я контролирую открытые окна.
(то что и требовалось)

Всем Спасибо !!!