Имя: Пароль:
1C
 
Как узнать что текущий режим работы - odata
,
0 breezee
 
10.11.22
16:41
Коллеги, добрый день. Подскажите, пожалуйста, можно как-то узнать что клиент - odata. Через интерфейс работает обмен.
Сейчас определяется
Если ТекущийРежимЗапуска() <> Неопределено тогда
Но в новом ЗУПе проведение вынесено в фон (интересно зачем?)
И при записи в фоне ТекущийРежимЗапуска() = Неопределено
Из других мыслей - выполнять все под служебным пользователем, но тогда ответственные в документах будут не фактические
1 breezee
 
11.11.22
04:18
Если что - актуально) Не смог найти как отличить фоновое от одаты
2 ptiz
 
11.11.22
10:12
(1) А цель?
3 breezee
 
11.11.22
10:14
(2) Если под одатой работает - не надо писать в регистр для обмена. Если будет запись - одни и те же данные будут в цикле обмениваться между собой. В режиме обмен данными прошу не предлагать записывать, т.к. информация об ошибке нужна в моменте
4 Kassern
 
11.11.22
10:16
Передавайте через параметры нужно, или нет писать в регистр при проведении
5 ptiz
 
11.11.22
10:17
(3) "не надо писать в регистр для обмена" - так не пиши. Или ты это делаешь в модуле проведения, который вызывается через фоновое?
"Если под одатой работает" - нужно точно определиться, что такое "работает". Например, через odata создал документ, а провелся он потом регламентным заданием - это "под одатой" или нет? Если интересует: создан ли бы документ под одатой - значит нужно в БД фиксировать, что документ создан через odata, а при проведении проверять.
6 Kassern
 
11.11.22
10:20
типа, ДополнительынеСвойства.Вставить("ЗагрузкаЧерезОдата",Истина); А дальше в Модуле объекта это дело анализировать
7 breezee
 
11.11.22
11:58
(5) Получается реквизит добавлять что документ создан по одата? для всех документов?
(6) А в одате такое нельзя, там на прямую запросы в 1с фигачатся на создание
8 Kassern
 
11.11.22
12:05
(7) Зачем так жестоко?) Проще наверное в комментарии указать, мол загружен автоматически через одата. Либо через дополнительные реквизиты ТЧ добавить свойство, загружен из внешнего сервиса булево. А при проведении уже его проверять и т.д.
9 breezee
 
11.11.22
12:12
(8) Ок, спасибо
10 MM
 
11.11.22
13:00
(1) В обработчике ПередЗаписью можно воспользоваться: ПолучитьТекущийСеансИнформационнойБазы().ИмяПриложения
JobScheduler - идентификатор сессии планировщика заданий;
ODataConnection - идентификатор сессии OData-сервиса;
(7) Для этого есть механизм общих реквизитов, хотя тут он и не понадобится.
11 breezee
 
11.11.22
13:15
(10) гигантское спасибо! Попробую
Программист всегда исправляет последнюю ошибку.