таблица документ

1. Alexandr 12.03.24 17:00 Сейчас в теме
При выполнении процедуры Табличного Документа Прочитать я получаю ошибку

Ошибка при вызове метода контекста (Прочитать)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(36)}:ТабДок.Прочитать(ИмяФайла);
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(28)}:ЗаполнитьИзУНФНаСервере(ИмяФайла, ОперацияБух_, ВыбДата);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка доступа к файлу 'C:\Users\ИванГор\Documents\NTST_UNF-BUH.xlsx'

Если я открываю файл из указанного месть в полном пути через меню файл открывается.
Подскажите в чем дело.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 34 12.03.24 17:05 Сейчас в теме
(1)База клиент-серверная? Судя по всему да.
На компьютере сервера нет файла по данному пути.
3. Alexandr 12.03.24 17:05 Сейчас в теме
У меня загрузка Excel (табличного) файла идет в Бухгалтерию и УНФ, ЗУП
4. Alexandr 12.03.24 17:08 Сейчас в теме
База SQL серверная. Недавно вырубило свет и все базы разных конфигураций отрубало.
5. Sashares 34 12.03.24 17:14 Сейчас в теме
(4)Такой код как у вас в обработке будет работать только в файловых базах.
Чтобы работало всегда, надо файл передать с клиента на сервер, и уже на сервере читать этот переданный файл.
Как передать файл с клиента на сервер в 1с, вы можете узнать в яндексе, примеров тысячи.
6. Alexandr 12.03.24 17:16 Сейчас в теме
(5) Я писал


&НаСервереБезКонтекста
Процедура ЗаполнитьИзУНФНаСервере(ИмяФайла)

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла);
8. Sashares 34 12.03.24 17:18 Сейчас в теме
(6)Вы в серверную процедуру передаете имя файла.
Осталось предать весь файл.
Как найти примеры этого я написал выше.

Еще раз.
Сервер - другой компьютер.
Файл на твоем компе.
Ты серверу буквально говоришь - открой файл по пути, в котором путь для твоего компа.

Это как послать письмо, и в письме вместо файла написать путь к файлу на твоем компе.
Сможет этот файл открыть получатель?
7. Alexandr 12.03.24 17:17 Сейчас в теме
падало

ТабДок.Прочитать(ИмяФайла);
9. Alexandr 12.03.24 17:23 Сейчас в теме
(8) я использовал много раз на сервере или тяжелом клиенте код

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла);

и все работало.

(8) извини но не нашел код как загрузить в табличныйДокумент Готовый файл
10. Sashares 34 12.03.24 17:27 Сейчас в теме
(9)
Как передать файл с клиента на сервер - пример.
https://efsol.ru/manuals/file-server-1s.html
11. spacecraft 12.03.24 17:49 Сейчас в теме
(9)
я использовал много раз на сервере или тяжелом клиенте код

тут основное это может работать в толстом клиенте не на сервере. Т.к. там Прочитать() отрабатывает на клиенте.
Вот из этого и исходите, что раньше работало.
12. Alexandr 12.03.24 17:52 Сейчас в теме
(10) Sashares да передавать интересно, но по сути ты через облако перекидываешь файл,
а загрузку делаешь файла по имени


ФайлВременногоХранилища=ПолучитьИзВременногоХранилища(Адрес);
ИмяФайла=ПолучитьИмяВременногоФайла();
ФайлВременногоХранилища.Записать(ИмяФайла);
УдалитьИзВременногоХранилища(Адрес);

MXL=Новый ТабличныйДокумент;
MXL.Прочитать(ИмяФайла);

УдалитьФайлы(ИмяФайла);


MXL.Прочитать(ИмяФайла); //аналогично

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

//эта процедура и падает
13. Sashares 34 12.03.24 17:59 Сейчас в теме
(12)Ну да, сначала загружаем файл на сервер, потом его читаем.
20. anton13m 2 13.03.24 09:47 Сейчас в теме
(12)

УдалитьФайлы(ИмяФайла);
MXL.Прочитать(ИмяФайла); //аналогично
//ТабДок.Прочитать(ИмяФайла);
//эта процедура и падает

Ты удаляешь файл, а потом пытаешься его прочитать. Ничего не смущает?
Давно бы уже выложил свою обработку, чтобы тебе помогли. Как будто это нам нужно тянуть все из тебя.
14. Alexandr 12.03.24 18:11 Сейчас в теме
(13) мы загружаем сначала его имя потом по имени грузим в таблицу документа для чтения.
Я написал код и запустил.
У меня дало ошибку примерно туже.

Ошибка при вызове метода контекста (Прочитать)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(13)}:MXL.Прочитать(ИмяФайла);
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(24)}:ЗагрузитьНаСервере(Адрес);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка при выполнении файловой операции


С самого начала странной кажется причина ошибки
"[ОшибкаВоВремяВыполненияВстроенногоЯзыка] "
16. spacecraft 12.03.24 18:31 Сейчас в теме
(14) приведите полный текс кода
user1880116; +1 Ответить
15. Alexandr 12.03.24 18:18 Сейчас в теме
Мне только последние 3 строки странные иные стали видны



[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Ошибка при выполнении файловой операции
17. Alexandr 13.03.24 09:00 Сейчас в теме
(1)+ я нашел , что если я пытался в апреле (пару недель назад) закачать в ТабличныйДокумент файл из сети , то 1с не любит двойной слеш. Сейчас все взято и база из архива работавшего и обработка прежняя и файл из архивный . Почему только может 2-е недели назад работало, а сейчас не хочет.
Что за 2-е недели могло случится?
19. spacecraft 13.03.24 09:44 Сейчас в теме
(17)
я пытался в апреле (пару недель назад)

гость из прошлого или из будущего?
18. Alexandr 13.03.24 09:21 Сейчас в теме
За эти дни было только падение электрическое сети и все базы со всеми пользователями рухнуло. Кода ты не пытался войти: в конфигуратор, пользователь, в свойства базы (консоль кластера 1с) выдавало картинку

В данный момент вход в приложение невозможен,
Треугольник попробуйте войти позже.

Показать подробности...


В подробностях показывает: Ошибка доступа к файлу 'C:\Program Files\1cv8\srvinfo\reg_1541\7aee52b0-cd62-47b2-9041-887ebaddd39c\1Cv8FTxt2\change-logs\fts-state.lock'. 5(0x00000005): Отказано в доступе.

Админы в рабочих базах каталог 'C:\Program Files\1cv8\srvinfo\reg_1541\7aee52b0-cd62-47b2-9041-887ebaddd39c\1Cv8FTxt2\' переместили и после перезапуска сервера каталог создался.

Я добился чтобы к каталогу тестовой базы логину работающему с базой дали полные права. База запустилась. Запустились обе базы , но описанная ошибка в (1) возникает в обеих базах
Прикрепленные файлы:
21. Alexandr 13.03.24 10:13 Сейчас в теме
(20)

Ваш код:

ФайлВременногоХранилища=ПолучитьИзВременногоХранилища(Адрес);
ИмяФайла=ПолучитьИмяВременногоФайла();
ФайлВременногоХранилища.Записать(ИмяФайла);
УдалитьИзВременногоХранилища(Адрес);

MXL=Новый ТабличныйДокумент;
MXL.Прочитать(ИмяФайла);

УдалитьФайлы(ИмяФайла);


----------------------------------------------------------------------------------------
Это я описал сравнение со своим кодом
Идущее ниже код просто для сравнения и описания двух команд

MXL.Прочитать(ИмяФайла); //аналогично

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

//эта процедура и падает
-----------------------------------------------------------------------
Будем считать , что между знаками и на них ---------------- стоит комментарий

У меня на моем и на ваше м коде дает ошибку на процедуре вашей

MXL.Прочитать(ИмяФайла);

и на моей

ТабДок.Прочитать(ИмяФайла);
24. anton13m 2 13.03.24 12:00 Сейчас в теме
(21)
У меня на моем и на ваше м коде дает ошибку на процедуре вашей

Может тогда ошибка где-то раньше? Давайте предыдущую строчку кода проверим и т.д. пока не найдем.
22. Alexandr 13.03.24 10:39 Сейчас в теме
После падения базы не правильно установили армянские права доступа доступа к файлам
Удалось добиться установить полные права для логина под которым запускается 1с и все ОК
Мне менять прав Микрософт нет
23. user1880116 13.03.24 11:34 Сейчас в теме
(22)
не правильно установили армянские права доступа доступа
Действительно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот