1с сохранение файлов не выполнено
Для решения данной проблемы необходимо изменить права заходим в "Сервис" – "Пользователи" - "Настройка дополнительных прав пользователей" - выбираем пользователя которому необходимо дать эти права, проставив галочку в строке редактирование таблиц.
Комментарии к статье:
Автор комментария: Наталья
Дата: 2021-10-30
Спасибо за совет! Все получилось.
Автор комментария: Вадим
Дата: 2020-11-11
Автор комментария: Мария
Дата: 2020-03-31
Автор комментария: Виссарион
Дата: 2020-03-03
Автор комментария: Александр
Дата: 2020-01-16
Большое спасибо Вам!
Автор комментария: Aleks
Дата: 2017-07-05
Автор комментария: Дина
Дата: 2017-04-05
А демо 1с 8.2 можно сохранять документы?
Автор комментария: Евгений
Дата: 2017-01-12
Сервис-"настройка дополнительных прав"- "разрешить редактирования таблиц"
Автор комментария: Grig
Дата: 2015-06-22
Подскажите, где смотреть,у некоторых отчетов у пользователя с полными правами не активна команда "Сохранить как" , у остальных можно сохранить.
Автор комментария: Давид
Дата: 2015-01-29
Автор комментария: Елена
Дата: 2014-01-23
Автор комментария: Марина
Дата: 2013-09-12
век учись, век умри - дураком помрешь Спасибо
Автор комментария: ALFA
Дата: 2013-03-15
Коли всё не помогло - Проверьте права у пользователя на изменение печатных форм. Должны проявиться сохранить как, выбор принтера, предпросмотр и тд.
Автор комментария: Виталий
Дата: 2012-12-12
Добрый день, проблема как в первом ответе, только к сожалению, я не понял объяснения: "Если галочка таки установлена в строке редактирование таблиц, гляньте: в правах пользователя в конфигураторе свойства самой конфы: галочка "Вывод"." Не могли бы поподробнее, "для чайника" объяснить - где в конфигураторе права пользователя смотреть и свойства конфы - что это?
Автор комментария: Fin45
Дата: 2012-10-03
Спасибо! Все заработало!
Ура. Получилось! Спасибо. А то попросили администрировать 1с-ку , в которой ничегошеньки не знаю. Добавила нового пользователя. Вроде уж все права проставила, а кнопки "сохранить" и "сохранить как" не активны были. Благодаря Вам все получилось =)))
Автор комментария: Алена
Дата: 2012-05-11
Елена у меня такая же проблема,не знаю , как ее решить((((((((((
Автор комментария: Елена
Дата: 2012-03-01
Добрый вечер! Прочитала вашу переписку. А если ставишь в конфигураторе галочку напротив "вывод" у КадровикаРегламетированныхДанных, Управленческихи МенеджерПоПерсоналу в 1С УПП8.2 И ничего не проиходит. Все равно при открытии документа на печать нет возможности его сохранить как копию, нет возможности редактировать. Посмотрела др. роли "Учет ндс" и т.п., там нет галочки напротив "вывод", а бухгалтеры у нас прекрасно редактируют. А у кадровиков работа тормозится Может я еще где-то что-то не поставила
Автор комментария: Виктор
Дата: 2012-02-29
1С - Автору огромный +
Автор комментария: Влад
Дата: 2012-02-27
Автор комментария: Dmitry
Дата: 2011-12-13
Хм, мож и чайники, тока раскидывать "права" по куче настроек - косяк 1С.
Автор комментария: Dmitry
Дата: 2011-12-13
В любом случае - СПАСИБО!
Автор комментария: Ольга
Дата: 2011-11-29
о дааа, это спасает чайников, тоже долго искала ответ, на сие безобразие
Автор комментария: Лиля
Дата: 2011-09-30
Супер, пасибки, помогло такому чайнику как я :)
Автор комментария: Atlantida
Дата: 2011-05-26
Если галочка таки установлена в строке редактирование таблиц, гляньте: в правах пользователя в конфигураторе свойства самой конфы: галочка "Вывод".
Автор комментария: Михаил
Дата: 2011-05-12
Здравствуйте. У меня подобная проблема. У пользователя права доступа урезаны на всё, чтобы ничего нельзя было редактировать. В настройках дополнительных прав пользователя галочка установлена в строке редактирование таблиц. Формирую отчёт. Но кнопка "Сохранить как" не активна. Уже на многих форумах читал - везде говорят про установку этой галочки в настройках дополнительных прав пользователя в строке редактирование таблиц. Но мне данный совет не помог. Подскажите, может где-то в конфигураторе ещё какие-то настройки необходимо установить в правах?
Автор комментария: adm
Дата: 2011-05-12
Если вы говорите, что права урезаны, то наверное стоит сперва попробовать сохранить отчет, под тем пользователем у кого есть побольше прав, а потом уже разбираться с ролями (возможно в роле не стоит нужная галочка).
Дата публикации 29.09.2017
В программах "1С:Предприятие" реализованы возможности, позволяющие решать проблему накапливающейся электронной корреспонденции в 1С-Отчетности.
Дело в том, что входящая и исходящая корреспонденция (письма, технологические документы и др.) при их отправке и получении сохраняются в информационной базе, тем самым увеличивая ее объем.
Если проблема увеличившегося объема информационной базы мешает вашей работе, то возможны следующие варианты ее решения:
1. Можно выполнить настройку, позволяющую сразу сохранять файлы 1С-Отчетности в отдельную папку на диске (или на сервере). В этом случае файлы не будут сохраняться в информационной базе изначально, но в последующем будут доступны из программы так же, как если бы они хранились в базе.
2. Можно выгрузить сохраненную в информационной базе корреспонденцию 1С-Отчетности с помощью специальной обработки в архив на диске. При этом файлы архива будут удалены из информационной базы (с возможностью восстановления, если это потребуется) и станут недоступны из программы.
Рассмотрим эти оба варианта в нашей статье.
Хранение данных в томах на диске
Рассмотрим вариант 1: можно выполнить настройку, позволяющую сразу сохранять файлы корреспонденции 1С-Отчетности в отдельную папку на диске (или на сервере). В этом случае корреспонденция 1С-Отчетности не будет загружаться в информационную базу изначально, но в последующем будут доступны из программы так же, как если бы они хранились в базе, то есть изменение не повлияет на работу пользователя.
Важная особенность этого варианта заключается в том, что данная настройка может быть задана только для информационной базы в целом. Это означает, что в заданных томах на диске будут храниться не только файлы 1С-Отчетности, но и файлы других механизмов.
Для перехода к настройке перейдите по гиперссылке "Настройки работы с файлами" в разделе "Администрирование" (рис. 1).
В форме "Настройка работы с файлами" установите флажок "Хранить файлы в томах на диске" (рис. 2). При этом появится предупреждение, что нужно настроить тома (папки), нажмите "ОК".
Щелкните по гиперссылке "Тома хранения файлов" (рис. 3).
Укажите наименование тома и путь для хранения файлов (рис. 5).
Для запуска регламентного задания перейдите из раздела "Администрирования" по гиперссылке "Обслуживание".
Затем перейдите по гиперссылке "Регламентные и фоновые задания" (рис. 7).
За один запуск задание переносит только 10 файлов. Вы можете настроить удобное для себя расписание запусков регламентного задания.
После переноса файлов в тома необходимо выполнить реструктуризацию (сжатие) таблиц информационной базы для уменьшения ее физического размера.
Для этого откройте программу в режиме режиме "Конфигуратор" выберите пункт меню "Администрирование" - "Тестирование и исправление".
При работе с клиент-серверным вариантом базы установите флажок "Реструктуризация таблиц информационной базы" (рис. 9).
При работе с файловой базой - флажок "Сжатие таблиц информационной базы" (рис. 10).
Архивация данных
Второй вариант решения проблемы предполагает разовую выгрузку файлов 1С-Отчетности в архив на диске с помощью специальной обработки.
Перед выполнением архивирования настоятельно рекомендуется выполнить резервное копирование данных информационной базы. Также убедитесь, что на диске достаточно места для размещения архива.
В поле "Каталог архива" укажите путь для хранения архива (рис. 11).
Чтобы установить отбор (по организации, по периоду, по видам объектов и контролирующим органам) воспользуйтесь соответствующими вариантами отбора (рис. 12).
Если снять флажок "Не удалять файлы из базы", то после окончания архивации файлы 1С-Отчетности будут удалены из информационной базы и после проведения реструктуризации таблиц (см. ниже) объем базы будет уменьшен.
Для архивации нажмите кнопку "Архивировать".
После переноса файлов в тома необходимо выполнить реструктуризацию (сжатие) таблиц информационной базы для уменьшения ее физического размера.
Для этого откройте программу в режиме режиме "Конфигуратор" выберите пункт меню "Администрирование" - "Тестирование и исправление".
При работе с клиент-серверным вариантом базы установите флажок "Реструктуризация таблиц информационной базы" (рис. 14).
При работе с файловой базой - флажок "Сжатие таблиц информационной базы" (рис. 15).
Восстановление данных из архива
Если при архивации данных файлы 1С-Отчетности были удалены (был снят флажок "Не удалять файлы из базы"), а затем понадобилось их снова загрузить в информационную базу, то можно выполнить восстановление.
Восстановление выполняется с помощью той же обработки, что и архивация.
Восстановить данные можно только в ту информационную базу, из которой была выполнена архивация.
Укажите каталог архива, в котором хранятся заархивированные файлы 1С-Отчетности и нажмите кнопку "Восстановить".
В окне "Настройка восстановления объектов" укажите какие данные за какой период необходимо восстановить (рис. 17) и нажмите "ОК".
Доступ к файловой системе из кода конфигурации
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
1. При обращении из кода конфигурации к файлам и каталогам файловой системы следует иметь в виду, что доступ к ним ограничен правами пользователя операционной системы, от имени которого запущено приложение.
1.1. Если доступ к файловой системе осуществляется из кода, выполняемого на клиенте, то он выполняется под правами пользователя, от имени которого запущено приложение (тонкий, толстый или веб-клиент). Как правило, это текущий пользователь операционной системы.
1.2. Если доступ к файловой системе осуществляется из кода, выполняемого на сервере, то:
- при использовании клиент-серверной информационной базы, доступ ограничен правами пользователя, от имени которого запущен сервер 1С:Предприятия (*);
- при использовании файловой базы, опубликованной на веб-сервере, доступ ограничен правами пользователя, от имени которого запущен веб-сервер.
* Рабочие процессы могут быть также запущены от имени другого пользователя, отличного от того, под которым запускается агент сервера. Подробнее см. руководство администратора клиент-серверного варианта, описание служебного файла swpuser.ini
Область применения (уточнение): управляемое приложение, обычное приложение.
2. Запрещается выполнять запись каких-либо файлов в каталог исполняемых файлов 1С:Предприятия, получаемого с помощью метода КаталогПрограммы . Использование метода КаталогПрограммы допустимо только для чтения или запуска файлов. Например, при работе в ОС Windows, для запуска копии тонкого клиента 1С:Предприятия текущей версии, допустимо использовать:
3. Даже если не планируется локализация конфигурации на другие языки, следует обеспечивать переносимость файлов, сформированных из кода конфигурации, между различными операционными системами с различными кодировками. Для этого необходимо:
3.1. В именах файлов, автоматически формируемых из кода конфигурации, указывать только английские буквы, а также цифры, а в качестве кодировки текстовых файлов использовать только UTF-8 (именно этот формат предпочтителен, т.к. только с ним корректно работает операционная система macOS).
3.2. В тех случаях, когда имя файла не генерируется системой, а его явно вводит пользователь, разрешить ввод русскоязычных имен, но при этом дать возможность транслитерировать его в англоязычное имя. По умолчанию, если это технически возможно и не снижает удобство работы, рекомендуется предлагать англоязычное имя файла, а для текстовых файлов – сохранение в кодировке UTF-8.
Также эти рекомендации по выбору имени и кодировки файла следует разместить в справке к тем местам программы, где пользователь имеет возможность сохранять файлы и выбирать кодировку.
В конфигурациях на базе Библиотеки стандартных подсистем для транслитерации имен файлов рекомендуется использовать функцию СтроковыеФункцииКлиентСервер.СтрокаЛатиницей .
Работа с временными файлами и каталогами
При необходимости использования временных файлов и каталогов необходимо соблюдать следующие требования:
1. Для получения имени временного файла следует использовать метод ПолучитьИмяВременногоФайла (исключение составляет веб-клиент, см. ниже п. 3). В противном случае возможна некорректная работа конфигурации в многопользовательском режиме, с включенными профилями безопасностями, возникновение проблем с правами доступа к файлам операционной системы, а также неконтролируемое увеличение количества ненужных временных файлов, которые не будут своевременно удалены.
ИмяПромежуточногоФайла = "C:\Временные файлы 1С\TempFile.xml";
Данные.Записать(ИмяПромежуточногоФайла);
У текущего пользователя может не быть прав на запись в указанный каталог. Кроме того, при одновременном выполнении этого кода из двух разных сеансов возникнет ошибка.
При использовании этой функции будет получено уникальное имя, гарантирован доступ к файлу.
Кроме того, при использовании метода ПолучитьИмяВременногоФайла платформа 1С:Предприятие сохраняет контроль над такими файлами и автоматически удаляет их
- при перезапуске рабочего процесса (если файл был создан на стороне сервера) или клиентского приложения (если файл был создан на стороне клиента);
- через 20 минут после серверного вызова или сеанса, в котором создан временный файл (при работе в клиент-серверном варианте на платформе 8.3.17 и больше).
Если же имя временного файла было сформировано каким-то другим способом, и прикладной код не удалил (либо по какой-то причине не смог удалить) ранее созданный временный файл, то платформа такой файл не контролирует, и он остается в файловой системе на неопределенное время. Накапливание «потерянных» временных файлов может представлять серьезную проблему, особенно для информационных баз с большим количеством активно работающих пользователей (например, при работе в режиме сервиса).
Таким образом, неправильно :
Каталог = КаталогВременныхФайлов();
ИмяФайла = Строка(Новый УникальныйИдентификатор) + ".xml";
ИмяПромежуточногоФайла = Каталог + ИмяФайла;
Данные.Записать(ИмяПромежуточногоФайла);
Если по каким-то причинам прикладной код не удалит созданный файл (например, между блоками создания и удаления временного файла возникнет штатное или нештатное исключение), этот файл так и останется в каталоге временных файлов.
При использовании метода ПолучитьИмяВременногоФайла будет получено уникальное имя, гарантирован доступ к файлу, а также временный файл будет автоматически удален платформой 1С:Предприятие после завершения рабочего процесса сервера или клиентского приложения.
2. Для создания временного каталога рекомендуется также использовать имя, полученное при помощи метода ПолучитьИмяВременногоФайла (исключение составляет веб-клиент, см. ниже п. 3). Это гарантирует уникальность имени создаваемого каталога при работе в многопользовательском режиме и гарантирует, что после перезапуска рабочего процесса или клиентского приложения временный каталог будет автоматически удален платформой 1С:Предприятие. После этого, внутри созданного каталога можно создавать другие каталоги и файлы без ограничений.
3.1. При выполнении кода веб-клиентом метод ПолучитьИмяВременногоФайла недоступен. Поэтому для формирования имен временных файлов и каталогов необходимо использовать функцию КаталогВременныхФайлов и объект УникальныйИдентификатор .
Каталог = КаталогВременныхФайлов();
ИмяФайла = "TempDataFile.xml";
ИмяПромежуточногоФайла = Каталог + ИмяФайла;
Данные.Записать(ИмяПромежуточногоФайла);
Каталог = КаталогВременныхФайлов();
ИмяФайла = Строка(Новый УникальныйИдентификатор) + ".xml";
ИмяПромежуточногоФайла = Каталог + ИмяФайла;
Данные.Записать(ИмяПромежуточногоФайла);
3.2. Если в конфигурацию встроена Библиотека стандартных подсистем , для создания временных каталогов на стороне клиента необходимо использовать процедуру ФайловаяСистемаКлиент.СоздатьВременныйКаталог .
4. После окончания работы с временным файлом или каталогом, его необходимо удалить самостоятельно. Нельзя рассчитывать на автоматическое удаление файлов и каталогов при следующем запуске платформы, это может привести к исчерпанию свободного места в каталоге временных файлов.
// Работа с файлом
.
// Удаляем временный файл
Попытка
УдалитьФайлы(ИмяПромежуточногоФайла);
Исключение
ЗаписьЖурналаРегистрации(НСтр("ru = 'Мой механизм.Действие'"), УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
5. При использовании временных файлов и каталогов на сервере, необходимо полностью завершать работу с ними в рамках одного серверного вызова. При работе конфигурации с использованием кластера серверов, при следующем вызове эти файлы могут стать недоступны, так как код начнет исполняться на другом компьютере. При необходимости сохранить данные между серверными вызовами в пределах одного сеанса следует использовать временное хранилище платформы (методы ПоместитьВоВременноеХранилище , ПолучитьИзВременногоХранилища ).
5.1. В редких случаях может возникнуть необходимость передачи данных во временных файлах между сеансами, например, при подготовке данных для фонового задания, при организации длительного процесса, обслуживающего несколько последовательных вызовов web-сервиса. Необходимо самостоятельно обеспечивать гарантировано общее место хранения, права для доступа к файлам из разных мест их обработки, удаление файлов по истечению сроков их обработки или аварийного завершения процесса обработки. Рекомендуется использовать следующий подход:
- Для обеспечения доступа со всех возможных мест обработки заводится константа для хранения общего пути к файлам, доступного для доступа со всех серверов кластера;
- При создании временных файлов их имена заносятся во вспомогательный регистр сведений с сохранением времени создания файла;
- При штатном прохождении процесса, последняя операция, которой были нужны файлы, перед своим завершением удаляет как сам файл, так и записи о них во вспомогательном регистре;
- Вспомогательное регламентное задание периодически проверяет наличие записей во вспомогательном регистре, время существования которых заведомо превышает время штатного завершения процесса. При обнаружении таких записей, задание удаляет временные файлы и записи о них.
Передача файлов между клиентом и сервером
1. При одновременной работе с файлом на клиенте и на сервере необходимо использовать передачу файла через временное хранилище (методы ПоместитьФайлы , ПолучитьФайл , ПолучитьФайлы , НачатьПомещениеФайла , ПоместитьВоВременноеХранилище , ПолучитьИзВременногоХранилища ). В общем случае клиент и серверы кластера - это разные компьютеры с разной файловой системой, причем доступ к файлам может происходить под разными пользователями ОС с различными правами.
&НаКлиенте
Процедура ОбработатьФайл()
.
ИмяФайла = "C:\Файлы для обработки\Загрузка.xml";
Результат = ПроизвестиОбработкуНаСервере(ИмяФайла);
.
Чтение = Новый ЧтениеТекста(ИмяФайла);
.
Результат = Чтение.Прочитать();
Возврат Результат;
ИмяФайлаДляОбработки = "C:\Файлы для обработки\Загрузка.xml";
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОбработатьФайлЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения,,
ИмяФайлаДляОбработки, Ложь,
УникальныйИдентификатор);
&НаКлиенте
Процедура ОбработатьФайлЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры)
Данные = ПолучитьИзВременногоХранилища(Адрес);
ИмяПромежуточногоФайла = ПолучитьИмяВременногоФайла("txt");
Данные.Записать(ИмяПромежуточногоФайла);
Чтение = Новый ЧтениеТекста(ИмяПромежуточногоФайла);
.
Результат = Чтение.Прочитать();
.
2. Для сохранения данных во временном хранилище между несколькими серверными вызовами, при помещении его в хранилище необходимо использовать параметр УникальныйИдентификаторФормы метода ПоместитьФайл , передав в него идентификатор текущей формы. Такие значения будут удалены из временного хранилища только при закрытии указанной формы. При этом, при повторном помещении того же файла во временное хранилище, предыдущее значение необходимо удалять вручную. Например:
.
// Первый серверный вызов
ИмяФайлаДляОбработки = "C:\Файлы для обработки\Загрузка.xml";
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОбработатьФайлЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения,,
ИмяФайлаДляОбработки, Ложь,
УникальныйИдентификатор);
&НаКлиенте
Процедура ОбработатьФайлЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры)
.
Результат = ПроизвестиНачальнуюОбработкуНаСервере(Адрес);
ПродолжитьОбработкуФайла();
.
.
// Второй серверный вызов с той же версией файла
Результат = ПроизвестиПромежуточнуюОбработкуНаСервере(Адрес);
.
// Третий серверный вызов с новой версией файла
ОписаниеОповещения = Новый ОписаниеОповещения(
"ПродолжитьОбработкуФайлаЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения,,
ИмяФайлаДляОбработки, Ложь,
УникальныйИдентификатор);
Процедура ПродолжитьОбработкуФайлаЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры)
При этом во временном хранилище формы останется две копии файлов. Адрес второй копии будет находиться в переменной Адрес , а адрес первой копии будет утерян. Это приводит к затрате дополнительных ресурсов приложения, замедлению работы.
.
// Первый серверный вызов
ИмяФайлаДляОбработки = "C:\Файлы для обработки\Загрузка.xml";
ОписаниеОповещения = Новый ОписаниеОповещения(
"ОбработатьФайлЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения,,
ИмяФайлаДляОбработки, Ложь,
УникальныйИдентификатор);
.
&НаКлиенте
Процедура ОбработатьФайлЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры)
.
Результат = ПроизвестиНачальнуюОбработкуНаСервере(Адрес);
ПродолжитьОбработкуФайла();
.
.
// Второй серверный вызов с той же версией файла
Результат = ПроизвестиПромежуточнуюОбработкуНаСервере(Адрес);
.
// Третий серверный вызов с новой версией файла
УдалитьИзВременногоХранилища(Адрес);
ОписаниеОповещения = Новый ОписаниеОповещения(
"ПродолжитьОбработкуФайлаЗавершение", ЭтотОбъект);
НачатьПомещениеФайла(ОписаниеОповещения,,
ИмяФайлаДляОбработки, Ложь,
УникальныйИдентификатор);
&НаКлиенте
Процедура ПродолжитьОбработкуФайлаЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры)
3. Если в конфигурацию встроена Библиотека стандартных подсистем для помещения файлов во временное хранилище необходимо использовать процедуры ЗагрузитьФайл и ЗагрузитьФайлы общего модуля ФайловаяСистемаКлиент . Для сохранения данных файла между несколькими серверными вызовами необходимо использовать свойство ИдентификаторФормы параметра ПараметрыЗагрузки :
&НаКлиенте
Процедура ОбработатьФайл()
.
ИмяФайлаДляОбработки = "C:\Файлы для обработки\Загрузка.xml";
ОписаниеОповещения = Новый ОписаниеОповещения("ОбработатьФайлЗавершение", ЭтотОбъект);
ПараметрыЗагрузки = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла();
ПараметрыЗагрузки.ИдентификаторФормы = УникальныйИдентификатор;
ПараметрыЗагрузки.Интерактивно = Ложь;
ФайловаяСистемаКлиент.ЗагрузитьФайл(ОписаниеОповещения,
ПараметрыЗагрузки, ИмяФайлаДляОбработки);
&НаКлиенте
Процедура ОбработатьФайлЗавершение(ПомещенныйФайл, ДополнительныеПараметры)
Читайте также: