|
Не получается записать программно текстовый файл | ☑ | ||
---|---|---|---|---|
0
demmix
19.02.14
✎
15:09
|
Здравствуйте.
Есть обработка внешняя которая читает xml и создает по ним документы, и в конце работы создается txt`шный файл с логами. В ручную если запускать обработку файл записывается, но если создать регламентное задание и вызывать эту внешнюю обработку то файл не записывается, и ошибка никакая не выскакивает. Права на папку в которую файлик должен записываться есть. Кто нибудь сталкивался? |
|||
1
ale-sarin
19.02.14
✎
15:11
|
(0) Сервер?
|
|||
2
ДенисЧ
19.02.14
✎
15:12
|
Регламент выполняется на сервере. Правов не хватат.
|
|||
3
ale-sarin
19.02.14
✎
15:14
|
Скорее папки там нет.
|
|||
4
demmix
19.02.14
✎
15:14
|
(1) Да,Сервер
(2) а достаточно ли поставить пользователю, от которого запускается регл.задание, права на папку , или еще что-то нужно сделать ? |
|||
5
Torquader
19.02.14
✎
15:17
|
Папка должна быть на сервере, а также пользователь, под которым работает сервер 1С, должен иметь право на запись в эту папку.
Если диск сетевой (шара), то также нужно не забыть про права доступа и то, что для другого пользователя доступ к шаре может быть другим. |
|||
6
demmix
19.02.14
✎
15:22
|
(5) Папка находится на сервере, доступ к папке тоже дал.
|
|||
7
Torquader
19.02.14
✎
16:07
|
Тогда должен писать.
Только путь на сервере должен быть локальный (а не сетевой). |
|||
8
demmix
19.02.14
✎
16:22
|
(7) Путь локальный, права есть, уже все перепробовал...тогда вопрос,а как можно отладчиком пройтись по тому что выполняет это регламентное задание ?
|
|||
9
Wobland
19.02.14
✎
16:23
|
(7) я вот сегодня лог по сетевому пути писал, чисто на автопилоте
|
|||
10
demmix
19.02.14
✎
16:24
|
(9) процедурка которая в итоге лог у тебя записывает выполняется на клиенте?
|
|||
11
Wobland
19.02.14
✎
16:24
|
(8) в ЖР пиши что-нибудь
(10) нет |
|||
12
Fram
19.02.14
✎
16:28
|
(10) 99% что не выполнено условие "пользователь, под которым работает сервер 1С, должен иметь право на запись в эту папку"
|
|||
13
demmix
19.02.14
✎
16:28
|
(11) да я в журнал пишу, там норм. Мне именно в txt нужен файлик...смысл там в том чтобы по xml файлам создавать документы, записывать лог, создавать папку и копировать все в созданную папку(лог и xml файлики отработаные), а не происходит ничего что связано с записью на диск и с копированием...тут либо лыжи не едут, либо я.
|
|||
14
Wobland
19.02.14
✎
16:29
|
и ещё 47% на неправильный запуск внешней обработки
|
|||
15
Torquader
19.02.14
✎
16:29
|
(12) Ему это уже сказали.
Просто, пользователь, под которым работает сервер - это 1S чего-то там. |
|||
16
Wobland
19.02.14
✎
16:30
|
(13) что ты такого туда пишешь, что всё внезапно оказывается хорошо?
|
|||
17
Torquader
19.02.14
✎
16:30
|
Кстати, если хочется "дописать" текстовый файл, то нужно понимать, что его создавали под другим пользователем, и не факт, что его увидят, даже если есть права на папку.
|
|||
18
demmix
19.02.14
✎
16:32
|
пользователь USR1CV82, права есть...на папку стоят права "все", в том числе и у пользователя USR1CV82 есть полные права на папку. Где еще права пользователю можно расширенные врубить?
|
|||
19
Fram
19.02.14
✎
16:33
|
(13) тут без отладки каждого шага, пожалуй, не обойтись
|
|||
20
demmix
19.02.14
✎
16:34
|
(16) в журнал пишу что-то типо :
ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! Внешняя обработка по наименованию ЗагрузкаСчетов не найдена", УровеньЖурналаРегистрации.Предупреждение); плюс в журнал попадают записи о созданных объектах |
|||
21
demmix
19.02.14
✎
16:35
|
(19) да отладчиком по обработке прохожусь,все норм... проблема сто пудово в правах, но я уже запарился головой биться
|
|||
22
Fram
19.02.14
✎
16:35
|
(20) а ОписаниеОшибки?
|
|||
23
Wobland
19.02.14
✎
16:35
|
ну получи имя временного файла в качестве танцев с бубном
|
|||
24
Wobland
19.02.14
✎
16:36
|
+(23) и в ЖР его
|
|||
25
demmix
19.02.14
✎
16:36
|
(22) да дело в том что нет ошибок, обработка в регл.задании запускается по расписанию, отрабатывается, НО не записывает лог
|
|||
26
demmix
19.02.14
✎
16:37
|
(24) всмысле имя временного файла? это ТабличныйДокумент который сформирован но не записан?
|
|||
27
Wobland
19.02.14
✎
16:38
|
(26) в смысле пускай платформа сама себе выберет удобный файл для лога
|
|||
28
Torquader
19.02.14
✎
16:38
|
(18) Запускай через RunAs cmd.exe от этого пользователя на сервере - заходи в папку и пытайся там что-то создать - проверишь, что происходит - только после успешного создания файла можно переходить к 1С.
|
|||
29
Torquader
19.02.14
✎
16:39
|
(25) А не пробовал посмотреть скрытые файлы в папке - а то, может быть, она-то вам всё записала, но вам прав на чтение её файлов не дали.
|
|||
30
Господин ПЖ
19.02.14
✎
16:39
|
я надеюсь не в корень диска c
|
|||
31
Torquader
19.02.14
✎
16:40
|
(30) А что, в корень писать не кошерно ? Обычно "суперпользователи" могут туда писать - а для обычных "зверей" файл в корне найти проще, чем в папке.
|
|||
32
Wobland
19.02.14
✎
16:41
|
ну вас в корень с вашими логами. наши с финнами уже в прямом эфире
|
|||
33
demmix
19.02.14
✎
16:43
|
(30) Нет не в корень))
(32) Эх! а я вот с этим г***ом разбираюсь) |
|||
34
bvg
19.02.14
✎
16:45
|
(0) читай (23) пока не будет просветления
|
|||
35
demmix
19.02.14
✎
16:46
|
(34) получил имя временного, нет просветления, куда дальше?
|
|||
36
bvg
19.02.14
✎
16:49
|
(35) как вариант запиши в базу как двоичные данные , потом сохраняй на локалку когда регламентное отработает
|
|||
37
Torquader
19.02.14
✎
16:55
|
(35) Ты (28) делал ?
Просто, чтобы убедиться, что файл нельзя создать - нужно проверить, что это так. (36)+ полезно выполнить попытку создания файла, а сообщение об ошибке в исключении через двоичные данные или ещё как-то записать и донести до пользователя, чтобы было ясно, в чём проблема - может быть, но до файла и не доходит. |
|||
38
demmix
19.02.14
✎
17:00
|
(36) (37) Спасибо за советы, сейчас буду проббовать
|
|||
39
Wobland
19.02.14
✎
17:10
|
(35) Для записи данных во временный файл необходимо сначала сформировать имя такого файла. При этом во избежание случайных потерь имеющихся файлов требуется получить уникальное имя.
|
|||
40
Torquader
19.02.14
✎
17:19
|
(39) Ему хотя бы получить и записать, чтобы убедиться, что пишется - а потом и про уникальность думать.
|
|||
41
hhhh
19.02.14
✎
17:20
|
(38) вообще-то USR1CV82 не входит во "Все". Надо отдельно давать права. И родительские папки проверить. Чтобы от них наследования не было задано.
|
|||
42
hhhh
19.02.14
✎
17:21
|
(41)+ если например твоя папка унаследована от диска С:, тогда надо у самого диска С: полные права задавать, а это неприемлемо.
|
|||
43
Torquader
19.02.14
✎
17:22
|
(42) Не надо - унаследованные права, если это не запрет, никак не пересекаются с явно заданными.
|
|||
44
hhhh
19.02.14
✎
17:27
|
(43) ну допустим на диск C: запись в корень есть запрет.
|
|||
45
Torquader
19.02.14
✎
17:38
|
(44) Ну, если он наследуется, то дальше можно не объяснять.
Обычно, на запись в корень, просто права не дают - запрет получается неявным из-за того, что нет разрешения на запись в корень. |
|||
46
Wobland
19.02.14
✎
17:57
|
(40) согласен, потому и предлагаю
|
|||
47
braslavets
19.02.14
✎
18:06
|
(0) Телепатирую "ИспользованиеВывода"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |