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 31 23.12.16 09:35 Сейчас в теме
(1) Агент сервера под вами запущен?
4. PhoenixAOD 55 23.12.16 09:38 Сейчас в теме
5. spacecraft 23.12.16 09:39 Сейчас в теме
(1) если локально выполняется, а на сервере нет, и нет ошибок...
На сервере установлен Микрософт Офис?
Отключите обработку ошибок в коде. Попытка - Исключение. Возможно и увидите ошибки.
6. ture 233 23.12.16 09:39 Сейчас в теме
(1) Excel на сервере? любит открыть окно и спросить какую-нибудь глупость
12. ture 233 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 55 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 233 23.12.16 09:53 Сейчас в теме
(10) окно своё хочет, а работает в ограниченном пространстве возможностей (там много чего не открывается, если не консольное)
14. HIVvich 23.12.16 09:57 Сейчас в теме
Я перечитала кучу ссылок в инете, дело в том, что через кнопку на сервере все срабатывает,я писала это, регламентное задание срабатывает но в своей локальной папке, как бы это объединить - срабатывает регламентное задание в сетевой папке?:)
15. ture 233 23.12.16 09:59 Сейчас в теме
(14) сервер под доменной учеткой крутит?
16. HIVvich 23.12.16 10:00 Сейчас в теме
17. ture 233 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) Олег и все остальные, спасибо, что принимали участие,а не просто писали " что девушкам простительно", по наводке Олега я скопировала файлы, отработала их, все выполняется!
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы сервисов FRM на 1С
Москва
зарплата от 150 000 руб.
Полный день

Консультант-аналитик 1С (ЗУП)
Санкт-Петербург
Полный день