|
При запуске фонового задания не срабатывает ".СоздатьДокумент()" | ☑ | ||
---|---|---|---|---|
0
Natulea27
21.04.15
✎
08:46
|
здраствуйте. Помогите пожалуйста. Есть фоновое задание, которое запускает обработку которая перекачивает из базы персонала в базу по зарплате все данные. Если я запускаю обработку вручную все работает, а ечли в фоновом режиме документы "Начисление отпускных" не закачивают. запустила отладку для фоновых заданий и обнаружила что в фовом режиме для документа "начисление отпускных" отладчик выбивает при вызове метода "СоздатьДокумент()". Помогите пожалуйста разобраться в чем дело?
|
|||
1
alexei366
21.04.15
✎
09:27
|
(0) Красавица, ты хоть опиши какую ошибку тебе выдает, какое её описание?
|
|||
2
Natulea27
21.04.15
✎
15:07
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | НачислениеОтпускаРаботникамОрганизаций.Ссылка КАК НачислениеОтпуска |ИЗ | Документ.НачислениеОтпускаРаботникамОрганизаций КАК НачислениеОтпускаРаботникамОрганизаций |ГДЕ | НачислениеОтпускаРаботникамОрганизаций.докУвольнения.Ссылка = &докУвольнения |И НачислениеОтпускаРаботникамОрганизаций.ВидРасчетаКомпенсацияОтпуска = &ВидРасчета"; Запрос.УстановитьПараметр("докУвольнения", докУвольнения.Ссылка); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.НайтиПоКоду(7)); резЗапроса = Запрос.Выполнить().Выгрузить(); Если резЗапроса.Количество() = 0 Тогда Возврат Документы.НачислениеОтпускаРаботникамОрганизаций.СоздатьДокумент(); Иначе Возврат резЗапроса[0].НачислениеОтпуска.ПолучитьОбъект(); КонецЕсли; На строке окументы.НачислениеОтпускаРаботникамОрганизаций.СоздатьДоку отладчик зависает и не заканчивает процедудуру, а выбивает......в ручном режиме обработка отрабатывает хорошо |
|||
3
Natulea27
21.04.15
✎
15:08
|
Ошибку никаю не выдает просто не отрабатывает создатьДокумент
|
|||
4
D_E_S_131
21.04.15
✎
16:49
|
(3) Сделайте там следующее:
Потом смотрите результат в ЖР. |
|||
5
piter3
21.04.15
✎
16:53
|
что это за реквизит докУвольнения?ваши дописки?
|
|||
6
piter3
21.04.15
✎
16:55
|
гм а пол-ля,который запускает задание права-то есть?
|
|||
7
DrShad
21.04.15
✎
16:55
|
резЗапроса = Запрос.Выполнить();
Если резЗапроса.Пустой() Тогда и это переделать |
|||
8
D_E_S_131
21.04.15
✎
16:57
|
(7) Тогда уж и в текст запроса добавить "ВЫБРАТЬ ПЕРВЫЕ 1".
|
|||
9
Natulea27
21.04.15
✎
17:37
|
Функция ПолучитьДокНачислениеНеиспОтпуска (докУвольнения)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачислениеОтпускаРаботникамОрганизаций.Ссылка КАК НачислениеОтпуска |ИЗ | Документ.НачислениеОтпускаРаботникамОрганизаций КАК НачислениеОтпускаРаботникамОрганизаций |ГДЕ | НачислениеОтпускаРаботникамОрганизаций.докУвольнения.Ссылка = &докУвольнения |И НачислениеОтпускаРаботникамОрганизаций.ВидРасчетаКомпенсацияОтпуска = &ВидРасчета"; Запрос.УстановитьПараметр("докУвольнения", докУвольнения.Ссылка); Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.НайтиПоКоду(7)); резЗапроса = Запрос.Выполнить().Выгрузить(); Если резЗапроса.Количество() = 0 Тогда Попытка Возврат Документы.НачислениеОтпускаРаботникамОрганизаций.СоздатьДокумент(); Исключение ИнфоОбОшибке = ОписаниеОшибки(); ИнформацияОСобытии = ""+ИнфоОбОшибке.Описание+" в строке ("+ИнфоОбОшибке.НомерСтроки+"): """+ СокрЛП (ИнфоОбОшибке.ИсходнаяСтрока)+""" в модуле: "+ИнфоОбОшибке.ИмяМодуля; ЗаписьВРегистрСобытийЗагрузкиИзПерсонала (Перечисления.ТипыСобытий.Ошибка, Перечисления.ТипыСобытийЗагрузки.ЗагрузкаОбъекта, ИнформацияОСобытии, , ); КонецПопытки; Иначе Возврат резЗапроса[0].НачислениеОтпуска.ПолучитьОбъект(); КонецЕсли; КонецФункции |
|||
10
Natulea27
21.04.15
✎
17:39
|
вы понимаете не доходит он до "Исключение", а просто вылетает и ошибку ек выдает не входит в исключение
|
|||
11
D_E_S_131
21.04.15
✎
17:40
|
ИМХО не надо делать "Возврат" в "Попытке". Просто получи новый объект, а уже при успешном получении возвращай его.
|
|||
12
Natulea27
21.04.15
✎
17:54
|
переделала, но все равно доходит до
докОтпуск= Документы.НачислениеОтпускаРаботникамОрганизаций.СоздатьДокумент(); и выходит ипроцедура |
|||
13
Natulea27
21.04.15
✎
17:54
|
в ручном режиме все отлтчно, может прав каких-то не хватает?
|
|||
14
dauster
21.04.15
✎
18:00
|
(13) имхо, тут либо права, либо система не может нормально скомпилировать модуль документа (возможно, добавлено что-то, использующее глобальные переменные, не инициализированные для РЗ).
|
|||
15
Natulea27
21.04.15
✎
18:03
|
дело в том что так жке закачиваються и другие доки, приказы о приеме и увольнее, кадровые перемещения....А этот документ меня просто достал....С правами не знаю где уже искатьб права вроде как и у остальных документах
|
|||
16
dauster
21.04.15
✎
18:06
|
(15) модуль документа типовой? ничего не добавлено в область инициализации переменных модуля?
|
|||
17
Natulea27
21.04.15
✎
18:13
|
да типовой
|
|||
18
dauster
21.04.15
✎
18:17
|
(17) значит права проверьте, можно программно вилку сделать.
Если НЕ ПравоДоступа("Добавление", Метаданные.Документы.НачислениеОтпускаРаботникамОрганизаций) Тогда ЗаписьЖурналаРегистрации(...); Иначе ... СоздатьДокумент(); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |