Что за ошибка при записи таблич. документа в файл? ТТДокумент.Записать() |
Я |
26.07.10 — 12:51
Ошибка при вызове метода контекста (Записать): Ошибка при выполнении файловой операции ‘C:TempЭкспортфайл.xls’
ТТДокумент.Записать(ПараметрыСеанса.ТекущийПользователь.ПутьСохраненияПФ + Номер + «_» + АдресДоставки.Наименование + «.xls», ТипФайлаТабличногоДокумента.XLS);
1 — 26.07.10 — 12:52
так просто взять экселевский файл и сохранить с таким же именем могу, а этой фукцией ругается..
2 — 26.07.10 — 12:56
Номер + «_» + АдресДоставки.Наименование пробелов не содержит ли, тип ли у него строка, а может длинный слишком, пробовать надо.
3 — 26.07.10 — 13:00
а причем тут пробелы.. с пробелами же нормально сохраняет..
4 — 26.07.10 — 13:01
Ты глянь в отладчике, какое имя файла формируется при сохранении, потом уже дальше можно что-то предпринимать
5 — 26.07.10 — 13:02
вот например реальное имя ‘C:Documents and Settingsbabaeva.eРабочий столЭкспортСБ-Ф0011838_Альбина (Левобережка).xls’
6 — 26.07.10 — 13:02
ПутьКФайлу = ""+ПараметрыСеанса.ТекущийПользователь.ПутьСохраненияПФ + Номер + "_" + АдресДоставки.Наименование + ".xls ТТДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);
7 — 26.07.10 — 13:02
с таким именем влегкую сохраняется файл из экселя..
8 — 26.07.10 — 13:04
(5) Это ты в отладчике посмотрел?
9 — 26.07.10 — 13:04
а заодно посмотри что в переменную ПутьКФайлу попадает, можно через
сообщить(ПутьКФайлу);
10 — 26.07.10 — 13:04
(8)имя файла да
11 — 26.07.10 — 13:06
(8)(9) полное имя файла в отладчике получилось вот такое ‘C:Documents and Settingsbabaeva.eРабочий столЭкспортСБ-Ф0011838_Альбина (Левобережка).xls’
12 — 26.07.10 — 13:07
как в (6) описано тоже не получилось?
13 — 26.07.10 — 13:17
Что за скобки в имени файла?
14 — 26.07.10 — 13:18
Хотя вообще-то спешу, можно вроде скобки, сорри
15 — 26.07.10 — 13:18
(12) так как в (6) тоже не работает
16 — 26.07.10 — 13:19
со скобками можно… он и без скобок не хочет сохранять
17 — 26.07.10 — 13:20
(16) может это - права - выполнение на сервере 1С
18 — 26.07.10 — 13:22
в 8.1 работало, а на 8.2 не хотит. выполняется на клиенте
19 — 26.07.10 — 13:23
ТТДокумент — какой тип?
20 — 26.07.10 — 13:24
ТТДокумент = Новый ТабличныйДокумент;
21 — 26.07.10 — 13:26
в отладчике в момент записи?
22 — 26.07.10 — 13:26
права уже все себе выставил
23 — 26.07.10 — 13:27
в отладчике ТТДокумент — ТабличныйДокумент
24 — 26.07.10 — 13:29
попытка ТТДокумент.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS); исключение сообщить(ОписаниеОшибки()); конецпопытки;
а если так?
25 — 26.07.10 — 13:31
(24) пишет: {Документ.РасходнаяНакладная.МодульОбъекта(5749)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении файловой операции ‘с:ТФ-Ф0011356_Ленторг ООО Вершинина 762.xls’
26 — 26.07.10 — 13:33
В адресе слэш?
27 — 26.07.10 — 13:34
хоть слэш хоть не слэш все равно ругается: {Документ.РасходнаяНакладная.МодульОбъекта(5749)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении файловой операции ‘с:ТФ-Ф0011371_Томлад Иркутский 63.xls’
28 — 26.07.10 — 13:37
может это очередной глюк 8.2?))
29 — 26.07.10 — 13:40
Сохранял из 8.2 из тонкого клиента в управляемом приложении все ОК работало
30 — 26.07.10 — 13:40
(28) херня у тебя в 8.2 работает &НаКлиенте Процедура Команда1(Команда) ТД=Новый ТабличныйДокумент; ТД.Записать("C:123.xls",ТипФайлаТабличногоДокумента.XLS); КонецПроцедуры
31 — 26.07.10 — 13:47
#Если Клиент Тогда Процедура Команда1(Команда) ТД=Новый ТабличныйДокумент; ТД.Записать("C:123.xls",ТипФайлаТабличногоДокумента.XLS); КонецПроцедуры #КонецЕсли
у меня вот так
32 — 26.07.10 — 13:56
блин в чем же дело то??
33 — 26.07.10 — 14:01
#Если НаКлиенте Тогда Процедура Команда1(Команда) ТД=Новый ТабличныйДокумент; ТД.Записать("C:123.xls",ТипФайлаТабличногоДокумента.XLS); КонецПроцедуры #КонецЕсли
может так попробовать
34 — 26.07.10 — 14:03
(32) дело в кривых руках
код проверен на 8.2.11.236
35 — 26.07.10 — 14:10
(33) на тестовой файловой базе не работает
Krizis
36 — 26.07.10 — 14:33
все дело было в слэше)) ‘C:Documents and Settingsbabaeva.eРабочий столЭкспортСБ-Ф0011838_Альбина (Левобережка).xls’ последний был лишний))
Содержание:
1. Об ошибке при выполнении файловой операции
2. Устранение «Ошибки при выполнении файловой операции» в 1С 8.3
1. Об ошибке при выполнении файловой операции
Приветствую, коллеги! В данной статье будет описана ошибка «Ошибка при выполнении файловой операции», и подробно рассмотрены способы ее устранения.
Когда происходит обновление конфигураций в 1С 8, по завершении обновления, часто появляется ошибка, которая гласит «Ошибка при выполнении файловой операции – файл не содержит доступных обновлений».
2. Устранение «Ошибки при выполнении файловой операции» в 1С 8.3
Рассмотрим методы, при помощи которых, можно устранить ошибку при выполнении файловой операции в 1С.
Итак, первый способ – это попробовать сделать обновление при помощи файлов по обновлению вида «релиз 1с*.cfu». Если это не помогло, то можно попробовать обновить систему при помощи общего файла вида «полный релиз 1С*.cf».
Вторым способом будет проверка на соответствие общей версии системы 1С с минимальными требованиями версии конфигурации 1С, которую обновляем.
Третий способ устранения ошибки при выполнении файловой операции в 1С – более сложный, но действенный. Необходимо открыть в конфигурацию от поставщика в режиме Конфигуратора. Если ошибка всё так же появляется, то необходимо удалить конфигурацию поставщика, а затем опять установить. По сути, в данном варианте «вытягивается» последняя, рабочая версия данной конфигурации и обновление будет завершено без ошибок.
Рассмотрим подробнее третий способ. Пусть у нас уже есть некоторая конфигурация 1С KORG 1-ой версии, которая работает, но нужно поставить 2-ю версию, то есть обновить версию конфигурации 1С 8.3. Когда происходит обновление, всплывает ошибка «Ошибка при выполнении файловой конфигурации». Порядок действий в этом случае:
1. скачать релиз 1С KORG с версией 1*.cf;
2. копируем нашу базу данных;
3. в конфигураторе, который соответствует обновляемой базе, переходим по пути: «Конфигурация → Поддержка → Настройки поддержки → Снять с поддержки». В случае, если кнопка для снятия с поддержки недоступна, необходимо сперва включить возможные изменения. После этого нужно дать согласие, если система 1С будет уточнять что-либо или подтверждать действия;
4. Далее переходим по следующему пути: «Конфигурация → Сравнить и объединить с конфигурацией из файла…». Здесь необходимо выбрать файл «полный релиз 1С KORG версии 1*.cf»;
5. Далее перед нами появится окно, в котором система 1С будет запрашивать постановление на учёт для поддержки, на это уведомление обязательно отвечаем согласием;
6. В случае, если наша конфигурация является типовой, откроется окно по сравнению конфигураций. В нем обязательно убираем все «галочки». Далее последует объединение конфигураций;
7. В новом окне кликаем на «Сохранить изменения»;
8. Ещё раз сохраняем базу данных;
9. Обновляем конфигурацию 1С стандартным способом.
Если всё сделать, согласно инструкции выше, то в вашей конфигурации 1С 8.3 «Ошибка при выполнении файловой операции» больше не возникнет. Спасибо за внимание!
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Обновлено 15.10.2020

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Рунета Pyatilistnik.org. В прошлый раз мы с вами разобрали, что из себя представляет файловая система raw, и как ее исправить, чтобы восстановить свои данные. Двигаемся дальше и поговорим сегодня на тему капризности 1С, точнее на капризную работу в рамках Windows Server 2016. Я рассмотрю причину и устранение периодически повторяющейся ошибки на сервере 1С 8.3 «Ошибка при выполнении файловой операции«. Ее я стал встречать после обновления с Windows Server 2012 R2 д 2016. Думаю мой опыт сэкономит вам часик серфинга по интернету.
Описание проблемы
В моей компании заканчивается обновление операционных систем у виртуальных серверов, с Windows Server 2012 R2 на Windows Server 2016, я понимаю, что поддержка первых еще будет несколько лет, но хочется уже не делать это в последний момент, а слегка опережать, да и уже давно пора стремиться к Windows Server 2019. Сервера 1С не были исключением, обновление происходило по быстрому варианты. Тут подразумевается накатывание более новой версии ОС по верх старой, тут мы убивали двух зайцев:
- Получали свежую версию ОС
- Оставляли весь софт на сервере, и не требовалась его переустановка
В случае чего всегда можно было откатиться из снапшота на момент проведения работ, благо ESXI 6.5 это помогает делать в два клика. Все прекрасно обновилось и сервер зажил новой жизнью. В какой-то момент при запуске клиента 1С 8.3 на RDS ферме, стала появляться ошибка:
Ошибка при выполнении файловой операции

Устранение проблемы
Начав изучать данный вопрос мы не стали откатываться к бэкапу, так как данная проблема возникала не постоянно, а через некоторые промежутки и была вызвана явно не переходом на более новую версию операционной системы. Подняв исторические данные в системе заявок, я нашел похожую, где решением ошибки был перенос базы данных 1С на другой диск. Меня это заинтересовало и я стал прикидывать, что же могло быть в той ситуации. Через минут 20 я нашел одну закономерность, что на всех проблемных хостах был установлен компонент Windows дедупликации, как раз на тех дисках, где располагались базы данных 1С.
Я для тестирования отключил дедупликацию и вернул все в исходное состояние, и о чудо ошибка при выполнении файловой операции больше не появлялась. Все те же действия я произвел и на остальных серверах.

Вывод: Windows Дедупликация и 1С просто не совместимы друг с другом, это нужно запомнить
Из дополнительных методов я могу вам посоветовать еще очистку кэша 1С. Еще в на умных сайтах советуют на серверах, где используется 1С отключать протокол IPv6 на сетевых интерфейсах, но лично я не понимаю этого прикола, так как сама Microsoft советует по возможности этого не делать, в виду того, что очень многие ее сервисы и компоненты Windows в приоритете используют именно его, меньше будет проблем с DNS и Active Directory.
Вообще если у вас виртуальные сервера лежат на системе хранения данных, то у нее должна быть своя функция дедупликации и использовать лучше и правильнее ее. Если у вас есть другие варианты решения данной проблемы, то пишите их в комментариях. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Ошибка 1С при выполнении файловой операции или Ошибка операции с файлом базы данных, возникает когда 1С не может получить доступ к файлу базы данных, не может найти папку с базой или создать в ней необходимые служебные файлы.
![]() |
| Ошибка 1C при выполнении файловой операции |
Здесь мы видим частный и явно описанный случай проблемы. После обновления Windows на компьютере с базой, бухгалтер со второй машины не смог зайти в базу. Программа выдала ошибку как на скриншоте.
Описание: «Вход пользователя не выполнен из-за ограничений учётной записи. Например, пустые пароли не разрешены; ограничено число входов или включено ограничение политики».
В рассматриваемом примере 1С явно указывает на возможные источники проблемы. После установки патча винда сбросила некоторые настройки сетевой политики безопасности, и по умолчанию перестала пускать пользователей с учёткой без пароля.
Чтобы починить, нужно на ПК с базой зайти в Панель управлени — Центр управления сетями и общим доступом — Изменить дополнительные параметры общего доступа — Все сети — Общий доступ с парольной защитой — установить флаг Отключить общий доступ с парольной защитой.
Если не хочется бродить в недрах панели управления, можно открыть редактор политик напрямую:
Пуск — Выполнить (или Win+R) — secpol.msc;
Переходим в Локальные политики — Параметры безопасности — Учетные записи: разрешить использование пустых паролей только при консольном входе устанавливаем значение Отключен.
Какие ещё причины могут вызвать появление подобной ошибки:
- Некорректная работа антивируса. Обычно этим периодически грешит Касперский: нужно добавить приложение 1С и папки с базами в исключение. Иногда помогает только полная переустановка антивируса.
- Некорректная настройка общего доступа к папке с базой: нет прав у конкретного пользователя или прав на запись/изменение в папку. Проверить это очень просто: нужно перейти в папку (можно скопировать путь из окна запуска 1С) и попробовать создать в ней любой файл. Хотя бы обычный текстовый документ. Если не получается или папка не открывается — скорее всего оно.
Рекламы в блоге нет, заметки я пишу из чистого энтузиазма. Но если статья оказалась полезной, вы можете поддержать блог, отправив символическую сумму через форму ниже. Ваша поддержка вдохновляет меня на создание новых статей.
Выскакивает ошибка при попытке сохранения картинки на диск. Ошибка такого характера —
{Справочник.Товары.Форма.ФормаЭлемента.Форма(63)}: Ошибка при вызове метода контекста (ПолучитьФайл)
ПолучитьФайл (СсылкаНаФайлВИБ, Объект.ИмяФайлаКартинки);
по причине:
Ошибка при выполнении файловой операции ‘/e1cib/data/Справочник.Товары.ФайлКартинки?ref=»a25100115b79455911e0ee7de52ab47e»‘
&НаКлиенте
Процедура ЗагрузитьСДиска(Команда)
АдресВХранилище = "";
ВыбранноеИмяфайла = "";
Если ПоместитьФайл(АдресВХранилище, , ВыбранноеИмяФайла, , УникальныйИдентификатор) Тогда
Файл = Новый Файл(ВыбранноеИмяФайла);
ИмяФайлаКартинки = Файл.Имя;
СсылкаНаКартинку = АдресВХранилище;
Модифицировать = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ЭтоАдресВременногоХранилища (СсылкаНаКартинку) Тогда
ДвоичныеДанные = ПолучитьИзВременногоХранилища (СсылкаНаКартинку);
ТекущийОбъект.ФайлКартинки = Новый ХранилищеЗначения (ДвоичныеДанные, Новый СжатиеДанных(9));
ТекущийОбъект.ИмяФайлаКартинки = ИмяФайлаКартинки;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере (Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ЭтоАдресВременногоХранилища(СсылкаНаКартинку) Тогда
УдалитьИзВременногоХранилища (СсылкаНаКартинку);
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку (ТекущийОбъект.Ссылка, "ФайлКартинки");
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере (Отказ, СтандартнаяОбработка)
Если Объект.ИмяФайлаКартинки <> "" Тогда
СсылкаНаКартинку = ПолучитьНавигационнуюСсылку (Объект.Ссылка, "ФайлКартинки");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьНаДиск(Команда)
Если Объект.ИмяФайлаКартинки = "" Тогда
Предупреждение ("У поставщика нет сохраненной в базе картинки");
Иначе
СсылкаНаФайлВИБ = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФайлКартинки");
ПолучитьФайл (СсылкаНаФайлВИБ, Объект.ИмяФайлаКартинки);
КонецЕсли;
КонецПроцедуры
Код написан по книжке,поэтому не могу понять,что я делаю не так. Помоги пожалуйста.
