Имя: Пароль:
1C
1С v8
что может быть не так с регл. заданием
0 zippygrill
 
15.04.13
13:41
была настроена регл.задание для выгрузки/загрузки данных из периферийной базы. после обновление конфы она перестала выполняться :) как всегда :).
вручную выполняеться при нажатье на "Синхронизировать сейчас". вот наглядный пример что "не вручном" режиме она не выполняеться.
на скрине видно что посл. раз выполнилось сегодня в 13:16 и то я нажал на синхр. сейчас. просло больше 900 секунд а она молчит :)  https://dl.dropboxusercontent.com/u/9627383/Screens/реглЗадание.jpg
1 Нуф-Нуф
 
15.04.13
13:44
блокировка регламентных заданий?
2 zippygrill
 
15.04.13
13:46
галочка не включена :)
3 vtolga
 
15.04.13
13:46
От какого пользователя сервер стартует? Может, ему каталог обмена недоступен (если обмен через каталог)
4 Нуф-Нуф
 
15.04.13
13:47
а журнал регистрации говорит чего-нибудь?
5 zippygrill
 
15.04.13
13:48
(3) USR1cv8 - так было всегда. и если бы у него небыло бы прав на этот фтп ресурс то в ошибках бы видел.
6 zippygrill
 
15.04.13
13:49
я для начало пытаюсь локализовать причину невыполнения регл.задании. вроде в настройках самой регл. задание все четко
7 zippygrill
 
15.04.13
13:53
в список всех регл. заданиях она неопределено(первое для выгрузки, 2-я для загрузки)
8 zippygrill
 
15.04.13
13:53
9 zippygrill
 
15.04.13
16:14
открыв регл.задание вижу что поле Пользователь не заполнено(в копии базы до обновление также незаполено). хорошо. В ЖР вижу ошибку которая ссылается на такой кусок кода:

Процедура ПроверитьВозможностьВыполненияОбменов() Экспорт
   
   Если Не Пользователи.РолиДоступны("ВыполнениеСинхронизацииДанных, НастройкаСинхронизацииДанных") Тогда
       
       ВызватьИсключение НСтр("ru = 'Нет прав на выполнение обменов данными.'");
       
   КонецЕсли;
   
КонецПроцедуры

как понять регл.задание выполняеться от имень текущего пользователя или USR1CV82 раз ругаеться на процедуру выше.
10 zippygrill
 
15.04.13
16:27
короче тут все ясно. регл. задание выполняется от имень тек пользователя

Функция РолиДоступны(Знач ИменаРолей, Пользователь = Неопределено) Экспорт
   
   Если ЭтоПолноправныйПользователь(Пользователь, , Ложь) Тогда
       Возврат Истина;
   КонецЕсли;
   
   УстановитьПривилегированныйРежим(Истина);
   
   Если Пользователь = Неопределено ИЛИ Пользователь = АвторизованныйПользователь() Тогда
       ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
       
   ИначеЕсли ТипЗнч(Пользователь) = Тип("ПользовательИнформационнойБазы") Тогда
       ПользовательИБ = Пользователь;
       
   Иначе
       // Указан не текущий пользователь.
       ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
           ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "ИдентификаторПользователяИБ"));
       
       Если ПользовательИБ = Неопределено Тогда
           Возврат Ложь;
       КонецЕсли;
   КонецЕсли;
   
   УказанТекущийПользовательИБ = ПользовательИБ.УникальныйИдентификатор = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
   
   МассивИменРолей = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИменаРолей);
   Для каждого ИмяРоли Из МассивИменРолей Цикл
       
       Если УказанТекущийПользовательИБ Тогда
           Если РольДоступна(СокрЛП(ИмяРоли)) Тогда
               Возврат Истина;
           КонецЕсли;
       Иначе
           Если ПользовательИБ.Роли.Содержит(Метаданные.Роли.Найти(СокрЛП(ИмяРоли))) Тогда
               Возврат Истина;
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;
   
   Возврат Ложь;
   
КонецФункции
11 zippygrill
 
16.04.13
09:18
ребята помогите понять как действует система в таком случае.
регл. задание должно выполняьтся в 10:00. если база НЕ запущена то регл.задание будет выполняться или нет исходя из сл. кода:

Процедура ПроверитьВозможностьВыполненияОбменов() Экспорт
   
   Если Не Пользователи.РолиДоступны("ВыполнениеСинхронизацииДанных, НастройкаСинхронизацииДанных") Тогда
       
       ВызватьИсключение НСтр("ru = 'Нет прав на выполнение обменов данными.'");
       
   КонецЕсли;
   
КонецПроцедуры

Функция РолиДоступны(Знач ИменаРолей, Пользователь = Неопределено) Экспорт
   
   Если ЭтоПолноправныйПользователь(Пользователь, , Ложь) Тогда
       Возврат Истина;
   КонецЕсли;
   
   УстановитьПривилегированныйРежим(Истина);
   
   Если Пользователь = Неопределено ИЛИ Пользователь = АвторизованныйПользователь() Тогда
       ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
       
   ИначеЕсли ТипЗнч(Пользователь) = Тип("ПользовательИнформационнойБазы") Тогда
       ПользовательИБ = Пользователь;
       
   Иначе
       // Указан не текущий пользователь.
       ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
           ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "ИдентификаторПользователяИБ"));
       
       Если ПользовательИБ = Неопределено Тогда
           Возврат Ложь;
       КонецЕсли;
   КонецЕсли;
   
   УказанТекущийПользовательИБ = ПользовательИБ.УникальныйИдентификатор = ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор;
   
   МассивИменРолей = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИменаРолей);
   Для каждого ИмяРоли Из МассивИменРолей Цикл
       
       Если УказанТекущийПользовательИБ Тогда
           Если РольДоступна(СокрЛП(ИмяРоли)) Тогда
               Возврат Истина;
           КонецЕсли;
       Иначе
           Если ПользовательИБ.Роли.Содержит(Метаданные.Роли.Найти(СокрЛП(ИмяРоли))) Тогда
               Возврат Истина;
           КонецЕсли;
       КонецЕсли;
   КонецЦикла;
   
   Возврат Ложь;
   
КонецФункции
12 zippygrill
 
21.04.13
00:02
Ап
13 sanja26
 
21.04.13
00:52
(11) будет.
В клиент-серверном варианте работы запуск регламентных заданий по расписанию осуществляет менеджер кластера. Таким образом, даже если с информационной базой не установлено ни одного клиентского соединения, регламентные задания будут выполняться (при условии, что они не запрещены для конкретной информационной базы)

http://v8.1c.ru/overview/Term_000000154.htm
14 sanja26
 
21.04.13
00:54
Если Пользователь = Неопределено ИЛИ Пользователь = АвторизованныйПользователь() Тогда
       ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();

по-моему запрещено запускать базу под неавторизованным пользователем, если есть хоть один заведенный пользователь. так что лучше задай пользователя  для задания
15 zippygrill
 
07.05.13
15:38
ну я задал Пользователя для регл. задание. она по прежнему молчит елки палки.
16 kosts
 
07.05.13
15:47
Проверь конфигурацию с признаком "Сервер". Возможно в модулях где-то есть функции или еще что, которое запрещено на сервере.
17 zippygrill
 
07.05.13
15:51
(16) как ее проверить? ТИИ?
18 zippygrill
 
07.05.13
16:36
если я убираю пользователя из этой регл.задание то она начинает выполняться. но в ЖР вижу ошибку о том что у пользователя нету прав на выполнение обмена. тоже самое что в (9) написано
19 tomvlad
 
07.05.13
16:48
20 zippygrill
 
07.05.13
16:49
(19) по моему нету у меня доступа к этому разделу сайта. не скопируешь сюда?
21 kosts
 
07.05.13
17:32
(18) У пользователя должны быть права на изменение соответствующего плана обмена, вроде.
22 zippygrill
 
07.05.13
18:03
ВыполнениеСинхронизацииДанных, НастройкаСинхронизацииДанных; ясно. а у какого пользователя? :)
23 Злопчинский
 
14.05.13
00:16
а хз. с аналогичной проблемой столкнулись (не я! но при моем участии) в 2008 году на 8-ке - когда "регламентное задание" при ручном нажатии на кнопку - отрабатывало, а по "расписанию" - фигушки... после этого 8-ка в моих глазах резко поплохела.. ;-) так и сижу на клюшках ;-)
24 zippygrill
 
14.05.13
10:12
:)не замедляй с 8.2
25 zippygrill
 
21.05.13
14:46
апну свою сагу с регл.заданием :)
26 zippygrill
 
21.05.13
15:05
я конечно могу извращаться и конфу менять, убрать функцию "ПроверитьВозможностьВыполненияОбменов()" и пусть выполняется до посинения.
27 zippygrill
 
22.05.13
10:24
обновлю.
28 zippygrill
 
23.05.13
08:42
было выбрано временное решение закомментировать этот кусок кода где проверяется на наличие прав на выполнение обменов:  
Процедура ПроверитьВозможностьВыполненияОбменов() Экспорт
   
   //Если Не Пользователи.РолиДоступны("ВыполнениеСинхронизацииДанных, НастройкаСинхронизацииДанных") Тогда
       
       //ВызватьИсключение НСтр("ru = 'Нет прав на выполнение обменов данными.'");
       
   КонецЕсли;
   
КонецПроцедуры
29 zippygrill
 
23.05.13
08:43
посмотрю уже в сл. обновление конфигурации что с этим.
30 Infsams654
 
23.05.13
08:53
(29) поставь сразу в обработчике задания ЗаписьЖурналаРегистрации(... , если ничего в РЖ не появляется, то проблему ищем в пользователях, а если есть запись, то по шагам дальше (можно в отладчике, если debug сможешь настроить, или последовательно ЗаписьЖурналаРегистрации(...
31 zippygrill
 
23.05.13
08:56
немножко не понял твою мысль. что записать в ЖР?
32 Infsams654
 
23.05.13
09:00
(31) ну то, что обработчик сработал, типа "Рег. задание стартовало, ура!!!". Если в ЖР такой записи не появиться, то значит рег. задание не поднялось и надо искать проблему в настройках, если запись в ЖР есть, то далее смотреть, что не так работает в обработчике ...
33 Serg_1960
 
23.05.13
09:13
Дабы обсуждение вернулось в нужную канву, напоминаю (0):
"...после обновление конфы она перестала выполняться"(тс)
34 elisabet
 
23.05.13
09:24
Судя по картинке - это УТ11. В конфигураторе в задании жмем кнопку дополнительно -  там есть область данных - общие реквизиты , ставим флаг в "не использовать", выставляем расписание, обновляем конфу, и ву-а-ля, все должно заработать.
35 zippygrill
 
23.05.13
09:27
(34) конфигурация Розница 2.0.7.6. Регл.задание была добавлена в режиме предприятие :)
36 Serg_1960
 
23.05.13
09:28
Хмм... лет сто назад, в аналогичной ситуации, мне посоветовали  почитать СП на тему "РегламентноеЗадание.ИмяПользователя" :)
37 zippygrill
 
23.05.13
09:32
(34) есть в конфигураторе регл.задание "СинфронизацияДанных" но я боюсь что она выполняется не только ПоМагазину но и по РабочемуМесту и все остальные "виды обмена".
(36) давай подробно. на всякий случай когда я указываю ИмяПользователя в регл.задание то она вообще вообще не выполняется.
38 zippygrill
 
23.05.13
09:34
(34) но я твой метод попробую обязательно.
39 Infsams654
 
23.05.13
10:12
(38) ну и чё, получилось ?
40 zippygrill
 
23.05.13
10:20
(39) сейчас, тут какой-то аврал работы :)
41 zippygrill
 
23.05.13
11:25
не дает изменить, говорит
"Обьект ОбщийРеквизит.ОбластьДанных заблокирован"
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.