Имя: Пароль:
1C
1С v8
Не получается записать программно текстовый файл
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) Телепатирую "ИспользованиеВывода"
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn