Ошибка при вызове метода контекста прочитать каталог не обнаружен

Ошибка при вызове метода контекста (Прочитать)

Ошибка при выполнении файловой операции при чтении xls файла методом прочитать объекта ТабличныйДокумент. 

Скрин сообщения

oshibka-pri-vypolnenii-fajlovoj-operatsii

Данный объект 1C умеет не только записывать в Excel, но возможна и обратная операция с ограничениями, свойственными табличному документу.

В чем плюсы такой методики чтения

  • Всё производится встроенными средствами;
  • достаточно быстро;
  • код в 2 строки
  • данные не требуется преобразовывать, обычно всё считывается достаточно корректно, их можно проверить средствами 1С.
  • возможно считывать значения ячеек как текст (без авто-преобразования),
  • доступно на сервере, где excel вообще нельзя установить (linux, OSx).

Причина ошибки

Отличительной особенностью, вызывающей данную ошибку, является то, что 1С нужен монопольный доступ на время считывания.

Если же документ открыт, то выходит ошибка при выполнении файловой операции чтения.

COM-Объекта Excel.Application в данном ситуации просто открывает еще один экземпляр, а также  в нём можно скрыть отображение сообшения о режиме «чтения».

Другой причиной может быть: отсутствие прав на чтение этого файла

Решение:

Закрыть открытую в Excel (или другой программе) книгу, проверить права на файл (возможность открытия в его в Excel, косвенный признак его наличия)

Реклама — величайшее искусство XX века.

Я
   pvase

07.08.19 — 08:37

Конфа простая, режим запуска: Обычное приложение. Обработка с управляемой формой, код выполняется на сервере:

&НаСервере

Процедура ИмяФайлаНачалоВыбораИзСпискаНаСервере(ИмяФайла)

    ТабличнйДок = Новый ТабличныйДокумент;

    ТабличнйДок.Прочитать(СокрЛП(ИмяФайла));

КонецПроцедуры

На серверной версии не работает, выдает ошибку: «Каталог не обнаружен». Причем если база в файловом варианте — то ошибок нет. Сервер 1С стартует под моей учеткой. В чем может быть проблема?

Такая же обработка с тем же кодом но в обычной форме работает без проблем.

   piter3

1 — 07.08.19 — 08:38

В том,что ты не понимаешь особенностей

   piter3

2 — 07.08.19 — 08:38

Примеров и таких тем полно

   catena

3 — 07.08.19 — 08:39

Видимо нет такого каталога на сервере

   pvase

4 — 07.08.19 — 09:18

(3) Все бы хорошо, но это локальный компьютер, сервер локальный, запущенный под моей учеткой, учетка имеет доступ на каталог и папку, учетка входит в группу Админов на компьютере.

   piter3

5 — 07.08.19 — 09:18

(4) Не о том .на сервере нет C:

так понятнее?

   Индиго

6 — 07.08.19 — 09:20

(4)Поставь точку останова на строке с ошибкой  и посмотри в табло значение "ИмяКомпьютера()"
Может прольется свет:-)
   sqr4

7 — 07.08.19 — 09:31

(4) можно сколько угодно биться об заклад, но то что работает в файловой и не работает в серверной лишь говорит о том, что либо этой папки нет, либо к ней нет доступа. А дальше, что и где запущено и под чьей учеткой видно только тебе.

   pvase

8 — 07.08.19 — 09:37

(7) Вот что пишет, я даже не могу понять как такое может быть:

ИмяКомпьютера()    "AGPTESTENV"    Строка
СтрокаСоединенияИнформационнойБазы()    "Srvr="AGP-VPE:2241";Ref="test_forms";"    Строка
   pvase

9 — 07.08.19 — 09:39

Реально база создана на AGP-VPE:2241
а ИмяКомпьютера() = "AGPTESTENV" Как такое может быть? На сервере AGPTESTENV нет базы "test_forms" она есть только на AGP-VPE.
   Cyberhawk

10 — 07.08.19 — 09:39

рпхост может быть на другом хосте, нежели менеджер кластера

   Индиго

11 — 07.08.19 — 09:39

(9)Значит сервер приложений там

   Cyberhawk

12 — 07.08.19 — 09:40

Автор кончай уже бакланить — передавай файл на сервер и там насилуй как хочешь, либо делай все это на клиенте

   pvase

13 — 07.08.19 — 10:06

Все вспомнил. Это когда-то я тестировал работу двух отдельных серверов с одного кластера 1С. Все было хорошо и в один прекрасный день 1С-ка решила запускать rphost на другом дополнительном сервере. Вот такие дела, всем спасибо за помощь.

   pvase

14 — 07.08.19 — 10:08

В общем, файл надо указывать через общую Шару и будет счастье.

  

pvase

15 — 07.08.19 — 10:12

Вот что я сделал и забыл об этом: https://ibb.co/c1SbmxJ

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Shokoladnaj

3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

1

Создание каталога/каталог не обнаружен

08.11.2017, 16:41. Показов 26680. Ответов 7

Метки нет (Все метки)


Добрый день, пытаюсь сделать выгрузку в документ, но ошибка каталог не обнаружен, аналогичный код на толстом клиенте все пишет, на управляемых нет. Кто сталкивался, помогите плз в чем может быть проблема?

Создание каталога/каталог не обнаружен

{Обработка.ВыгрузкаАлиментовЧерезКБ.Форма.ФормаУпр авляемая.Форма(342)}: Ошибка при вызове метода контекста (Записать)
Эксп.Записать(ИмяФайлаКБ,КодировкаТекста.OEM);
по причине:
Каталог не обнаружен ‘E:Usersds_bvsDocumentsБрезицкийБПС_Н.txt’

Эксп.Записать(ИмяФайлаКБ,КодировкаТекста.OEM);//вот до сюда доходит, и на след шаге ошибка
ФайлВыгрузки=Новый Файл(ИмяФайлаКБ);

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
&НаСервере Процедура ВыгрузкаНаСервере()     СпискиЛюдейПоБанкам=СформироватьСпискиЛюдейПоБанкамНаСервере();     Для каждого эБанк Из СпискиЛюдейПоБанкам Цикл         Если эБанк.Значение[0].Банк.ФорматнаяСтрокаВыгрузки="Приор банк" Тогда             ВыгрузкаПриорБанк(эБанк.Значение[0].Банк,эБанк);             Продолжить;         КонецЕсли;                 Если эБанк.Значение[0].Банк.ФорматнаяСтрокаВыгрузки="Белинвестбанк" Тогда             ВыгрузкаБелинвестбанк(эБанк.Значение[0].Банк,эБанк);             Продолжить;         КонецЕсли;           Эксп=Новый ТекстовыйДокумент;         ИмяФайла=СокрЛП(эБанк.Значение[0].Банк.ИмяФайлаВыгрузки);         Если ИмяФайла="" Тогда             ИмяФайла="zarplata";         КонецЕсли;         ИмяФайлаКБ = КаталогВыгрузкиКлиентБанк + ""+ИмяФайла+СокрЛП(НомерВедПеречисления)+".txt";         ФайлПроверки = Новый Файл(ИмяФайлаКБ);         Если ФайлПроверки.Существует() Тогда             Эксп.Прочитать(ИмяФайлаКБ);         КонецЕсли;                                                                                                            Если Эксп.КоличествоСтрок() > 0 Тогда             СчетчикСтрок=1;             ПОка СчетчикСтрок<=Эксп.КоличествоСтрок() Цикл                 Эксп.УдалитьСтроку(СчетчикСтрок-1);             КонецЦикла;                //Эксп.Очистить();         КонецЕсли;         ТзСортировки=Новый ТаблицаЗначений;         ТзСортировки.Колонки.Добавить("ПолучательПлатежа");         ТзСортировки.Колонки.Добавить("ЛицевойСчет");         ТзСортировки.Колонки.Добавить("Выплачено");         ТзСортировки.Колонки.Добавить("Признак");         НомерСчет=1;         Для Каждого СтрЗП Из эБанк.Значение Цикл               Если СтрЗП.Выплачено>0 Тогда                 //Эксп.ДобавитьСтроку(ВремСтр+Строка(НомерПП)+" "+ВРег(Строка(Стр.Физлицо))+ВремСтр2+стр.ЛицевойСчет+ВремСтр3+ВВыплачено);                 //НомерПП=НомерПП+1;                                  НоваяСтрока="";                 СтрокаВыполнить="";                 физлицо=СокрЛП(СтрЗП.ПолучательПлатежа.Наименование);                 ЛицевойСчет=СокрЛП(СтрЗП.ЛицевойСчет);                 Сумма=СтрЗП.Выплачено;                 НомерПП=Строка(НомерСчет);                 ПозицияПробела=Найти(ЛицевойСчет," ");                 Если ПозицияПробела=0 И Найти(СтрЗП.Банк.ФорматнаяСтрокаВыгрузки,"КодВклада")>0 Тогда                     НомерСчет=НомерСчет+1;                     Продолжить;                 КонецЕсли;                  КодВклада=СокрЛП(Лев(ЛицевойСчет,ПозицияПробела-1));                 ЛицевойБезКодаВклада=СокрлП(Прав(ЛицевойСчет,СтрДлина(КодВклада)+2));                                  СтрокаВыполнить="";                 ФорматнаяСтрока=СокрЛП(СтрЗП.Банк.ФорматнаяСтрокаВыгрузки);                 //"СтрокаВыполнить=" "+НомерПП+" "+ВРЕГ(физлицо)+" "+ЛицевойСчет+" "+СтрЗаменить(Формат(Сумма,"ЧДЦ=2; ЧРД=."),"*","")"                 //СтрокаВыполнить=НомерПП+ЛицевойСчет+ВРЕГ(физлицо)+","+СтрЗаменить(Сумма,"*","")                                   //СтрокаВыполнить="   1"+Лев(Физлицо+"                                               ",46)+Лев(ЛицевойСчет+"           ",11)+Прав("          "+СтрЗаменить(Сумма,"*",""),10)+".00 1"                 Попытка                     Выполнить(ФорматнаяСтрока);                 Исключение                     Сообщить("Неверно задана форматная строка в банке, проверьте правильность форматной строки выгрузки и повторите попытку");                     Возврат;                 КонецПопытки;                 Эксп.ДобавитьСтроку(СтрокаВыполнить);                 НомерСчет=НомерСчет+1;             КонецЕсли;                      КонецЦикла;         Эксп.Записать(ИмяФайлаКБ,КодировкаТекста.OEM);//вот до сюда доходит, и на след шаге ошибка          ФайлВыгрузки=Новый Файл(ИмяФайлаКБ);     КонецЦикла;   КонецПроцедуры

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Эксперт 1С

434 / 305 / 92

Регистрация: 28.05.2014

Сообщений: 1,247

08.11.2017, 17:42

2

Shokoladnaj, База серверная?

1

1117 / 671 / 195

Регистрация: 22.04.2013

Сообщений: 5,072

Записей в блоге: 1

08.11.2017, 21:25

3

Цитата
Сообщение от Shokoladnaj
Посмотреть сообщение

Каталог не обнаружен ‘E:Users

ну так на сервере нет такого каталога, видать.
даже если база файловая, то там всё равно может не быть диска Е
ошибка именно в этом. у вас адрес — на вашем диске, на клиенте.
а процедура — на сервере, и диск/каталог ищет на сервере, соответственно. а его там нет.

1

3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

09.11.2017, 09:52

 [ТС]

4

Yulunga, Вот именно, что есть такой диск, на толстом клиенте же все работает, хотя код аналогичный, вы имеете ввиду, что процедуру на клиенте нужно делать?

Добавлено через 6 минут
Phil, Да, серверная

Добавлено через 6 минут
Yulunga, а как сделать, что-бы не на сервере искала?

0

Эксперт 1С

434 / 305 / 92

Регистрация: 28.05.2014

Сообщений: 1,247

09.11.2017, 09:58

5

Лучший ответ Сообщение было отмечено Shokoladnaj как решение

Решение

Shokoladnaj,
Там где физически расположена база нет такого пути: E:Usersds_bvsDocumentsБрезицкий

Добавлено через 1 минуту
Выполняйте на клиенте, либо на сервере выгружайте во временные файлы, а потом результат перебрасывайте на клиент.

Добавлено через 1 минуту
Посмотрите, есть куча примеров как на УФ создавать и выгружать в файл txt

1

3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

10.11.2017, 16:09

 [ТС]

6

Phil, окей, например сделаю не на сервере, но вот вопрос не по теме, но как списокЗначений с сервера на клиент передать, там ошибка отсутствует отображения типов, пробую и через структуру и через хранилища данных?

Добавлено через 1 час 12 минут
Все, вопрос решен, можно передать текстовый документ на клиент, и там уже записать

0

1117 / 671 / 195

Регистрация: 22.04.2013

Сообщений: 5,072

Записей в блоге: 1

10.11.2017, 16:31

7

капец. какой текстовый документ. а нукася не будет доступа к записи на диск, что тогда ?
структура, массив, соответствие.

1

3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

13.11.2017, 09:27

 [ТС]

8

Yulunga, Да, передается структура, структура состоит из пути и текстового документа.

Добавлено через 1 минуту
Yulunga, если не будет доступа на диск, тоесть проверка какая-то нужна?

0

Содержание:

1.       Неверно указанный путь к папке или файлу

2.       У пользователя недостаточно прав доступа

Ошибка «Каталог не обнаружен» в 1С

Ошибка «Каталог не обнаружен» в 1С  

1.    Неверно указанный путь к папке или файлу

1С:Предприятие 8.3 – это довольно сложная система, поддерживающая множество инструментов и механизмов. Одним из этих механизмов является работа с каталогами (папками).

Работа с каталогами необходима для хранения временных файлов, импорта и экспорта данных. Если вдруг посреди рабочего дня пользователю необходимо выгрузить какую-то информацию из базы, но система «ругается», мол, каталог не обнаружен, это может стать серьезным стоп-фактором и даже полностью остановить какой-либо бизнес-процесс, что обязательно приведет к убыткам компании. Соответственно, доступ к каталогам всегда должен предоставляться без каких-либо ограничений.

Наиболее частая причина возникновения этой ошибки программы 1С – неверно указанный путь к папке или файлу.  

2.    У пользователя недостаточно прав доступа

Чуть реже ошибка доступа к каталогу встречается, когда у пользователя недостаточно прав доступа к тому или иному каталогу.

Представим ситуацию: пользователь подключился при помощи RDP к удаленной базе, и решил сохранить документ сразу на свой компьютер.

Если при интернет подключении к удаленному рабочему столу пользователь не расшарил (не дал доступ) свои локальные ресурсы, то на сервере они будут не доступны, и возможности сохранить данные на них не будет. Соответственно при попытке указать путь к локальному каталогу, система будет выдавать ошибку «Каталог не обнаружен».

Для решения данной ошибки в 1С:Предприятие, версии 8, будет достаточно указать, какой диск должен быть доступен на удаленном рабочем столе во время работы.

Подключение локального диска к удаленному рабочему столу

Подключение локального диска к удаленному рабочему столу

А если каталог доступен, но данная ошибка все равно появляется, стоит проверить права доступа к каталогу. Если для текущего пользователя отсутствуют права на чтение или запись, то необходимо их добавить.

Проверка прав доступа к каталогу

Проверка прав доступа к каталогу

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Пытаюсь на 8.3 в управляемых формах на клиенте прочитать файл: Выдает ошибку: {ВнешняяОбработка.Загрузка_приходных_накладных_в_1С_8_2.МодульОбъекта}: Ошибка при вызове метода контекста (Прочитать)     Текст.Прочитать(ВыбФайл); по причине: Файл не обнаружен ‘C:ВО_200114.txt’ Но файл там 100% есть! Помогите

, взял отладчик, и в том месте где идет Прочитать(ВыбФайл), скопировал значение ВыбФайл  в буфер обмена, потом вставил в командную строку и нажал энтер => файл открылся.

не гарантирует наличия файла там, где его ищут, а не там, где ты его положил

процедура сия у тя случаем не на сервере ли выполняется ?

, реально! положил сюда  nbnbхламВО_200114.txt => прочитал. А почему с моего диска С не хочет читать?

потому что на сервере нет твоего диска

диск С скорее всего есть а вот файла скорее всего нет

, тоже пишет что не найден… ,, так получается он ищет диск С не моего компьютера, а на сервере, где база sql крутится? хотя я запускаю 1с через толстого клиента со своего компа..

«C:ВО_200114.txt». Да с безопасностью такого решения все плохо.

Пришли весь код функции которая у тя читает файл

Если команда выполняется на сервере, то вполне логично, что и файл ищется на сервере. И скорее не на сервере SQL, а на сервере 1С.

уже давно в корень дисков класть ничего нельзя…

Ну все понятно. Серверная процедура.

, вы реально здесь телепаты… обработка получения имени пути у меня на клиенте выполняется, а вот прочитать я его пытаюсь из модуля обработки, код которого выполняется на сервере… Спасибо большое, никак не привыкну к управляемым формам….

Чаще, синтакс — помошника читать надо ))

>МодульОбъекта это непропиваемый опыт и внимательность, а не телепатизм ;)

От блин, а я не заметил ))

твоим следующим вопросом, по-идее, должно быть такое — почему со своего компьютера файл читается, а с компьютера Афанасия Мухтаровича — нет. Я подожду :)

, блин, так я еще и подсказку оказывается изначально уже дал))) , это тут не причем

конечно не причем. Т.к. ты не задал этот вопрос, т.к. у тебя все хорошо и с этой ситуацией ты пока не столкнулся :) Я повторюсь — я подожду :)

взял попкорн уселся поудобней :)

, Интригант? о_О вот, смотрите в , там «nbnbхламВО_200114.txt» — это и есть компьютер Григория. И все отлично считалось.

оказалось не 100%, а 0% :)

Ну правильно, сервер свою папку «хлам» видит, пусть даже по сетевому пути.

без разницы, все равно он ее видит.

, то есть вы хотите сказать, что те папки, которые видны с сервера будут считываться, а те что не видны  — нет. Это я понимаю. Решение вижу только два: открывать им доступ с сервера или выполнять метод Прочитать «&наклиенте».

В вэб-клиенте вопрос: Передать файл на сервер nbnbхламВО_200114.txt ?  Ура я нашел модальное окно, в режиме использования модальности — не использовать. 8.3.4.389

откатываемся обратно по окнам? :)

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Описание ошибки:
Обнаружена при разработке обработки для изменения содержимого файла формата XML в серверной базе 1С 8 в режиме управляемого приложения. При тестировании на сервере ошибка не возникала. Проявила себя при работе на рабочем месте пользователя.

Найденные решения:

1С 8 ошибка файл не обнаружен при чтении файла

По факту ошибка возникала при выполнении метода «Прочитать()» для объекта «ТекстовыйДокумент». Как было отмечено, при тестировании работы обработки непосредственно на сервере данной ошибки не возникало. Она проявила себя уже при попытке работы на другом рабочем месте. Обработка разрабатывалась для конфигурации 1С: Комплексная автоматизация 8, ред. 2, которая работает в режиме управляемого приложения — это необходимо отметить. Т.к. это проясняет причины возникновения проблемы.

По привычке разместил операции по чтению содержимого текстового файла и извлечению его содержимого на стороне сервера — см. «&НаСервере» перед процедурой «ОбрабткаНаСервере()». Клиент-серверная архитектура платформы 1С: Предприятие 8.3, казалось бы, к этому обязывала. 

1с 8.3 при чтении файла пишет, выводит ошибку: Файл не обнаружен

В итоге получалось, что платформа на клиентском рабочем месте искала файл по указанному пути на сервере, где развернут сервер 1С: Предприятия 8 исходя из директивы «&НаСервере», а не на рабочем компьютере, где была запущена обработка.

Но, как оказалось позже — конструктор «Новый ТекстовыйДокумент», методы «Прочитать()», «ПолучитьТекст()» — все они доступны не только на стороне сервера, но и на стороне тонкого и толстого клиента. Поэтому замена директивы «&НаСервере» на «&НаКлиенте» решила проблему.

1С 8 Ошибка при вызове метода контекста (Прочитать)

Если по какой-то причине окажется, что я не совсем ясно объяснил суть проблемы, то вот еще обсуждение на форуме mista.ru, где данная пробелма обсуждается несколько другими словами: 1с 8.3 при чтении файла пишет: Файл не обнаружен

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

02-11-2020

Журавлев А.С.
(Сайт azhur-c.ru)

Ошибка при вызове метода контекста (Прочитать)

Ошибка при выполнении файловой операции при чтении xls файла методом прочитать объекта ТабличныйДокумент. 

Скрин сообщения

oshibka-pri-vypolnenii-fajlovoj-operatsii

Данный объект 1C умеет не только записывать в Excel, но возможна и обратная операция с ограничениями, свойственными табличному документу.

В чем плюсы такой методики чтения

  • Всё производится встроенными средствами;
  • достаточно быстро;
  • код в 2 строки
  • данные не требуется преобразовывать, обычно всё считывается достаточно корректно, их можно проверить средствами 1С.
  • возможно считывать значения ячеек как текст (без авто-преобразования),
  • доступно на сервере, где excel вообще нельзя установить (linux, OSx).

Причина ошибки

Отличительной особенностью, вызывающей данную ошибку, является то, что 1С нужен монопольный доступ на время считывания.

Если же документ открыт, то выходит ошибка при выполнении файловой операции чтения.

COM-Объекта Excel.Application в данном ситуации просто открывает еще один экземпляр, а также  в нём можно скрыть отображение сообшения о режиме «чтения».

Другой причиной может быть: отсутствие прав на чтение этого файла

Решение:

Закрыть открытую в Excel (или другой программе) книгу, проверить права на файл (возможность открытия в его в Excel, косвенный признак его наличия)

Реклама должна объяснить нам, без каких излишеств мы не можем прожить.

Я
   pvase

07.08.19 — 08:37

Конфа простая, режим запуска: Обычное приложение. Обработка с управляемой формой, код выполняется на сервере:

&НаСервере

Процедура ИмяФайлаНачалоВыбораИзСпискаНаСервере(ИмяФайла)

    ТабличнйДок = Новый ТабличныйДокумент;

    ТабличнйДок.Прочитать(СокрЛП(ИмяФайла));

КонецПроцедуры

На серверной версии не работает, выдает ошибку: «Каталог не обнаружен». Причем если база в файловом варианте — то ошибок нет. Сервер 1С стартует под моей учеткой. В чем может быть проблема?

Такая же обработка с тем же кодом но в обычной форме работает без проблем.

   piter3

1 — 07.08.19 — 08:38

В том,что ты не понимаешь особенностей

   piter3

2 — 07.08.19 — 08:38

Примеров и таких тем полно

   catena

3 — 07.08.19 — 08:39

Видимо нет такого каталога на сервере

   pvase

4 — 07.08.19 — 09:18

(3) Все бы хорошо, но это локальный компьютер, сервер локальный, запущенный под моей учеткой, учетка имеет доступ на каталог и папку, учетка входит в группу Админов на компьютере.

   piter3

5 — 07.08.19 — 09:18

(4) Не о том .на сервере нет C:

так понятнее?

   Индиго

6 — 07.08.19 — 09:20

(4)Поставь точку останова на строке с ошибкой  и посмотри в табло значение «ИмяКомпьютера()»

Может прольется свет:-)

   sqr4

7 — 07.08.19 — 09:31

(4) можно сколько угодно биться об заклад, но то что работает в файловой и не работает в серверной лишь говорит о том, что либо этой папки нет, либо к ней нет доступа. А дальше, что и где запущено и под чьей учеткой видно только тебе.

   pvase

8 — 07.08.19 — 09:37

(7) Вот что пишет, я даже не могу понять как такое может быть:

ИмяКомпьютера()    «AGPTESTENV»    Строка

СтрокаСоединенияИнформационнойБазы()    «Srvr=»AGP-VPE:2241″;Ref=»test_forms»;»    Строка

   pvase

9 — 07.08.19 — 09:39

Реально база создана на AGP-VPE:2241

а ИмяКомпьютера() = «AGPTESTENV» Как такое может быть? На сервере AGPTESTENV нет базы «test_forms» она есть только на AGP-VPE.

   Cyberhawk

10 — 07.08.19 — 09:39

рпхост может быть на другом хосте, нежели менеджер кластера

   Индиго

11 — 07.08.19 — 09:39

(9)Значит сервер приложений там

   Cyberhawk

12 — 07.08.19 — 09:40

Автор кончай уже бакланить — передавай файл на сервер и там насилуй как хочешь, либо делай все это на клиенте

   pvase

13 — 07.08.19 — 10:06

Все вспомнил. Это когда-то я тестировал работу двух отдельных серверов с одного кластера 1С. Все было хорошо и в один прекрасный день 1С-ка решила запускать rphost на другом дополнительном сервере. Вот такие дела, всем спасибо за помощь.

   pvase

14 — 07.08.19 — 10:08

В общем, файл надо указывать через общую Шару и будет счастье.

  

pvase

15 — 07.08.19 — 10:12

Вот что я сделал и забыл об этом: https://ibb.co/c1SbmxJ

TurboConf — расширение возможностей Конфигуратора 1С

Содержание:

1.       Неверно указанный путь к папке или файлу

2.       У пользователя недостаточно прав доступа

Ошибка «Каталог не обнаружен» в 1С

Ошибка «Каталог не обнаружен» в 1С  

1.    Неверно указанный путь к папке или файлу

1С:Предприятие 8.3 – это довольно сложная система, поддерживающая множество инструментов и механизмов. Одним из этих механизмов является работа с каталогами (папками).

Работа с каталогами необходима для хранения временных файлов, импорта и экспорта данных. Если вдруг посреди рабочего дня пользователю необходимо выгрузить какую-то информацию из базы, но система «ругается», мол, каталог не обнаружен, это может стать серьезным стоп-фактором и даже полностью остановить какой-либо бизнес-процесс, что обязательно приведет к убыткам компании. Соответственно, доступ к каталогам всегда должен предоставляться без каких-либо ограничений.

Наиболее частая причина возникновения этой ошибки программы 1С – неверно указанный путь к папке или файлу.  

2.    У пользователя недостаточно прав доступа

Чуть реже ошибка доступа к каталогу встречается, когда у пользователя недостаточно прав доступа к тому или иному каталогу.

Представим ситуацию: пользователь подключился при помощи RDP к удаленной базе, и решил сохранить документ сразу на свой компьютер.

Если при интернет подключении к удаленному рабочему столу пользователь не расшарил (не дал доступ) свои локальные ресурсы, то на сервере они будут не доступны, и возможности сохранить данные на них не будет. Соответственно при попытке указать путь к локальному каталогу, система будет выдавать ошибку «Каталог не обнаружен».

Для решения данной ошибки в 1С:Предприятие, версии 8, будет достаточно указать, какой диск должен быть доступен на удаленном рабочем столе во время работы.

Подключение локального диска к удаленному рабочему столу

Подключение локального диска к удаленному рабочему столу

А если каталог доступен, но данная ошибка все равно появляется, стоит проверить права доступа к каталогу. Если для текущего пользователя отсутствуют права на чтение или запись, то необходимо их добавить.

Проверка прав доступа к каталогу

Проверка прав доступа к каталогу

Специалист компании «Кодерлайн»

Айдар Фархутдинов

Shokoladnaj

3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

1

Создание каталога/каталог не обнаружен

08.11.2017, 16:41. Показов 28941. Ответов 7

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Добрый день, пытаюсь сделать выгрузку в документ, но ошибка каталог не обнаружен, аналогичный код на толстом клиенте все пишет, на управляемых нет. Кто сталкивался, помогите плз в чем может быть проблема?

Создание каталога/каталог не обнаружен

{Обработка.ВыгрузкаАлиментовЧерезКБ.Форма.ФормаУправляемая.Форма(342)}: Ошибка при вызове метода контекста (Записать)
Эксп.Записать(ИмяФайлаКБ,КодировкаТекста.OEM);
по причине:
Каталог не обнаружен ‘E:Usersds_bvsDocumentsБрезицкийБПС_Н.txt’

Эксп.Записать(ИмяФайлаКБ,КодировкаТекста.OEM);//вот до сюда доходит, и на след шаге ошибка
ФайлВыгрузки=Новый Файл(ИмяФайлаКБ);

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
&НаСервере
Процедура ВыгрузкаНаСервере()
    СпискиЛюдейПоБанкам=СформироватьСпискиЛюдейПоБанкамНаСервере();
    Для каждого эБанк Из СпискиЛюдейПоБанкам Цикл
        Если эБанк.Значение[0].Банк.ФорматнаяСтрокаВыгрузки="Приор банк" Тогда
            ВыгрузкаПриорБанк(эБанк.Значение[0].Банк,эБанк);
            Продолжить;
        КонецЕсли; 
        
        Если эБанк.Значение[0].Банк.ФорматнаяСтрокаВыгрузки="Белинвестбанк" Тогда
            ВыгрузкаБелинвестбанк(эБанк.Значение[0].Банк,эБанк);
            Продолжить;
        КонецЕсли;
 
        Эксп=Новый ТекстовыйДокумент; 
        ИмяФайла=СокрЛП(эБанк.Значение[0].Банк.ИмяФайлаВыгрузки);
        Если ИмяФайла="" Тогда
            ИмяФайла="zarplata";
        КонецЕсли; 
        ИмяФайлаКБ = КаталогВыгрузкиКлиентБанк + ""+ИмяФайла+СокрЛП(НомерВедПеречисления)+".txt";
        ФайлПроверки = Новый Файл(ИмяФайлаКБ);
        Если ФайлПроверки.Существует() Тогда
            Эксп.Прочитать(ИмяФайлаКБ);
        КонецЕсли;                                                                                                   
        Если Эксп.КоличествоСтрок() > 0 Тогда
            СчетчикСтрок=1;
            ПОка СчетчикСтрок<=Эксп.КоличествоСтрок() Цикл
                Эксп.УдалитьСтроку(СчетчикСтрок-1);
            КонецЦикла;   
            //Эксп.Очистить();
        КонецЕсли;
        ТзСортировки=Новый ТаблицаЗначений;
        ТзСортировки.Колонки.Добавить("ПолучательПлатежа");
        ТзСортировки.Колонки.Добавить("ЛицевойСчет");
        ТзСортировки.Колонки.Добавить("Выплачено");
        ТзСортировки.Колонки.Добавить("Признак");
        НомерСчет=1;
        Для Каждого СтрЗП Из эБанк.Значение Цикл  
            Если СтрЗП.Выплачено>0 Тогда
                //Эксп.ДобавитьСтроку(ВремСтр+Строка(НомерПП)+" "+ВРег(Строка(Стр.Физлицо))+ВремСтр2+стр.ЛицевойСчет+ВремСтр3+ВВыплачено);
                //НомерПП=НомерПП+1;
                
                НоваяСтрока="";
                СтрокаВыполнить="";
                физлицо=СокрЛП(СтрЗП.ПолучательПлатежа.Наименование);
                ЛицевойСчет=СокрЛП(СтрЗП.ЛицевойСчет);
                Сумма=СтрЗП.Выплачено;
                НомерПП=Строка(НомерСчет);
                ПозицияПробела=Найти(ЛицевойСчет," ");
                Если ПозицияПробела=0 И Найти(СтрЗП.Банк.ФорматнаяСтрокаВыгрузки,"КодВклада")>0 Тогда
                    НомерСчет=НомерСчет+1;
                    Продолжить;
                КонецЕсли; 
                КодВклада=СокрЛП(Лев(ЛицевойСчет,ПозицияПробела-1));
                ЛицевойБезКодаВклада=СокрлП(Прав(ЛицевойСчет,СтрДлина(КодВклада)+2));
                
                СтрокаВыполнить="";
                ФорматнаяСтрока=СокрЛП(СтрЗП.Банк.ФорматнаяСтрокаВыгрузки);
                //"СтрокаВыполнить=" "+НомерПП+" "+ВРЕГ(физлицо)+" "+ЛицевойСчет+" "+СтрЗаменить(Формат(Сумма,"ЧДЦ=2; ЧРД=."),"*","")"
                //СтрокаВыполнить=НомерПП+ЛицевойСчет+ВРЕГ(физлицо)+","+СтрЗаменить(Сумма,"*","") 
                
                //СтрокаВыполнить="   1"+Лев(Физлицо+"                                               ",46)+Лев(ЛицевойСчет+"           ",11)+Прав("          "+СтрЗаменить(Сумма,"*",""),10)+".00 1"
                Попытка
                    Выполнить(ФорматнаяСтрока);
                Исключение
                    Сообщить("Неверно задана форматная строка в банке, проверьте правильность форматной строки выгрузки и повторите попытку");
                    Возврат;
                КонецПопытки;
                Эксп.ДобавитьСтроку(СтрокаВыполнить);
                НомерСчет=НомерСчет+1;
            КонецЕсли;
            
        КонецЦикла;
        Эксп.Записать(ИмяФайлаКБ,КодировкаТекста.OEM);//вот до сюда доходит, и на след шаге ошибка 
        ФайлВыгрузки=Новый Файл(ИмяФайлаКБ);
    КонецЦикла;
 
КонецПроцедуры



0



Эксперт 1С

434 / 305 / 92

Регистрация: 28.05.2014

Сообщений: 1,247

08.11.2017, 17:42

2

Shokoladnaj, База серверная?



1



1190 / 729 / 211

Регистрация: 22.04.2013

Сообщений: 5,363

Записей в блоге: 1

08.11.2017, 21:25

3

Цитата
Сообщение от Shokoladnaj
Посмотреть сообщение

Каталог не обнаружен ‘E:Users

ну так на сервере нет такого каталога, видать.
даже если база файловая, то там всё равно может не быть диска Е
ошибка именно в этом. у вас адрес — на вашем диске, на клиенте.
а процедура — на сервере, и диск/каталог ищет на сервере, соответственно. а его там нет.



1



3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

09.11.2017, 09:52

 [ТС]

4

Yulunga, Вот именно, что есть такой диск, на толстом клиенте же все работает, хотя код аналогичный, вы имеете ввиду, что процедуру на клиенте нужно делать?

Добавлено через 6 минут
Phil, Да, серверная

Добавлено через 6 минут
Yulunga, а как сделать, что-бы не на сервере искала?



0



Эксперт 1С

434 / 305 / 92

Регистрация: 28.05.2014

Сообщений: 1,247

09.11.2017, 09:58

5

Лучший ответ Сообщение было отмечено Shokoladnaj как решение

Решение

Shokoladnaj,
Там где физически расположена база нет такого пути: E:Usersds_bvsDocumentsБрезицкий

Добавлено через 1 минуту
Выполняйте на клиенте, либо на сервере выгружайте во временные файлы, а потом результат перебрасывайте на клиент.

Добавлено через 1 минуту
Посмотрите, есть куча примеров как на УФ создавать и выгружать в файл txt



1



3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

10.11.2017, 16:09

 [ТС]

6

Phil, окей, например сделаю не на сервере, но вот вопрос не по теме, но как списокЗначений с сервера на клиент передать, там ошибка отсутствует отображения типов, пробую и через структуру и через хранилища данных?

Добавлено через 1 час 12 минут
Все, вопрос решен, можно передать текстовый документ на клиент, и там уже записать



0



1190 / 729 / 211

Регистрация: 22.04.2013

Сообщений: 5,363

Записей в блоге: 1

10.11.2017, 16:31

7

капец. какой текстовый документ. а нукася не будет доступа к записи на диск, что тогда ?
структура, массив, соответствие.



1



3 / 3 / 2

Регистрация: 11.03.2014

Сообщений: 162

13.11.2017, 09:27

 [ТС]

8

Yulunga, Да, передается структура, структура состоит из пути и текстового документа.

Добавлено через 1 минуту
Yulunga, если не будет доступа на диск, тоесть проверка какая-то нужна?



0



Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста создатьwsпрокси сервис не найден
  • Ошибка при вызове метода контекста прочитать json 1с
  • Ошибка при вызове метода контекста создать нарушение прав доступа
  • Ошибка при вызове метода контекста проверитьвывод 1с
  • Ошибка при вызове метода контекста создать каталог