Фоновый обмен данными.
Показывать по
сообщений
- 1
- 2
13.04.2009
12:50
#1
"Почему не выполняется следующий код при записи текстового документа в .txt файл на диск при выполнении фонового задания.<br>Код в модуле:<br>Процедура ЗаписатьТекстСообщений(ИмяФайла, Отказ=0)<br> ...<br> Попытка<br> ПолныйТекстСообщений.Записать(Строка(Файл.ПолноеИмя), КодировкаТекста.UTF8);<br> Исключение<br> ВывестиСообщение(ОписаниеОшибки(),,2);<br> КонецПопытки;<br> ...<br>КонецПроцедуры<br><br>ПолныйТекстСообщений = Новый ТекстовыйДокумент;<br><br>Данная процедура выполняется после передачи или приема файлов обмена. Ошибка выдается в в журнале регистрации следующая:<br>Ошбка при вызове метода контекста (Записать): Вывод Запрещен."
13.04.2009
15:31
#2
Все же написано в тексте ошибки. Проверьте права пользователя, от имени которого выполняеете обмен.
15.04.2009
09:44
#3
> Все же написано в тексте ошибки. Проверьте права пользователя, от имени которого выполняеете обмен.<br><br>Причем тут права пользователя? Обмен данными происходит в автоматическом режиме с использованием регламентного задания, обработки и плана обмена. В общем модуле и модулях плана обмена и обработки нет процедур и функций требующих для выполнения права администратора.<br>Согласно Описания языка 1С Предприятия 8.1 функция ТекстовыйДокумент.Записать (ПолноеИмяФайла,Кодировка) должна выполнятся во всех режимах, но она не выполняется именно при фоновом обмене(автообмене через планировщика) и выдается сообщение Вывод запрещен, при ручном обмене выполняется без проблем.<br>
15.04.2009
09:55
#4
Во-первых, регламентные задания выполняются то же от имени какого-либо пользователя... во-вторых в коде смущает процедура ВывестиСообщение()... не знаю что там в этой процедуре, но в фоновых заданиях нельзя использовать интерфейсные функции... фактически канает только Сообщить(), в том смысле, что не дает ошибку, хотя и не работает...

15.04.2009
10:11
#5
Не обращай внимание на процедуру ВывестиСообщение() эту процедуру написал я специально для автообмена, чтобы выводить предупреждения, сообщения, примечания и ошибки при обмене в ТекстовыйДокумент и в журнал регистраций, который и не записывается в каталог на винте. Суть вопроса в том почему не работает ТекстовыйДокумент.Записать(ПолныйПутьфайла, Кодировкатекста), ВывестиСообщение() работает без проблем.<br>Я конечно уже решил эту задачу по другому, но все равно этой ошибки не должно быть.
15.04.2009
10:24
#6
Еще раз говорю вам, что фоновые задания выполняются от имени какого-либо пользователя, если же пользователь явно не указан, выполняются от имени любого пользователя, в роли которого стоит галочка "Административные функции".. а вот стоит ли там галочка "Вывод", это еще вопрос...

15.04.2009
10:40
#7
Хорошо, ты меня добил. Эта встроенная функция ТекстовыйДокумент.Записать(ПолноеИмяФайла, Кодировка) не выполняется под администратором и ролью ПолныеПрава и галочки все стоят на всех модулях,обменах, процедурах, отчетах, обработках, регистрах,параметрах и т.д. и т.п., при выполнении фонового задания т.е. на сервере, а на клиенте выполняется не зависимо от ролей. Что теперь еще скажешь?!
15.04.2009
11:10
#9
Скажу что согласен с предыдущим постом..
По-крайней мере, мне отсюда не видно, что у тебя там стоит...

15.04.2009
11:14
#10
> Ну если ты такой умный, что же лезешь с вопросами?<br><br>Я понял, что решение по данной проблеме вы не знаете. Это однозначно упущение разработчиков 1С 8.1 и будет исправлено.<br>А грубить не надо. Программа 1С с самого начала как имела подобные проблемы, так до сих пор их имеет и надо признавать свои ошибки и помогать в их решении.<br>Мне уже это не нужно, я эту проблему обошел и все сохраняется, но вопрос остался не разрешимым для других программистов в том числе и ваших сторонних сертифицированных разработчиков.
- 1
- 2
1С 8.1.12 ЗиУП 2.5.11.2 Отчет "Расчетные листки организации" после начисления аванса.самопроизвольно закрывается 1C
Читают тему
(гостей: 1)