|
БП 3.0: регл.задание в серверной базе не срабатывает | ☑ | ||
---|---|---|---|---|
0
dft2014
10.07.14
✎
12:30
|
БП 3.0, УФ
Создан веб-сервис на стороне 1С, с помощью которого передаются некоторые параметры из другой программы. Эти параметры записываются в 1С в определенный регистр сведений. Также есть регламентное задание, по которому считывается содержимое этого регистра сведений, затем формируетcя печатная форма и сохраняется на диск в формате pdf. Проблема: регламентное задание отрабатывает в файловой копии базы (печ.форма создается и сохраняется на диске), а в клиент-серверной базе - нет и ошибок никаких не выдает. Почему??? И как это исправить??? |
|||
1
Холодильник
10.07.14
✎
12:39
|
Блокировка фоновых заданий не стоит?
посмотри, выполняются ли остальные регл задания |
|||
2
dft2014
10.07.14
✎
12:41
|
Вот код:
Процедура ЗапросДубликатов() Экспорт МассивДляПередачи = РегистрыСведений.ЗапросДубликатов.ПолучитьДокументыДляПередачи(); ПередатьФайлыДубликатов(МассивДляПередачи,Новый Массив,Лог); КонецПроцедуры Функция ПолучитьДокументыДляПередачи() Экспорт Массив = Новый Массив; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ //....... Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Массив.Добавить(Новый Структура("ДокументРеализации, Division", Выборка.ДокументРеализации, Выборка.Division)); КонецЦикла; Возврат Массив; КонецФункции Функция ПередатьФайлыДубликатов(МассивДляПередачи,МассивНеПереданных,Лог) Экспорт Для Каждого Строка Из МассивДляПередачи Цикл Если ЗначениеЗаполнено(Строка.Division) Тогда Структура = НапечатетьДокументДубликатов(Строка.ДокументРеализации,Строка.Division); КонецЕсли; КонецЦикла; КонецФункции Функция НапечатетьДокументДубликатов(ОбъектПечати, Каталог) Экспорт Массив = Новый Массив; Массив.Добавить(ОбъектПечати); ТабДок = Неопределено; Если ТипЗнч(ОбъектПечати) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда ТабДок = Документы.РеализацияТоваровУслуг.ПечатьАктаОбОказанииУслугИзмененный(Массив,Новый СписокЗначений); КонецЕсли; Если ЗначениеЗаполнено(Каталог) Тогда ИмяФайла = Каталог; АдресВременногоКаталога = КаталогВременныхФайлов() + ИмяФайла + ".pdf"; ТабДок.Записать(АдресВременногоКаталога,ТипФайлаТабличногоДокумента.PDF); Возврат Новый Структура("Адрес,ИмяФайла",АдресВременногоКаталога,ИмяФайла + ".pdf"); иначе Возврат 0; КонецЕсли; КонецФункции |
|||
3
Холодильник
10.07.14
✎
12:43
|
а вы точно уверены, что в серверной базе под пользователем, запустившем сервер 1С - будет доступен КаталогВременныхФайлов()? :)
Сохраняйте файл во временное хранилище для передачи его на серв |
|||
4
acsent
10.07.14
✎
12:46
|
(3) Не может быть чтоб не был доступен КаталогВременныхФайлов().
Иначе 1С не запустится |
|||
5
dft2014
10.07.14
✎
12:46
|
(1) Мое регламентное задание я вручную запускаю. Где посмотреть блокировки регл.заданий?
|
|||
6
acsent
10.07.14
✎
12:47
|
(5) На запуск вручную блокировки не распространяются
|
|||
7
dft2014
10.07.14
✎
12:49
|
(4), (6) Согласна. В чем тогда еще может быть причина?
|
|||
8
Холодильник
10.07.14
✎
12:51
|
(5) блокировки можно посмотреть в свойствах ИБ в консоли серв 1С. Выполняемые задания можно смотреть обработкой консроль заданий
|
|||
9
Холодильник
10.07.14
✎
12:51
|
*консоль заданий
|
|||
10
dft2014
10.07.14
✎
12:52
|
(8) Речь идет о БП3.0 упр.формы.
|
|||
11
acsent
10.07.14
✎
12:53
|
Пиши в ЖР после каждого шага, увидишь где падает
|
|||
12
acsent
10.07.14
✎
12:54
|
А кстати на каком диске ты ищещь файлы???
|
|||
13
dft2014
10.07.14
✎
12:55
|
(11) Это как?
(12) В смысле? |
|||
14
acsent
10.07.14
✎
12:56
|
ЗаписьЖурналаРегистрации(<ИмяСобытия>, <Уровень>, <ОбъектМетаданных>, <Данные>, <Комментарий>, <РежимТранзакции>)
|
|||
15
catena
10.07.14
✎
13:01
|
А может быть всё отрабатывает, просто файлы пишет не туда, где пользователь ищет?
|
|||
16
dft2014
10.07.14
✎
13:43
|
(15) А куда еще может сохранять, если я явно прописала путь?
|
|||
17
catena
10.07.14
✎
13:56
|
(16)Ну, КаталогВременныхФайлов он, знаешь ли у каждого свой... И у тебя, и у сервера...
|
|||
18
dft2014
10.07.14
✎
14:03
|
Вроде прояснилось: зашла на сам сервер 1С и запустила это регл.задание под СВОЕЙ учеткой. В результате оказалось, что файлы сохраняются не в моем каталоге, а в каталоге пользователя 1cserver:
C:\Users\1cserver\AppData\Local\Temp |
|||
19
dft2014
10.07.14
✎
15:32
|
Опять проблема в серверной копии базы:
Поменяла путь сохранения на сетевой путь: АдресВременногоКаталога = "\\fs03\IT\PDF\" + ИмяФайла + ".pdf"; В результате, если запускать это регл.задание локально со своего компа, то выдает ошибку доступа к каталогу: {ОбщийМодуль.ОбменSapERP.Модуль(493)}: Ошибка при вызове метода контекста (Записать) ТабДок.Записать(АдресВременногоКаталога,ТипФайлаТабличногоДокумента.PDF); по причине: Ошибка доступа к файлу '\\fs03\IT\PDF\МО8.pdf' Доступ к каталогу у пользователя 1cserver и у меня - полный. Как узнать под какой учеткой запускаются регл.задания? Я думаю, что проблема в этом. Т.к. аналогично все делаю в файловой копии базы - проблем не возникает. |
|||
20
Холодильник
10.07.14
✎
15:35
|
не мучайте сервер.
Сохраняйте файл во временное хранилище для передачи его другим пользователям |
|||
21
dft2014
10.07.14
✎
15:39
|
(20) Как сохранять во временное хранилище и как потом его передавать юзерам?
|
|||
22
Холодильник
10.07.14
✎
15:42
|
(21) поместитьФайл()
и ПолучитьИзВременногоХранилища() |
|||
23
dft2014
10.07.14
✎
15:48
|
(22) ПоместитьФайл() не будет работать на сервере, т.к его синтксис:
Доступность: Тонкий клиент, веб-клиент, толстый клиент. |
|||
24
dft2014
10.07.14
✎
15:48
|
+(23) Сервера нет в доступности!
|
|||
25
Холодильник
10.07.14
✎
15:55
|
"Как узнать под какой учеткой запускаются регл.задания?"
что сложного? ЗаписьЖурналаРегистрации(,,,,,текущийПользователь()) |
|||
26
Infsams654
10.07.14
✎
16:03
|
(23) не поместитьФайл, а ПоместитьВоВременноеХранилище
|
|||
27
Холодильник
10.07.14
✎
16:31
|
(26) та же ж. , вид сбоку
ПоместитьФайл() - прекрасно помещает файл во временное хранилище |
|||
28
dft2014
10.07.14
✎
16:33
|
(25) Ошибку выдает:
Процедура или функция с указанным именем не определена (текущийПользователь) ЗаписьЖурналаРегистрации(,,,,,<<?>>текущийПользователь()) (Проверка: Сервер) |
|||
29
acsent
10.07.14
✎
16:37
|
От имени пользователя 1с никак не меняется временный каталог
|
|||
30
acsent
10.07.14
✎
16:39
|
(19) врешь, что полный доступ. И на шару и на нтфс проверял?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |