Не выполняется регл.задание

1. HIVvich 23.12.16 09:23 Сейчас в теме
Ребята, помогайте, весь инет перелазила. Создаю отдельную тему. У меня есть модуль с галочками (Сервер, вызов сервера, клиент (обычное), внешнее приложение), обработка, которая забирает данные из екселевских файлов с сервера себе в базу, при этом копирует эти файлы в архивную папку и создает отчеты, сохранив их так же в папку на сервере. По кнопке модуль выполняется, регламентное задание выполнять его отказывается,а точнее запускаю его в консоли и оно просто зависает, возможно что-то делает, но что? ошибок не выпадает, отчеты не создает, ничего никуда не копирует. Создали мне мега-пользователями со всеми правами, под ним запускаю это регламентное задание, сервер развернут на моем компе, т.е. я запускаю регл.задание с сервера под своим мега-админом со всеми правами, в агенте сервера 1с-Предприятие админ прописан, под ним и запущена 1с-ка, но задание висит, без ошибок и ничего не исполняет.
Вот часть кода:
        Каталог = "\\it-file\--\ФайлыПроверки\";
	КаталогАрхив = "\\it-file\--\ФайлыПроверки\Архив\";
	
	

	Расш = ".xlsx";
	
	//подключаемся к эксел
	
	Excel = Новый COMОбъект("Excel.Application");
	
	НайденныеФайлы = НайтиФайлы(Каталог,"*.xls",);
	ТекДата = Формат((ТекущаяДата() - 60*60*24), "ДФ=dd.MM.yyyy"); //т.к. выгрузка будет производиться ночью, то отнимаю день, т.к. данные вчерашние
	
	Для каждого ТекФайл Из НайденныеФайлы Цикл
	
	
		   Попытка
				//Excel.WorkBooks.Open(Дир + (ИмяФайла+Строка(х)) + Расш);
				Excel.WorkBooks.Open(ТекФайл.ПолноеИмя);
			Исключение
				Продолжить;
			КонецПопытки;
		
				
	Попытка 
		//Открываем необходимый лист
		Excel.Sheets(1).Select();  // лист 1, по умолчанию  
	Исключение
		//Закрываем Excel
		Excel.ActiveWorkbook.Close(); 	
		Excel = 0;
		
		Возврат;
	КонецПопытки;	
	

	//Получим количество строк и колонок.
	//В разных версиях Excel получаются по-разному, поэтому сначала определим версию Excel
	Версия = Лев(Excel.Version,Найти(Excel.Version,".")-1);
	Если Версия = "8" тогда
		ФайлСтрок   = Excel.Cells.CurrentRegion.Rows.Count;
		ФайлКолонок = Макс(Excel.Cells.CurrentRegion.Columns.Count, 13);
	Иначе
		ФайлСтрок   = Excel.Cells(1,1).SpecialCells(11).Row;
		ФайлКолонок = Excel.Cells(1,1).SpecialCells(11).Column;   
	Конецесли;
	
	//вначале циклом я пробегаю по датам и строкам водозабор и сохраняю в тз
	ТЗ = Новый ТаблицаЗначений;
	ТЗ.Колонки.Добавить("Водозабор");
	ТЗ.Колонки.Добавить("ДатаДо");
	Стр = ТЗ.Добавить();
	
	Для НС = 2 по ФайлСтрок Цикл
-------------------------много кода-----------------
НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);
	 
	 //закрою лист excell
	 		Попытка
				Excel.WorkBooks.Close();
			Исключение
				Продолжить;
			КонецПопытки;

	
	 КопироватьФайл(ТекФайл.ПолноеИмя, КаталогАрхив + ТекФайл.ИмяБезРасширения + "_" + ТекДата + ТекФайл.Расширение);  //перемещение файла в архивную папку
	 
	 //печать отчетов для каждого водозабора
	 Для каждого Строк Из ТЗ Цикл
		 СуточныеПоказания(Строк.Водозабор, Строк.ДатаДо);
     КонецЦикла;
	 
 КонецЦикла;

	 	Excel.Application.Quit();
		Excel = 0;

Показать

У меня есть подозрения на функции НайтиФайлы и КопироватьФайл и еще правильно ли расставлены слеши в названии каталога? я на самомо деле уже просто не знаю куда копать. Если указать папку у себя на компе, регламентное задание выполняется, т.е. сам код ему подходит, дело в правах? или в чем еще?
По теме из базы знаний
Найденные решения
31. spacecraft 23.12.16 12:04 Сейчас в теме
(30) это не поможет. Excel при открытии файла по сети выдает предупреждение безопасности, что будет только чтение. А так как показать это некуда - зависает.
HIVvich; Vitaly1C8; +2 Ответить
29. spacecraft 23.12.16 11:56 Сейчас в теме
(26) Что-то в этом роде:
Для каждого ТекФайл Из НайденныеФайлы Цикл
    ИмяФайл = ПолучитьИмяВременногоФайла(".xls");
    КопироватьФайл(ТекФайл.ПолноеИмя, ИмяФайл);
    МассивФайлов.Добавить(ИмяФайл);
КонецЦикла;
	
	
Для Каждого ИмяФайл Из МассивФайлов Цикл
...
Показать
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. dmt 66 23.12.16 09:35 Сейчас в теме
(1) Агент сервера под вами запущен?
4. PhoenixAOD 62 23.12.16 09:38 Сейчас в теме
(1) слеши другие нужны "/"
5. spacecraft 23.12.16 09:39 Сейчас в теме
(1) если локально выполняется, а на сервере нет, и нет ошибок...
На сервере установлен Микрософт Офис?
Отключите обработку ошибок в коде. Попытка - Исключение. Возможно и увидите ошибки.
6. ture 606 23.12.16 09:39 Сейчас в теме
(1) Excel на сервере? любит открыть окно и спросить какую-нибудь глупость
12. ture 606 23.12.16 09:50 Сейчас в теме
(1) девушке простительно не знать, товарищи!
Там можно обойтись без Excel совсем, но если Вам хочется шикарно нагреть мозг, то можно использовать ADODB
3. HIVvich 23.12.16 09:37 Сейчас в теме
да, под моим мега-пользователем
7. HIVvich 23.12.16 09:44 Сейчас в теме
Ексель есть на сервере, открывала его, закрывала, все хорошо, не спрашивает левого. Сейчас поменяла слеши на обратные, так же висит, как худая зараза. Сейчас исключения уберу - попробую.
9. spacecraft 23.12.16 09:46 Сейчас в теме
(7) скорее всего ошибку даст на Excel.WorkBooks.Open(ТекФайл.ПолноеИмя);
8. PhoenixAOD 62 23.12.16 09:46 Сейчас в теме
про слеши соврал, с SetRetail перепутал. у меня в похожей задаче кот так фалы хватаются
ИмяФайла=  Запись.ПутьКПапкеОбмена+"\"+Запись.Префикс+"_"+Формат(Дата,"ДФ=dd.MM.yyyy")+".xlsx"; 		
		ПутьКАрхиву=Запись.ПутьКАрхиву;

выполняется на ура
10. HIVvich 23.12.16 09:48 Сейчас в теме
Прикол в том, что даже ошибок не выдает, просто зависает, и не выполняет ничего.
11. spacecraft 23.12.16 09:49 Сейчас в теме
13. ture 606 23.12.16 09:53 Сейчас в теме
(10) окно своё хочет, а работает в ограниченном пространстве возможностей (там много чего не открывается, если не консольное)
14. HIVvich 23.12.16 09:57 Сейчас в теме
Я перечитала кучу ссылок в инете, дело в том, что через кнопку на сервере все срабатывает,я писала это, регламентное задание срабатывает но в своей локальной папке, как бы это объединить - срабатывает регламентное задание в сетевой папке?:)
15. ture 606 23.12.16 09:59 Сейчас в теме
(14) сервер под доменной учеткой крутит?
16. HIVvich 23.12.16 10:00 Сейчас в теме
17. ture 606 23.12.16 10:02 Сейчас в теме
(16) Вопрос скорее для порядка - "и доступ у учетки есть?"
18. HIVvich 23.12.16 10:03 Сейчас в теме
Да, я уже написала, что у меня доменная учетка со всеми правами.
19. HIVvich 23.12.16 10:06 Сейчас в теме
Кстати,я убрала исключения, но ничего не изменилось, регл.задание зависло, ошибок не выдал.
20. spacecraft 23.12.16 10:50 Сейчас в теме
(19) ссылки смотрели?
Папки создали?
C:\Windows\SysWOW64\config\systemprofile\Desktop
C:\Windows\System32\config\systemprofile\Desktop
21. HIVvich 23.12.16 11:12 Сейчас в теме
Создала папку, не помогло. Ребята,а что по поводу функций НайтиФайлы и КопироватьФайл? они нормальны для регламентного задания? глупый вопрос, конечно, ведь регламентное задание на локальных дисках отрабатывает...
23. spacecraft 23.12.16 11:19 Сейчас в теме
(21) они доступны на сервере, значит нормально.
регламентное задание на локальных дисках отрабатывает...

т.е. это же регламентное задание, но с локальными файлами отрабатывает? Именно регламентное, а не запуск вручную.
24. HIVvich 23.12.16 11:23 Сейчас в теме
(23) Да, именно регламентное задание, подчеркиваю, отрабатывает без ошибок со всем нужным мне, на локальных дисках.

(22) попробую
25. spacecraft 23.12.16 11:36 Сейчас в теме
(24) не сразу заметил.
Excel.WorkBooks.Open(ТекФайл.ПолноеИмя);

Это Вы открываете файл по сети. То что ищите по сети, это нормально. Но вот открывать файл его... Сначала нужно скопировать на сервер, и уже там его открывать!
26. HIVvich 23.12.16 11:41 Сейчас в теме
(25) т.е. что я должна написать? подскажите, пожалуйста
29. spacecraft 23.12.16 11:56 Сейчас в теме
(26) Что-то в этом роде:
Для каждого ТекФайл Из НайденныеФайлы Цикл
    ИмяФайл = ПолучитьИмяВременногоФайла(".xls");
    КопироватьФайл(ТекФайл.ПолноеИмя, ИмяФайл);
    МассивФайлов.Добавить(ИмяФайл);
КонецЦикла;
	
	
Для Каждого ИмяФайл Из МассивФайлов Цикл
...
Показать
22. Frogger1971 23.12.16 11:16 Сейчас в теме
чтобы отловить где зависает попрописывайте везде
ЗаписьЖурналаРегистрации() и смотрите на каком месте зависает

чтобы не переводить сервер в режим debug
27. Vitaly1C8 23.12.16 11:49 Сейчас в теме
Советую еще раз проверить то о чём уже писали в этой теме.
1. Проверить под КАКИМ юзером запущена служба "Агент сервера 1С"
2. Проверить есть ли у этого юзера ПРАВА на папку "\\it-file\--\ФайлыПроверки\"

Да и уж раз речь зашла о Эксель файлах. Надо убедиться что в этих файлах НЕ ВЫСТАВЛЕНЫ фильтры по колонкам
28. HIVvich 23.12.16 11:54 Сейчас в теме
(27) Виталий, у агента мой пользователь (доменный супер-юзер со всеми правами). Фильтров нет. Нужно ли действительно записывать где-то файл перед открытием, кто-нибудь бы скинул часть кода у кого как отрабатывают такие задания, ведь много же людей делали что-то подобное.
30. Vitaly1C8 23.12.16 11:57 Сейчас в теме
(28) И ещё остается - ВСТАТЬ на сетевую папку и проверить ПРАВА
31. spacecraft 23.12.16 12:04 Сейчас в теме
(30) это не поможет. Excel при открытии файла по сети выдает предупреждение безопасности, что будет только чтение. А так как показать это некуда - зависает.
HIVvich; Vitaly1C8; +2 Ответить
32. HIVvich 23.12.16 13:22 Сейчас в теме
(31) Олег и все остальные, спасибо, что принимали участие,а не просто писали " что девушкам простительно", по наводке Олега я скопировала файлы, отработала их, все выполняется!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот