как изменить локальные темповые папки 1С пользователя
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Стокнулся с проблемой в Бух 2.0, ос win serv 2003, в ЭДО приходят Произвольный документ с вложением, но не суть, при попытке открыть вложение программа пытается его кешировать в папку
C:\Documents and Settings\%userprofile% \Local Settings\Application Data\1C\Файлы\БухгалтерияПредприятия\<Имя пользователя>\<Имя файла>
проблема в том что <Имя пользователя> около 30 символов ФИО полностью, <Имя файла> - больше 50 там в имени вложения идентефикатор документа и отправителя получателя в эдо
операционная система выдает ошибку.
Хочу изменить <Имя пользователя> убрать Имя и Отчество, должно помочь, так как у пользователей без отчества в частности меня, сохраняется нормально. Но не могу найти куда это имя сохранено, имя пользователя в справочнике менял, в конфигураторе тоже, кеш чистил, все равно Имя остается первоначальное, то есть с отчеством. Или может можно вообще как нибудь самому сделать путь к локальным папкам короче?
C:\Documents and Settings\%userprofile% \Local Settings\Application Data\1C\Файлы\БухгалтерияПредприятия\<Имя пользователя>\<Имя файла>
проблема в том что <Имя пользователя> около 30 символов ФИО полностью, <Имя файла> - больше 50 там в имени вложения идентефикатор документа и отправителя получателя в эдо
операционная система выдает ошибку.
Хочу изменить <Имя пользователя> убрать Имя и Отчество, должно помочь, так как у пользователей без отчества в частности меня, сохраняется нормально. Но не могу найти куда это имя сохранено, имя пользователя в справочнике менял, в конфигураторе тоже, кеш чистил, все равно Имя остается первоначальное, то есть с отчеством. Или может можно вообще как нибудь самому сделать путь к локальным папкам короче?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Aleksey58,
сделал приблизительно так
mkdir C:\Temp\1c\user1
rd /s /q "C:\Documents and Settings\user1\Application Data\1C"
mklink /j "C:\Documents and Settings\user1\Application Data\1C" "C:\Temp\1c\user1"
не помогло стал сохранять файл в старом месте в новом делать на него ссылку ((
сделал приблизительно так
mkdir C:\Temp\1c\user1
rd /s /q "C:\Documents and Settings\user1\Application Data\1C"
mklink /j "C:\Documents and Settings\user1\Application Data\1C" "C:\Temp\1c\user1"
не помогло стал сохранять файл в старом месте в новом делать на него ссылку ((
(1) jeck122,
RegEdit
- HKEY_USERS
--- <ид пользователя>
---- Environment
там заменяем значение, например, на системный диск:
для Tmp на %SystemDrive%\TEMP
для Temp на %SystemDrive%\TEMP
П.С.: Если вынести эти папки на RAM или SSD-диск, то еще и неплохой прирост в скорости работы получается...
Или может можно вообще как нибудь самому сделать путь к локальным папкам короче?
RegEdit
- HKEY_USERS
--- <ид пользователя>
---- Environment
там заменяем значение, например, на системный диск:
для Tmp на %SystemDrive%\TEMP
для Temp на %SystemDrive%\TEMP
П.С.: Если вынести эти папки на RAM или SSD-диск, то еще и неплохой прирост в скорости работы получается...
(14) h00k, сервер перезагружать когда на нем пользователи это фантастика, но сеанс завершал, я так конимаю это не совсем локальный кэш, это просто в отдельной процедуре жестко прописаны пути StBender точно указал место где это задано. Можно отнести к небольшим недальновидным косякам 1С, так делать нельзя, если конфу править нельзя то ситуация безвыходная) но это не мой случай
(1) jeck122, поищите в конфигураторе по "\1C\Файлы\" там где-то в модулях файловых функций определяется вид пути, для сохранения файлов. Можете убрать формирование лишних элементов путей файлов. Или вообще прописать свой короткий путь для сохранения файлов. У меня этот путь определяется здесь
Модуль - ФайловыеФункцииСлужебныйКлиент.
Функция ВыбратьПутьККаталогуДанныхПользователя() Экспорт
ИмяКаталога = "";
ВыбратьРабочийКаталогПользователя = Ложь;
#Если Не ВебКлиент Тогда
Если ОбщегоНазначенияКлиентСервер.ЭтоLinuxКлиент() Тогда
ИмяКаталога = Вычислить("РабочийКаталогДанныхПользователя()");
Иначе
ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента();
Если ПараметрыРаботыКлиента.ЭтоБазоваяВерсияКонфигурации Тогда
ВыбратьРабочийКаталогПользователя = Истина;
Иначе
Оболочка = Новый COMОбъект("WScript.Shell");
Путь = Оболочка.ExpandEnvironmentStrings("%APPDATA%");
Путь = Путь + "\1C\Файлы\";
Путь = Путь
+ ПараметрыРаботыКлиента.ИмяКонфигурации
+ ОбщегоНазначенияКлиентСервер.РазделительПути();
ИмяПользователя = ПользователиКлиентСервер.ТекущийПользователь();
ИмяКаталога = Путь + ИмяПользователя;
ИмяКаталога = СтрЗаменить(ИмяКаталога, "<", " ");
ИмяКаталога = СтрЗаменить(ИмяКаталога, ">", " ");
ИмяКаталога = СокрЛП(ИмяКаталога);
ИмяКаталога = ИмяКаталога + ОбщегоНазначенияКлиентСервер.РазделительПути();
КонецЕсли;
КонецЕсли;
#Иначе // ВебКлиент
РасширениеПодключено = ПодключитьРасширениеРаботыСФайлами();
Если РасширениеПодключено Тогда
Если ОбщегоНазначенияКлиентСервер.ЭтоПлатформа83БезРежимаСовместимости() Тогда
ИмяКаталога = Вычислить("РабочийКаталогДанныхПользователя()");
Иначе
ВыбратьРабочийКаталогПользователя = Истина;
КонецЕсли;
КонецЕсли;
#КонецЕсли
Если ВыбратьРабочийКаталогПользователя Тогда
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
ДиалогОткрытияФайла.Каталог = "";
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = НСтр("ru = 'Выберите путь к рабочему каталогу'");
Если ДиалогОткрытияФайла.Выбрать() Тогда
ИмяКаталога = ДиалогОткрытияФайла.Каталог;
ИмяКаталога = ИмяКаталога + ОбщегоНазначенияКлиентСервер.РазделительПути();
КонецЕсли;
КонецЕсли;
Возврат ИмяКаталога;
КонецФункции
ПоказатьМодуль - ФайловыеФункцииСлужебныйКлиент.
(6) StBender, не, я к тому, что в некоторых древних версиях, до БСП, свой алгоритм.
Но так-то да, можно найти процедуру формирования имени файла и переопределить её на свою.
Особенно если нет дополнительного ССД для временных файлов или ССД является системным диском. Но даже в этих случаях, я например, предпочитаю весь тмр "мусор" для всех учетных записей скидывать в С:\Темр, особенно это касается учеток от имени которых запускаются службы.
Но так-то да, можно найти процедуру формирования имени файла и переопределить её на свою.
Особенно если нет дополнительного ССД для временных файлов или ССД является системным диском. Но даже в этих случаях, я например, предпочитаю весь тмр "мусор" для всех учетных записей скидывать в С:\Темр, особенно это касается учеток от имени которых запускаются службы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот