Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: При первом запуске базы ошибка - не удается создать каталог (рабочий)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Администратору 1С / Системному администратору / Администратору баз данных > Администрирование и настройка 1С
garett
Добрый вечер, коллеги! Столкнулся со странностями при установке 1С 8.2 "Управление небольшой фирмой" на Windows 7. Создал базу на сервере, просто файловый сервер. Расшарил папку всем остальным пользователям. Дал полные права. На сервере все нормально - захожу в базу, никаких проблем. Иду на другой компьютер, на нем эта расшаренная папка смонтирована как сетевая. Там добавляю базу, как обычно, указываю каталог, то есть ссылаюсь на сетевой диск. А вот если открыть теперь в обычном режиме и попробовать зайти под любым из пользователей, пишет "ошибка файловой системы" - не может создать каталог C:\Users\Administrator\AppData Та же самая ошибка на всех компьютерах, кроме сервера. Что это может значить? У нас даже домен не поднят, просто одноранговая сетка. Авторизаци тоже простая - диск смонтирован на всех машинах под учетной записью администратора сервера.
World1С
Цитата
на нем эта расшаренная папка смонтирована как сетевая

А у "шары" право на запись у пользователей есть?
logist
Цитата(garett @ 29.12.10, 18:26) необходимо зарегистрироваться для просмотра ссылки
просто одноранговая сетка. Авторизаци тоже простая - диск смонтирован на всех машинах под учетной записью администратора сервера.

А следующий вопрос будет "Один пользователь работает, а у второго ошибка доступа к данным"
garett
Цитата(logist @ 29.12.10, 19:03) необходимо зарегистрироваться для просмотра ссылки
А следующий вопрос будет "Один пользователь работает, а у второго ошибка доступа к данным"

То есть вы хотите сказать, что без доменной структуры сетки такой вариант неприемлем?
garett
Цитата(World1С @ 29.12.10, 18:48) необходимо зарегистрироваться для просмотра ссылки
А у "шары" право на запись у пользователей есть?

Есть. Тут какая-то дребедень - на разных машинах требует разные папки. То есть - в одном случае не может создать C:\Users\Administrator\AppData, в другом - C:\Users\11\ Я так понимаю, 1С опирается на локального админа и под его именем пытается создать для себя каталог?
logist
Цитата(garett @ 30.12.10, 14:05) необходимо зарегистрироваться для просмотра ссылки
То есть вы хотите сказать, что без доменной структуры сетки такой вариант неприемлем?

Приемлем, это видимо я люблю извращения smile.gif
Я не имел ввиду домены, я имел ввиду просто пользователей, а при доступе с локальной машины к каталогу указывать конкретного пользователя.
Вот нашел Вам ссылочку для почитать необходимо зарегистрироваться для просмотра ссылки
garett
Цитата(logist @ 30.12.10, 14:30) необходимо зарегистрироваться для просмотра ссылки
Приемлем, это видимо я люблю извращения smile.gif
Я не имел ввиду домены, я имел ввиду просто пользователей, а при доступе с локальной машины к каталогу указывать конкретного пользователя.
Вот нашел Вам ссылочку для почитать необходимо зарегистрироваться для просмотра ссылки

Я пошел дальше :-) - настроил SQL-сервер 2008 R2, все прикрутил - работает. Но опять какая-то хрень - на локальной машине без вопросов. На некоторых клиентах - тоже. Просто указываешь - подключиться к существующей базе данных и все. А вот на одной из машин ругнулось примерно так:

{ОбщийМодуль.ФайловыеФункцииКлиент.Модуль(882)}: Ошибка при вызове метода контекста (СоздатьКаталог): Ошибка создания каталога
СоздатьКаталог(ИмяКаталога);
по причине:
Ошибка создания каталога
по причине:
Ошибка при выполнении файловой операции 'C:\Users\Administrator'

Посмотрел - нет такого каталога на этом компе. Там админская учетка называется 11, а 1С-ке требуется именно чтоб "Administrator", если я правильно понимаю. Как выйти из положения? Машинка эта не в домене, но, собственно, а какая разница?
logist
Цитата(garett @ 10.01.11, 14:42) необходимо зарегистрироваться для просмотра ссылки
{ОбщийМодуль.ФайловыеФункцииКлиент.Модуль(882)}: Ошибка при вызове метода контекста (СоздатьКаталог): Ошибка создания каталога

Откройте конфигурацию и посмотрите что вообще делает процедура которая вызывает ошибку.
garett
Цитата(logist @ 10.01.11, 15:47) необходимо зарегистрироваться для просмотра ссылки
Откройте конфигурацию и посмотрите что вообще делает процедура которая вызывает ошибку.

Погодите, так ведь конфигурация закрыта на изменения - замочек нарисован. Я все равно не смогу ничего изменить.
Vofka
Навскидку: создайте руками нужный каталог

Цитата
Я все равно не смогу ничего изменить.

Тогда лучше не лезьте и не меняйте ничего.
logist
Цитата(garett @ 10.01.11, 15:03) необходимо зарегистрироваться для просмотра ссылки
Погодите, так ведь конфигурация закрыта на изменения - замочек нарисован. Я все равно не смогу ничего изменить.

Я не говорил Вам что-то менять! Я сказал ПОСМОТРЕТЬ что делает процедура, что бы разобраться в причинах ошибки... Не надо ничего редактировать!!!
logist
Цитата(garett @ 10.01.11, 14:42) необходимо зарегистрироваться для просмотра ссылки
а 1С-ке требуется именно чтоб "Administrator", если я правильно понимаю. Как выйти из положения? Машинка эта не в домене, но, собственно, а какая разница?

1с хочет создать временный файл на сервере, а у этого пользователя наверное нет прав для этой операции.
garett
Цитата(logist @ 10.01.11, 16:15) необходимо зарегистрироваться для просмотра ссылки
Я не говорил Вам что-то менять! Я сказал ПОСМОТРЕТЬ что делает процедура, что бы разобраться в причинах ошибки... Не надо ничего редактировать!!!


Функция СоздатьРабочийКаталог() Экспорт
    ИмяКаталога = "";
#Если Не ВебКлиент Тогда
    ИмяКаталога = РаботаСФайламиКлиентПовтИсп.ПолучитьПерсональныеНастройкиРаботыСФайлами().ПутьКР
абочемуКаталогу;
    Если ИмяКаталога = Неопределено Тогда
        Оболочка = Новый COMОбъект("WScript.Shell");
        Путь = Оболочка.ExpandEnvironmentStrings("%APPDATA%");
        Путь = Путь + "\1C\ФайлыА8\";
        
        ИмяКаталога = Путь + РаботаСФайламиКлиентПовтИсп.ПолучитьПерсональныеНастройкиРаботыСФайлами().Текущи
йПользователь + " " + РаботаСФайлами.ПараметрыСеансаИдентификаторТекущегоПользователя() + "\";
        ИмяКаталога = СтрЗаменить(ИмяКаталога, "<", " ");
        ИмяКаталога = СтрЗаменить(ИмяКаталога, ">", " ");
        ИмяКаталога = СокрЛП(ИмяКаталога);
        
        РаботаСФайлами.ХранилищеОбщихНастроекСохранить("РабочийКаталог", "ПутьКРабочемуКаталогу", ИмяКаталога);
        РаботаСФайламиКлиентПовтИсп.ПолучитьПерсональныеНастройкиРаботыСФайлами().ПутьКР
абочемуКаталогу = ИмяКаталога;
    КонецЕсли;
    
    // Создать каталог для файлов
    КаталогНаДиске = Новый Файл(ИмяКаталога);
    Если НЕ КаталогНаДиске.Существует() Тогда
        СоздатьКаталог(ИмяКаталога);
    КонецЕсли;
#КонецЕсли
    Возврат ИмяКаталога;
КонецФункции


Не догоняю - ведь функция читает персональные настройки КЛИЕНТСКОЙ машины, а на ней нет учетки и каталога Administrator. Откуда тогда тянется чужая учетка, если база вообще на SQL-сервере?
logist
Цитата(garett @ 11.01.11, 13:37) необходимо зарегистрироваться для просмотра ссылки
Не догоняю - ведь функция читает персональные настройки КЛИЕНТСКОЙ машины, а на ней нет учетки и каталога Administrator. Откуда тогда тянется чужая учетка, если база вообще на SQL-сервере?

Я Вам выше написал что 1С хочет создать файл НА СЕРВЕРЕ.
garett
Цитата(logist @ 11.01.11, 15:48) необходимо зарегистрироваться для просмотра ссылки
Я Вам выше написал что 1С хочет создать файл НА СЕРВЕРЕ.

Да нет, не на сервере. Что я проделал - ввел 2 машины в домен, создал новые учетки доменные, поставил 1С, на сервере заново создал базы, пытаюсь подключаться. На первой машине учетка ivan.ivanov, все нормально, база открывается. На второй машине учетка - petr.petrov, точно так же добавляю базу в список (напомню - база успешно лежит на SQL-сервере) - при входе в базу, уже после авторизации бухгалтеров (внутренние учетки 1С) вылетает опять: не удается создать каталог (ВНИМАНИЕ) C:\Users\ivan.ivanov То есть предыдущего товарища откуда-то тянет. Что за хрень такая??? Ну да, можно наплодить вручную каталогов по всем машинам, но если машин много? Да и тупо - не должно быть такой ошибки...
logist
При создании пользователя на сервере, у него должен создаться каталог с его логином в Users. 1С при запуске ищет каталог (Drive):\Users\(username)\AppData\Roaming\1C\..... для создания временного файла, и у Вас наверное получается что при добавлении пользователя папка сама не создалась, а у 1С естественно нет прав на создание папок в Users. Проследите момент создания учетки пользователя, или возможно пользователю надо сначала хотя бы раз зайти на сервер...
garett
Цитата(logist @ 13.01.11, 15:27) необходимо зарегистрироваться для просмотра ссылки
При создании пользователя на сервере, у него должен создаться каталог с его логином в Users. 1С при запуске ищет каталог (Drive):\Users\(username)\AppData\Roaming\1C\..... для создания временного файла, и у Вас наверное получается что при добавлении пользователя папка сама не создалась, а у 1С естественно нет прав на создание папок в Users. Проследите момент создания учетки пользователя, или возможно пользователю надо сначала хотя бы раз зайти на сервер...

Попробую; однако это не объясняет, почему 1С пытается создать папку для пользователя совершенно другого компьютера... То есть ivan.ivanov на своем компе заходит успешно, а petr.petrov почему-то должен создать сначала папку для ivan.ivanov, а потом уже пользоваться. Понимаете?
logist
Цитата(garett @ 13.01.11, 16:11) необходимо зарегистрироваться для просмотра ссылки
Понимаете?

Не-а 44000000.gif
garett
Цитата(logist @ 13.01.11, 17:14) необходимо зарегистрироваться для просмотра ссылки
Не-а 44000000.gif

:-) Тогда еще раз детальнее:
1) завел на машине PC1 учетку ivan.ivanov
2) завел на машине PC2 учетку petr.petrov
3) обе машины - в домене
4) поставил 1С 8.2 - клиента на обеих машинах, подключил базу с сервера. Сервер - он же контроллер домена.
5) вхожу с компа PC1 под ivan.ivanov - в базу зашел, выбрал Бухгалтер_1 - все нормально
6) вхожу с компа PC2 под petr pterov - в базу вошел, выбрал Бухгалтер_2 - выскакивает окно - "не могу создать каталог C:\Users\ivan.ivanov" Вот она - проблема :-) ОТКУДА 1С знает, что я только что входил с ivan.ivanov и зачем ей это знать, собственно? Сеанс прошлый закрыт уже ведь.
P.S. Авторизации по учеткам домена на SQL нету, если что. Просто SQL-ная авторизация и все.
logist
Цитата(garett @ 13.01.11, 16:31) необходимо зарегистрироваться для просмотра ссылки
:-) Тогда еще раз детальнее:
1) завел на машине PC1 учетку ivan.ivanov
2) завел на машине PC2 учетку petr.petrov
3) обе машины - в домене

Я даже дальше читать не буду.
Пользователи должны быть созданы на контроллере домена и иметь соответствующий доступ на сервер, а на локальной тачке они должны входить как пользователи домена. Не надо создавать на локальных машинах - локальных пользователей.
garett
Цитата(logist @ 13.01.11, 17:40) необходимо зарегистрироваться для просмотра ссылки
Я даже дальше читать не буду.
Пользователи должны быть созданы на контроллере домена и иметь соответствующий доступ на сервер, а на локальной тачке они должны входить как пользователи домена. Не надо создавать на локальных машинах - локальных пользователей.

Стойте-стойте :-) - эти учетки заведены в AD, я не написал просто. Это доменные учетки, в том-то и дело.
logist
Сделайте у пользователей 1С аутентификацию Windows, и привяжите пользователей к учетным записям в AD. Даже если не хотите пользоваться такой фишкой, просто посмотрите - будут ли ошибки в таком случае.
garett
Цитата(logist @ 13.01.11, 17:54) необходимо зарегистрироваться для просмотра ссылки
Сделайте у пользователей 1С аутентификацию Windows, и привяжите пользователей к учетным записям в AD. Даже если не хотите пользоваться такой фишкой, просто посмотрите - будут ли ошибки в таком случае.

Хм... А вот не видит 1С пользователей домена... Выбираю при добавлении пользователя "Аутентификацию операционной системой", а там слева - название домена и все. Список учеток домена пуст. Хотя они есть и работают. Это нормально? :-)
logist
Ну вот Вам и суть проблемы, что-то не так в домене раз 1С не видит пользователей.
Vofka
Тему переместил, никто не против? smile.gif
garett
Цитата(Vofka @ 13.01.11, 19:01) необходимо зарегистрироваться для просмотра ссылки
Тему переместил, никто не против? smile.gif

Фух, я уже думал - забанили mellow.gif
Вышел из положения пока так - указал ручками \\домен\ivan.ivanov (для каждого сотрудника) в самой 1С. То есть теперь каждый входит под соответствующей учеткой, вообще не указывая пароля. Посмотрю, как дальше себя поведет...
Flexy
Имхо надо проверять настройки AD, а 1С тут не при чем.
В оснастке АД юзеры и компы все четко?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.