1С Предприятие 8.3, УФ (толстый клиент), клиент-серверный режим, динамический список, множественное выделение.
В поле элементов справочника хранятся имена файлов.
Требуется при удалении из справочника удалять и файлы (с диска).
Прописал в модуле объекта справочника в ПередУдалением() Отмена = истина если выбивает исключение при удалении файла. (раз файл не удалился, то и элемент справочника оставить)
УдалитьФайлы() не удаляет файлы (и не выбивает исключений, если файлы заняты). По хелпу метод на сервере доступен.
Как побороть? Что я не учёл?
(5) В том и вопрос что файлы всегда остаются на диске, УдалитьФайлы() не удаляет их. Если базу завести в файловом режиме - удаляёт; в клиент-серверном - не удаляет.
(6) значит у агента сервера, нет прав на файловые операции. На сервере, оно работает не от пользователя, а от агента.
Либо пути неверные.
Должно все работать и на сервере.
Еще, может быть какое то кэширование на самом сервере. У меня на прошлой работе, админы всю сетку на цитриксах и виртуалках намутили, - так много странностей насмотрелся при файловых операциях..то не появляется файлы, то не удаляются..потыкаешь, поперезапускаешь - раз, все заработает. Но тут, природы явления я не могу объяснить
А вообще, раз ошибки нет, значит реально пути некорректные. Она же ошибку генерит только если у файла read only, а если файла по пути нет - то и удалять нечего, никакой ошибки и не будет.
Думаю, в путях проблема.
(8) Всё равно непонятно, почему не бросаются исключения. Файла нет, либо прав - результат-эксепшн то должен быть? А оно ведёт себя никак, будто УдалитьФайлы() не компилируется…
(11) Ну вот такая она, эта 1Ска... Костыль: проверяйте существование файла перед удалением и после. На основе этих данных выводите свое сообщение об ошибке.