Имя: Пароль:
1C
 
Выполнить процедуру в фоне от имени другого пользователя...
0 Sevish
 
13.10.25
08:48
Добрый день!
С версии КА 2.5.23.53 1С перенесли актуализацию взаиморасчетов в очередь. Есть теперь регистр сведений "Задания к распределению взаиморасчетов". запускается фоновое задание "Управляющий поток "Задания к распределению взаиморасчетов", который в свою очередь порождает до 4х (почему-то) фоновых заданий на обработку этого регистра.

Проблема не только в том, что вся эта очередь конфликтует с отражением по регл. учету (это я победил, сделал там проверку есть ли документ в регистре или нет и если есть - отказ), но в основном в том, что у пользователей не хватает прав.
Да, увы, "Управляющий поток "Задания к распределению взаиморасчетов" запускается от того пользователя, который провел документ, который подразумевает актуализацию взаиморасчетов. То есть у пользователя могут быть права на "Заказ поставщику", но не быть на "Списание безналичных" и вс... фоновое задание тупо зависает и висит бесконечно, а очередь копится.

Где повысить привилегии я найти не смог (ужас как там проводки делаются по взаиморасчетам).

Вопрос: а можно как-то "ДлительныеОперации.ВыполнитьПроцедуру" не под текущим пользователем, а под конкретным, которого я укажу?
1 Волшебник
 
13.10.25
09:22
УстановитьПривилегированныйРежим(истина);
2 unenu
 
13.10.25
09:31
(0) Количество потоков управляется константой и зависит от железа. Можно и 40 выставить и т.д.
3 Sevish
 
13.10.25
09:50
(1) - не нашел где именно, не во всех же ставить, плюс это должно работать только если фоновое задание актуализации взаиморасчетов.
(2) - не нашел где. Есть справочник, но то, что я там указал никак не влияет. В коде то же нес мог найти где именно для этой операции количество потоков вычисляется.

Сейчас нашел ещё один косяк с этой очередью - 32 тыс. записей. Думаю откуда? А там элементарно нет проверки. Например, если "Заказ поставщику" уже прописался и поехал обрабатываться, он легко может записаться в торой раз к обработке, если кто-то в это момент его ещё раз провел.
Но и это не обязательно :) нашел кусок кода с комментарием "дополним зависимыми документами" и... она дополняет всеми "Заказами поставщику" по тому же объекты расчетов (договор) с датой больше текущего "Заказа поставщику"...
В общем это дело я поправил, нашел где и просто из набора записей удаляю то, что уже там есть...
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан