|
1С в режиме предприятия сама закрывается при выполнении долгой процедуры | ☑ | ||
---|---|---|---|---|
0
Vito
24.10.22
✎
08:08
|
УНФ файловая, написал расширение, которое при записи документа берет остатки и отправляет их по REST API на внешний web-сервис. При попытке выгрузить все остатки после 10-15 мин. работы этой процедуры 1С просто закрывается без всяких ошибок и т.п. в журнале ничего не показывает.
В чем может быть проблема? Заранее спасибо! |
|||
1
PuhUfa
24.10.22
✎
08:11
|
(0) Проблема в твоем расширении -)
Логируй действия сам. Отправляй остатки частями. Нужно больше информации |
|||
2
Михаил Козлов
24.10.22
✎
10:03
|
"...при записи документа..." - прямо в транзакции?
|
|||
3
Kassern
24.10.22
✎
10:06
|
(2) судя по (0), то да))
(0) Завершайте транзакцию и грузите остатки рег заданием. Можно создать очередь через регистр сведений при необходимости. |
|||
4
craxx
24.10.22
✎
10:09
|
(0) ТЖ что говорит?
|
|||
5
lodger
24.10.22
✎
10:37
|
жуть какая.
я знаю что это не вылечит кривую архитектуру ваших бизнес-процессов, но вот этот костыль - https://blagin.ru/fonovoe-zadanie-pri-provedenii/ закроет эту дыру. |
|||
6
Vito
26.10.22
✎
10:38
|
(2) Видимо, получилось прямо в транзакции. Запускается по подписке на событие ПриЗаписи в РегистрНакопленияНаборЗаписей.Запасы . Но это уже не имеет значения, т.к. см. ниже.
(3) Потом переделаю под рег. задание, нужно перейти на последнюю версию, чтобы они поддерживались в расширении. (4) Ничего там не вижу, возможно не настроено логирование на подобные события, пока не разобрался. (5) Возможно где-то и кривовато, делаю быстр, чтобы успеть за потребностями бизнеса :) Но Спасибо за подсказку, как раз искал это решение, поэтому обязательно воспользуюсь. Вывел я процедуру полностью из транзакции, запускаю по кнопке. При это выяснилось, что 1с вылетает просто при возникновении любой ошибки в этой процедуре. При ошибках в основной конфе заметил пока только один вылет. Соответственно не могу понять что за ошибка, не могу поставить остановку при ошибке в процессе отладки. В чем может быть проблема? Что делать? |
|||
7
lodger
26.10.22
✎
10:56
|
(6) попытка
твой..код() исключение ТекстОшкибки = ОписаниеОшибки(); ЗаписьЖурналаРегистрации("Случилось.Ахтунг",УровеньЖурналаРегистрации.Ошибка,,,ТекстОшкибки); конецпопытки |
|||
8
Vito
26.10.22
✎
11:16
|
(7) Спасибо! Сделаю!
|
|||
9
Kassern
26.10.22
✎
11:45
|
(6) "нужно перейти на последнюю версию, чтобы они поддерживались в расширении" - не обязательно делать через расширение. Если конфа на БСП, то можно через внешние обработки создать рег задание
|
|||
10
Vito
26.10.22
✎
20:22
|
(7) Повторил Ваш код, но почему-то никакие записи в ЖураналеРегистрации не появляются, может быть что-то нужно поправить?
А ошибка возникает вот в этой строке (ее и поставил в попытку): ЗаписатьJSON(ЗаписьJSON,Тело); Причем, из 1000 вариантов Тело, ошибка возникает только в одном. Тип данных Соответствие, но вот никак не пойму в чем может быть ошибка в данных. |
|||
11
H A D G E H O G s
26.10.22
✎
20:31
|
(10) Кинь вот этот файл
https://disk.yandex.ru/d/ADq4lm--J9lHaw в папку C:\Program Files\1cv8\conf или C:\Program Files (x86)\1cv8\conf запусти 1С в режиме предприятия, запомни PID-ы rphost.exe и 1Cv8(c).exe, выполни ошибку и поищи в папке C:\1Clogs с нужными PID-ом логи. |
|||
12
Vito
26.10.22
✎
22:52
|
(11) Конфиг файл точно такой, логи пишутся. Но логов за сегодня для 1Cv8(c).exe нет вообще, логи пишутся, т.к. логи WEB-сервера есть. Процесса rphost.exe не увидел, как и логов для него.
|
|||
13
Kassern
27.10.22
✎
09:07
|
(10) А запись json в файл пишет, или в оперативку?
|
|||
14
Vito
27.10.22
✎
20:21
|
(13) В оперативку
|
|||
15
OldCondom
28.10.22
✎
00:15
|
остатки выгружаются более 10 минут? Может все таки привести код и логику в порядок? Тем более как сказали в (13) может вся оперативка кончается.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |