Имя: Пароль:
1C
1С v8
Сохранение табличного документа в PDF на сервере
0 Evgenius
 
28.04.17
13:04
Доброго времени суток.
Из синтакс-помощника непонятно, предусмотрен ли сабж, об ограничениях и о том, что д.б. установлено, там ничего не сказано:
-----------------------------------------------------------

ТабличныйДокумент (SpreadsheetDocument)
Записать (Write)
Синтаксис:

Записать(<ИмяФайла>, <ТипФайлаТаблицы>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла, в котором сохраняется табличный документ.
<ТипФайлаТаблицы> (необязательный)

Тип: ТипФайлаТабличногоДокумента.
Формат, в котором будет сохранен табличный документ.
Значение по умолчанию: MXL
Описание:

Записывает табличный документ в файл.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

При работе на сервере, веб клиенте или через внешнее соединение нет возможности сохранять в формате XLS95.
Не поддерживается сохранение в PDF картинок типа Метафайл.
При работе на веб-клиенте вызов метода выполняет обращение к серверу.
--------------------------------------------

А де-факто при записи ТД в формате PDF в фоновом задании генерируется ошибка "Неверный путь к файлу c:\1.pdf". В форматах XLS, XLSX и в родном MXL запись проходит нормально.

Подскажите, плз, что тут нужно и можно сделать.
1 Evgenius
 
28.04.17
13:05
(0) Сразу скажу: никаких "картинок типа Метафайл" в табличном документе нет :)
2 aka AMIGO
 
28.04.17
13:17
Права у юзера на запись в С: есть?
3 Масянька
 
28.04.17
13:20
(0) ИМХО: xls и mxl - это табличные док-ты, а pdf - нет. Нужно преобразовывать, а не просто сохранять.
4 Evgenius
 
28.04.17
13:47
(3) Посмотрите описание, которое я привел выше, а также посмотрите описание системного перечисления  ТипФайлаТабличногоДокумента, в котором есть вариант "PDF", и вы без без всяких ИМХО узнаете, что 1С сама умеет создавать файлы PDF из табличных документов. И это не просто так написано, это проверено. Проблема возникает при не-интерактивном сохранении в фоновом задании.
5 Лефмихалыч
 
28.04.17
13:48
в корень диска С тебе винда не дает ни чего записать. Не пиши в корень.
6 Evgenius
 
28.04.17
13:58
(2) Я выше написал, что в форматах XLS, XLSX и в родном MXL запись проходит нормально. Разве нужны особые права на запись именно файла PDF :-)
7 Evgenius
 
28.04.17
13:58
(5) Нет, не в корень, в папку Temp, и проблемы только с файлами с определенным расширением
8 Лефмихалыч
 
28.04.17
14:03
(6) анивирусов ни каких на сервере нет?
версия платформы какая?
9 Evgenius
 
28.04.17
14:11
В общем, после того, как я залогинился на сервере непосредственно под учеткой, под которой работает агент сервера 1С, внезапно заработало сохранение таб.документов в любом формате :-). Не вру.

Всем спасибо.
(хотя неплохо было бы еще понять, что это было)
10 ildary
 
28.04.17
14:13
(9) скорей всего я тычу пальцем в небо, но в винде у пользователя SYSTEM урезаны права (возможно и на диск).
11 Лефмихалыч
 
28.04.17
14:15
(9) отсутствие чего-нибудь в реестре у пользователя, под которым сервис стартует

(10) под local system залогиниться непосредственно конструктивно не возможно
12 ildary
 
28.04.17
14:18
(11) логинился он не под system - поэтому все работало. А вот под каким процессом была выгрузка - я точно не знаю, но знаю что system мог и не справиться.
13 Господин ПЖ
 
28.04.17
14:19
>Неверный путь к файлу c:\1.pdf

за запись в корень "c" давно принято отрывать руки
14 Evgenius
 
28.04.17
14:34
(10) логинился я конечно же не под SYSTEM, так что - да, пальцем в небо :-)

(12) Думаю, что доступ к папке был админами предоставлен не сразу, и притом путем помещения пользователя в группу: после этого надо перелогиниться, такие изменения не применяются сразу. А служба уже была запущена, видать.
Хотя странно, что не потребовалось и её перестартануть...  

(13) Господин ПЖ: ниже в переписке я уже пояснил, что неверно вам путь сообщил: запись шла в c:\temp\ - это я здесь в спешке не то написал.
Не заметили, что речь только о файлах с определенным расширением? Если бы дело было в записи в корень любого файла, то проблема стала бы сразу ясна и до форума не дошла бы :-).
15 ildary
 
28.04.17
14:40
(14) еще раз поясняю - я говорил о том, что ранее файл мог записываться под учеткой system и пролетал, а после ручного логона под полной учеткой заработало.
16 Вафель
 
28.04.17
14:40
и скорее всего не с:\ писал, а это так для примера?
17 Операция 1Ы
 
28.04.17
15:14
(0) штрих-код есть в твоем пдф? Если да, то стандартным методом от 1С у тебя ничего не выйдет.
18 Evgenius
 
29.04.17
10:06
(17) Нет, штрихода нету. И проблема была также и с html, не только с pdf.
А можно ссылку, что за проблема с ШК в PDF?

(15) Поясни, пожалуйста, я не понимаю. Служба запущена под доменной учеткой, я потому и полез под ней на компьютер (чтобы обновился тикет безопасности). В каком случае запись в локальный каталог выполняется под системной учеткой при том, что агент работает от доменной?
19 Flip
 
29.04.17
11:28
(18) Ну обычно когда авторизируешься под своей доменной учетной записью, на любой машине, там в ОС начинаются какие-то процессы, которые строят рабочий стол, что-то куда-то пишут - читают, вполне возможно, что сервис - не мог получить какие-то права в ОС до интерактивного входа.
Правда, как - это связано именно с форматом pdf, не очень понятно...
20 Flip
 
29.04.17
11:33
В качестве бреда, может быть на сервере, где установлен Сервер Приложения нет софта ассоциированного с .PDF, и типа ОС отфутболивает по своим каким-нибудь причинам? :)
21 Операция 1Ы
 
02.05.17
10:44
(19)
ТабличныйДокумент (SpreadsheetDocument)
Записать (Write)
Синтаксис:

Записать(<ИмяФайла>, <ТипФайлаТаблицы>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя файла, в котором сохраняется табличный документ.
<ТипФайлаТаблицы> (необязательный)

Тип: ТипФайлаТабличногоДокумента.
Формат, в котором будет сохранен табличный документ.
Значение по умолчанию: MXL
Описание:

Записывает табличный документ в файл.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

При работе на сервере, веб клиенте или через внешнее соединение нет возможности сохранять в формате XLS95.
Не поддерживается сохранение в PDF картинок типа Метафайл.
При работе на веб-клиенте вызов метода выполняет обращение к серверу. Справка (c)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший