Windows 2012 server (eng)
Клиент-сервер. Агент сервера запускается под админом.
Оба каталога созданы, пути для них есть.
Всё делаем &НаСервере

```1c
    Х = Новый XBase;
    Х.поля.Добавить("pewpew", "N10");
    //Х.СоздатьФайл("C:\ya kotolog\hash.dbf"); // По такому пути работает

    //Х.СоздатьФайл("C:\йа котолог\hash.dbf"); // А по такому ошибка:
```

```1c
    {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(7)}: Ошибка при вызове метода контекста (СоздатьФайл)
    Х.СоздатьФайл("C:\йа котолог\hash.dbf");
    по причине:
    Ошибка создания файла
```

тем не менее, обычный текстовый документ нормально сохраняется:

```1c
    ТекДок = Новый ТекстовыйДокумент;
    ТекДок.УстановитьТекст("МУАХАХА");
    ТекДок.Записать("C:\йа котолог\111.txt");
```

Может кто-нибудь подсказать куда копать?
---
Ещё можно сделать
```1c
    dir /x "c:\*йа котолог*"
```
 из командной строки, подсмотреть и использовать альтернативное имя папки по стандарту 8.3. (то, которое с тильдой для совместимости с MsDos, а не 1С 8.3 ))
---
Ещё можно сделать
dir /x "c:\*йа котолог*"

Благодарю.

Попробовал команду dir, все русские каталоги он вывел как вопросы.
После непродолжительного поиска найдено решение:
в настройках изменить локаль на русскую.

После чего русские каталоги отображаются нормально, DBF в каталоге с русскими символами создаётся/читается корректно.

Всё же считаю это какой-то недоработкой с XBase, ибо ТекстовыйДокумент заходит без проблем.

Спасибо всем неравнодушным, особенно роботу Вертеру. :)
---
создай с английскими, потом переименуй файл. И нет проблем!
---
установи текущим каталогом нужный и создавай, что надо без путей.
---
попробуйте следующий код:

```1c
    Х = Новый XBase;
    Х.поля.Добавить("pewpew", "N10");
    Каталог = "C:\йа котолог\";
    СоздатьКаталог(Каталог);
    Х.СоздатьФайл(Каталог + "hash.dbf");
```

Ошибка есть?
---
"C:\bf47~1\" - это короткое имя каталога (полный путь), аналог длинного "C:\йа котолог\" - используйте его.
---
"C:\bf47~1\" - это короткое имя каталога (полный путь), аналог длинного "C:\йа котолог\" - используйте его.

Уверен, что так тоже бы заработало, но тогда пришлось бы править модуль БСП, а с поддержки его снимать не хотелось бы.

(22) попробуйте следующий код:

Каталоги существуют. В моём примере это не показано, но в реальной задаче именно так и создаётся. Если отсутствует, конечно.
---
Мне кажется. если не создается имя файла русскими буквами, дык нехай с ним - создавайте английскими буковками.
---
Мне кажется. если не создается имя файла русскими буквами, дык нехай с ним - создавайте английскими буковками.

Это, конечно, возможно. Так же есть способ перевести на XML, что было бы неплохо, но, мне кажется, правильнее будет сначала разобраться со сложностью.

Функция БСП

```1c
    ФайловыеФункцииСлужебныйКлиент.ВыбратьПутьККаталогуДанныхПользователя();
```

возвращает путь, где есть слово русскими буквами "Файлы"
---
а вот так работает:

```1c
    ТекДок.Записать("C:\йа котолог\" + "111.txt");
```
?
---
Ну да, я же пишу: "тем не менее, обычный текстовый документ нормально сохраняется: "
---
С ДБФ файлом так работает?
---
Ошибка создания файла
---
как вариант, если все совсем глухо (попробовать изменить тип поля)
создаешь файл во временной папке, потом копируешь его в нужную
---
как вариант, если все совсем глухо (попробовать изменить тип поля)
создаешь файл во временной папке, потом копируешь его в нужную

Вариант, конечно. Благодарю. :)
Но как-то грязновато...
---
Сейчас проверил у себя - работает. Странно как-то. Вот этот код:

```1c
    Х = Новый XBase;
    Х.поля.Добавить("pewpew", "N10");
    Х.СоздатьФайл("C:\йа котолог\hash.dbf");
```
---
Сейчас проверил у себя - работает. Странно как-то. Вот этот код:

Да на старом сервере у меня тоже работает, и на клиенте работает.
Думал права на каталоги, выдал админа временно -- не помогает.
---
так ты тип поля пробовал поменять или нет?
---
так ты тип поля пробовал поменять или нет?
Попробовал. Без изменений.
---
пробелы убери!
---
пробелы убери!

Таки с английскими буквами пробел не мешает.

(16) C: - точно английская буква? Опечаток в пути нет?

К сожалению -- точно. Хотя текст ошибки одинаковый и в этом случае.

(17) создай с английскими, потом переименуй файл. И нет проблем!

Уже предлагали такой вариант. Если не сможем победить, просто перестанем использовать функцию из БСП для получения каталога с файлами.

Но хотелось бы всё же разобраться.

(15) я бы копал в сторону кодовой страницы

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

Которая кодировка имеется в виду, как до неё добраться?
---
винда на юникоде давно
---
Windows 2012 server (eng)
я бы копал в сторону кодовой страницы
---
А так?

```1c
    ТекДок.Записать(""+"C:\йа котолог\111.txt"+"");
```
 C: - точно английская буква? Опечаток в пути нет?
---
Ещё можно сделать
```1c
    dir /x "c:\*йа котолог*"
```
 из командной строки, подсмотреть и использовать альтернативное имя папки по стандарту 8.3. (то, которое с тильдой для совместимости с MsDos, а не 1С 8.3 ))
---
Ещё можно сделать
dir /x "c:\*йа котолог*"

Благодарю.

Попробовал команду dir, все русские каталоги он вывел как вопросы.
После непродолжительного поиска найдено решение:
в настройках изменить локаль на русскую.

После чего русские каталоги отображаются нормально, DBF в каталоге с русскими символами создаётся/читается корректно.

Всё же считаю это какой-то недоработкой с XBase, ибо ТекстовыйДокумент заходит без проблем.

Спасибо всем неравнодушным, особенно роботу Вертеру. :)
---
Еще можно попробовать созвать Junction или символьную ссылку, например https://geektimes.ru/post/50878/

```1c
    mklink /j c:\yakotolog "C:\йа котолог"
```