|
На клиент сервере не работает метод существует | ☑ | ||
---|---|---|---|---|
0
vladnet
20.05.13
✎
17:56
|
Глобальный модуль, режим сервера, клиент серверный режим, код:
лКаталог=Константы.Каталог.Получить(); Если ПустаяСтрока(лКаталог) Тогда Возврат Ложь; КонецЕсли; Сообщить(лКаталог); лКаталог=Новый Файл(лКаталог); Если Не лКаталог.Существует() Тогда Возврат Ложь; КонецЕсли; Возврат Истина; Возвращает Ложь, хотя каталог существует. В файловой версии все нормально. Сервер и клиент одна и та же машина. |
|||
1
H A D G E H O G s
20.05.13
✎
17:57
|
Если ПустаяСтрока(лКаталог) Тогда Возврат Ложь; КонецЕсли;
Не пиши так больше. |
|||
2
vladnet
20.05.13
✎
17:58
|
Только написал и понял, дело скорее всего в правах, так как права различны на клиенте и на сервере
|
|||
3
H A D G E H O G s
20.05.13
✎
17:58
|
(0) Мы, нормальные программисты, плачем кровавыми слезами, когда видим такой код.
|
|||
4
vladnet
20.05.13
✎
17:58
|
(1) что не нравится?
|
|||
5
Мимохожий Однако
20.05.13
✎
18:01
|
Файл.Существует (File.Exist)
Файл (File) Существует (Exist) Синтаксис: Существует() Возвращаемое значение: Тип: Булево. Истина - файл существует; Ложь - в противном случае. Описание: Определяет, существует ли файл, соответствующий данному объекту. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами. Пример: Функция ПроверитьСуществованиеКаталога(ИмяКаталога) Экспорт КаталогНаДиске = Новый Файл(ИмяКаталога); Если КаталогНаДиске.Существует() Тогда Возврат Истина; Иначе Ответ = Вопрос("Каталог не существует. Создать?", РежимДиалогаВопрос.ОКОтмена); Если Ответ = КодВозвратаДиалога.ОК Тогда СоздатьКаталог(ИмяКаталога); Возврат Истина; Иначе Возврат Ложь; КонецЕсли; КонецЕсли; КонецФункции |
|||
6
H A D G E H O G s
20.05.13
✎
18:01
|
(4) ВОднуСтрокуПишешь
|
|||
7
servs
20.05.13
✎
18:05
|
(6) я тоже так пишу как он и чё?
|
|||
8
vladenoff
20.05.13
✎
18:07
|
Из наших ТЕСТОВ.
Начиная с 8.3.2 метод "Существует()" у объекта "Файл" возвращает ЛОЖЬ для сетевого каталога. Например: Каталог = Новый Файл("\\TEST\DATA\"); Каталог.Существует(); // тут ЛОЖЬ, а для платформы 8.3.1 и ниже - ИСТИНА. Для локальных каталогов подобное не повторяется. Написали в саппорт. ответа пока нет. Есть у кого-то ещё инфо??? |
|||
9
Infsams654
20.05.13
✎
18:10
|
(0)(7) ну вы прям не в одну строку пишите, так то лучще
лКаталог=Константы.Каталог.Получить(); Если ПустаяСтрока(лКаталог) Тогда Возврат Ложь; КонецЕсли; Сообщить(лКаталог); лКаталог=Новый Файл(лКаталог); Если Не лКаталог.Существует() Тогда Возврат Ложь; КонецЕсли; Возврат Истина; |
|||
10
H A D G E H O G s
20.05.13
✎
18:12
|
(7) Ниче. После вас еще нормальным людям работать, о них хоть подумаете.. Хотя, о чем это я?..
|
|||
11
Infsams654
20.05.13
✎
18:14
|
(10) и вообще, все программы нужно писать одной строкой, т.к. в конечном итоге все преобразуется в код, где нет ни перевода строки, ни каретки, и очень даже все красиво и понятно
|
|||
12
Базис
naïve
20.05.13
✎
18:16
|
(11) За такое зарплату выдавать надо, разрешив программисту питаться от 3.3 вольт.
|
|||
13
vladnet
20.05.13
✎
18:22
|
Не будем спорить по качеству кода, мне так удобнее, и я считаю что мой код читаем очень хорошо.
Проблема решена, почему возникла написано в (2), а именно не было прав у пользователя user1c. Спасибо всем кто отликнулся, не думал что так много особенностей. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |