Имя: Пароль:
1C
1С v8
Повисает регламентное задание
,
0 pv94384
 
23.09.14
07:46
Есть регламентное задание.. Раньше работало как часики, с недавних пор оно запускается и не заканчивается...

Если НЕ ЗначениеЗаполнено(КодНастройки) Тогда
        Возврат;
    КонецЕсли;
    
    trade = Новый COMобъект("V82.Application");
    trade.Connect(СтрокаСоединенияИнформационнойБазы() + "Usr=""Администратор"";Pwd=""******"";");
    НастройкаОбмена = trade.Справочники.НастройкиФормированияЗаказовПоставщикам.НайтиПоКоду(КодНастройки);
    
    Если НастройкаОбмена = НЕОПРЕДЕЛЕНО ИЛИ НастройкаОбмена.Пустая() Тогда
        Возврат;
    КонецЕсли;
    
    Если НастройкаОбмена.ПометкаУдаления Тогда
        Возврат;
    КонецЕсли;
    
    trade.Справочники.НастройкиФормированияЗаказовПоставщикам.СформироватьИОтправитьЗаказыПоставщикам(НастройкаОбмена);    
    trade.ЗавершитьРаботуСистемы(Ложь,Ложь);

Проверил отладчиком, повисает на строке
trade.Справочники.НастройкиФормированияЗаказовПоставщикам.СформироватьИОтправитьЗаказыПоставщикам(НастройкаОбмена);

Из-за чего такое может быть?
1 ДенисЧ
 
23.09.14
07:48
Из=за процедуры СформироватьИОтправитьЗаказыПоставщ....
Ваш Кэп.
2 ДенисЧ
 
23.09.14
07:48
И вообще - что изменилось в системе за "недавнюю пору"?
3 Defender aka LINN
 
23.09.14
07:49
"V82.Application", говоришь...
У тебя там окно висит модальное
4 Defender aka LINN
 
23.09.14
07:49
(2) Ну, переписали пару процедур, перешли на другую базу... Ничего серьезного, сам понимаешь
5 ДенисЧ
 
23.09.14
07:50
(4) Да сам наталкивался... Изменили настройки использования памяти кластеру и оппа... Задание молча вываливается с ошибкой, но без текста ошибки... Оказалось - просто памяти не хватало.
6 pv94384
 
23.09.14
07:52
(2) абсолютно ничего не изменилось
(3) год таким образом работало, врядли в этом дело
7 ДенисЧ
 
23.09.14
07:53
(6) "абсолютно ничего"
не верю. Вот просто не верю и всё. Чудес не бывает.
8 ДенисЧ
 
23.09.14
07:54
Вставляй отладочный вывод в журнал регистрации и лови моменты зависания.
9 pv94384
 
23.09.14
07:58
(1) нет, т.к. еще одно регламентное задание тоже висит на строке
trade.Справочники.НастройкиФормированияЗаказовПоставщикам.СформироватьИОтправитьЗаказыПоставщикам(НастройкаОбмена);
10 ДенисЧ
 
23.09.14
07:59
(9) Вместо того, чтобы пререкаться и спорить, уже начал бы делать (8)
11 pv94384
 
23.09.14
08:00
(10) этим и занимаюсь)
12 MiniMuk
 
23.09.14
08:01
Может было  НастройкаОбмена = НЕОПРЕДЕЛЕНО
13 pv94384
 
23.09.14
08:01
(12) значение определено, уже проверял
14 pv94384
 
23.09.14
08:13
Если указывать доступ напрямую, без "trade.", то всё работает
15 TormozIT
 
гуру
23.09.14
08:37
Запусти этот код на клиенте на компьютере сервера приложений и увидишь модальное окно, если конечно в нем причина.
16 Defender aka LINN
 
23.09.14
08:56
(6) Ты про то самый год, пока оно работало?
17 pv94384
 
23.09.14
09:06
(16) не понял вопроса
18 Dmitry1c
 
23.09.14
09:09
Жесть, в регламентном задании создавать объект V8Application
19 Defender aka LINN
 
23.09.14
09:09
(17) Еще раз:
1. Год задние работало
2. Кто-то что-то поменял, оно работать перестало.
3. Тебе тыкают пальцем, почему
4. Ты говоришь: "Ну раньше же работало"

Так какого ты вообще тогда тут что-то спрашиваешь? Раньше работало? Работало. Все, свободен.
20 Dmitry1c
 
23.09.14
09:09
ТС, почему не ComConnector?
21 Dmitry1c
 
23.09.14
09:11
(0) проделай те же действия, только на базе УТ, где ты можешь посмотреть в отладчике, что происходит.
22 Dmitry1c
 
23.09.14
09:11
(0) +открой для себя модуль внешнего соединения и веб-сервисы
23 Dmitry1c
 
23.09.14
09:12
(0) + ты создаешь V8.Application, а не V8.ComConnector - зачем тебе в регламентном задании создавать полноценное 1С: Предприятие с пользовательским интерфейсом?
24 Dmitry1c
 
23.09.14
09:13
(0) + у тебя потенциальный отвал работы при обновлении платформы, на которой крутится УТ - так как могут вызываться различные COM-объекты, регистрирующиеся в реестре винды.
25 hhhh
 
23.09.14
09:17
(19) всё-таки больше похоже, что ничего не меняли. Просто односторонний обмен, раньше заказы выгружали за месяц, а теперь за год. Вот и виснет.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший