Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Неверное имя файла!

Я
   Eugene_a
 
05.09.18 - 10:22
Текст=СоздатьОбъект("Текст");
Текст.КодоваяСтраница(0);
Текст.ДобавитьСтроку("фыва");
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);

записыаю много файлов, передирая справочник.
если файлы не существуют, то вке ОК.
Если же файлы не были удалены после предыдущего запуска, то хаотично получаю сообщение:
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(101)}: Неверное имя файла!

и каждый запуск - разное количество ошибок на разных файлах.
как будто кто-то захватывает файлы....
 
 
   Пуля
 
1 - 05.09.18 - 10:26
Записывай в начало имени файла дата+время и пофиг
   Peltik
 
2 - 05.09.18 - 10:37
(0) УдалитьФайлы() не пробовал?
   NikVars
 
3 - 05.09.18 - 10:38
(0) Палок \ не много?
   Провинциальный 1сник
 
4 - 05.09.18 - 10:40
Имя файла не слишком длинное? У v7 более строгие требования, чем у операционной системы. Символов 60 вроде бы, не больше.
   NikVars
 
5 - 05.09.18 - 10:42
Кто мешает программисту использовать в цикле при записи "много файлов"
Сообщить("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID)
   Сияющий в темноте
 
6 - 05.09.18 - 11:31
В путь для рассылки кладутся файлы,значит,их там кто то ест,а ест он их,видимо,не мгновенно,из за этого нельзя записать файл,который читают.
нужно записывать с временным именем,а потом переименовывать в постоянное,и чтобы тот,кто ест,,тоже сначала переименовывал,а потом доедал свой личный файл.
   Eugene_a
 
7 - 05.09.18 - 12:06
имена короткие, путь тоже. (пока до 10 символов).
файлы пока никто не ест.

ошибка нестабильная.
каждый раз разные файлы.
кроме касперского больше никто эти файлы не трогает сейчас.
вроде.
   Сияющий в темноте
 
8 - 05.09.18 - 12:08
Касперский как раз и может есть.
   NikVars
 
9 - 05.09.18 - 12:11
(7) Делай паузу после записи файла.
   Eugene_a
 
10 - 05.09.18 - 12:20
почистил папку.

первый запуск - ошибок нет.

второй закпуск:
..
Завершена выгрузка З/пл для vkry
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(128)}: Неверное имя файла!
Завершена выгрузка З/пл для rsha
Завершена выгрузка З/пл для rhai
Завершена выгрузка З/пл для mnaz
Завершена выгрузка З/пл для spra
Завершена выгрузка З/пл для also
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(128)}: Неверное имя файла!
Завершена выгрузка З/пл для kvou
Завершена выгрузка З/пл для pako
Завершена выгрузка З/пл для ysoi
Завершена выгрузка З/пл для iush
Завершена выгрузка З/пл для yzhu
Завершена выгрузка З/пл для dlys
Завершена выгрузка З/пл для apin
Завершена выгрузка З/пл для kani
Завершена выгрузка З/пл для vboh
Завершена выгрузка З/пл для urad
Завершена выгрузка З/пл для aram
Завершена выгрузка З/пл для ahut
Завершена выгрузка З/пл для yazh
Завершена выгрузка З/пл для ahov
Завершена выгрузка З/пл для kkis
Завершена выгрузка З/пл для pkha
Завершена выгрузка З/пл для mark
Завершена выгрузка З/пл для vnez

третий запуск:
...
Завершена выгрузка З/пл для iush
Завершена выгрузка З/пл для yzhu
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(128)}: Неверное имя файла!
Завершена выгрузка З/пл для dlys
Завершена выгрузка З/пл для apin
Завершена выгрузка З/пл для kani
Завершена выгрузка З/пл для vboh
Завершена выгрузка З/пл для urad
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(128)}: Неверное имя файла!
Завершена выгрузка З/пл для aram
Завершена выгрузка З/пл для ahut
Завершена выгрузка З/пл для yazh
Завершена выгрузка З/пл для ahov
Завершена выгрузка З/пл для kkis
Завершена выгрузка З/пл для pkha
Завершена выгрузка З/пл для mark
Завершена выгрузка З/пл для vnez
 
 Рекламное место пустует
   arsik
 
11 - 05.09.18 - 12:27
Права NTFS?
   Peltik
 
12 - 05.09.18 - 12:29
(10) ну так и чисти папку перед выгрузкой
   Eugene_a
 
13 - 05.09.18 - 12:32
(12) папка будет чистится, но меня сейчас интересует нестабильная перезапись файлов.

путь - шара, права вроде все есть, ибо фаром я могу там с файлами делать все.
   hhhh
 
14 - 05.09.18 - 12:40
(13) ну давай нормальные сообщения тогда

Начата выгрузка, продолжена выгрузка, завершена выгрузка. Почему  клещами из тебя нужно всё вытаскивать?
   Eugene_a
 
15 - 05.09.18 - 12:48
(14) sorry, вот почти полный цикл выгрузки:

Для IDn = 1 По IDq Цикл
    ID = Лев(ТЗ.ПолучитьПараметрыКолонки((IDn-1)*4+1+1)+"хххх",4);
    Текст=СоздатьОбъект("Текст");
    Текст.КодоваяСтраница(0);
        Текст.ДобавитьСтроку("" + СокрЛП(Константа.НазваниеОрганизации));
    Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
    Сообщить("Завершена выгрузка З/пл для " + ID );
КонецЦикла;
   Злопчинский
 
Ведущий
16 - 05.09.18 - 12:59
(15) ты дятел. воткни сообщить с планируемым именем файла перед оператором на котором валится. перед записью попробуй удялить файл. проверь что в иде нет недопустимых для имени файла символов.
   Eugene_a
 
17 - 05.09.18 - 13:46
(16) список имен файлов - всегда одинаковый.

очередной запуск:
пытаемся записать файло Q:\1с\xyba
Завершена выгрузка З/пл для xyba
пытаемся записать файло Q:\1с\yuba
Завершена выгрузка З/пл для yuba
пытаемся записать файло Q:\1с\yvas
Завершена выгрузка З/пл для yvas
пытаемся записать файло Q:\1с\ilkr
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(142)}: Неверное имя файла!
Завершена выгрузка З/пл для ilkr


следующий запуск:
пытаемся записать файло Q:\1с\xyba
Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID);
{Обработка.РассылкаРЛ_УЕ.Форма.Модуль(142)}: Неверное имя файла!
Завершена выгрузка З/пл для xyba
пытаемся записать файло Q:\1с\yuba
Завершена выгрузка З/пл для yuba
пытаемся записать файло Q:\1с\xale
Завершена выгрузка З/пл для xale
пытаемся записать файло Q:\1с\ilkr
Завершена выгрузка З/пл для ilkr


следующий запуск:
пытаемся записать файло Q:\1с\xyba
Завершена выгрузка З/пл для xyba
пытаемся записать файло Q:\1с\yuba
Завершена выгрузка З/пл для yuba
пытаемся записать файло Q:\1с\yvas
Завершена выгрузка З/пл для yvas
пытаемся записать файло Q:\1с\ilkr
Завершена выгрузка З/пл для ilkr
   Гость из Мариуполя
 
18 - 05.09.18 - 14:13
(17) >> очередной запуск

хм.. странно..
тебе дают очередной совет, ты его очередной раз игнорируешь
я не пойму цель ветки
тебе просто похвастаться или что?

советы, которые тебе дали, ты попробовал или как?
1. Путь - шара. (Q:\ как бы подтверждает). А значит, временной промежуток записи нестабилен. Особенно перезаписи. Миллисекунды по сети аж бегом растут до секунд.  Но совет в (9) тебе не нужен, да?

2. Сам говоришь, что эти файлы обрабатываются Каспером. Зачем? Ты что, туда заведомо пишешь вирусы, что их надо непременно проверять? Убрать каталог в исключения в Каспере религия не позволяет, да? Совет в (8) тебе тоже не нужен да?

ну тогда.. ну попробуй возьми какую утилиту от Руссиновича и изучай, кто блокирует файл при [пере]записи. Хотя это тоже тебе не нужно, да?
   Eugene_a
 
19 - 05.09.18 - 14:22
(18)
1. совет 9 считаю бесполезным. При каждом выполнении процедуры пытаемся перезаписать УНИКАЛЬНЫЕ файлы, которые записали при прошлом запуске процедуры. Час назад, к пимеру.

2.Касперского настраиваю не я. Что он там проверяет и зачем - даже проверить не могу. Запаролен. Если он проверяет (держит) текстовый файл на 2 килобайта, который создан х\з когда, то это не проверка на лету и не сканирование по расписанию.

3. попробую.
   Гость из Мариуполя
 
20 - 05.09.18 - 14:27
Да и вообще - писать из 1С напрямую по сети в файловую шару да еще под наблюдением Каспера - хм.. мне не нравится.

А попробуй повторить результат с локальным каталогом (не сетевым), и желательно исключенным из под Каспера.

И да - исключения 1С в Каспере нужно настраивать, тем более файловый вариант. Вообще, не только в данном случае. Нечего ему трогать файлы 1с. Поэтому пароль бы очень желательно узнать.
   vova1122
 
21 - 05.09.18 - 14:53
Стало интересно. Специально воссоздал у себя эту ошибку.
И так. Писал на локальный диск кучу (1000) текстовых файлов (внутри несколько символов, как у автора). Создание всех файлов занимает около секунды. При повторном запуске ошибка не возникала ниразу.
Потом один текстовый файл открыл блокнотом, второй екселем. Ошибка возникла только на том файле что открыт екселем- файл не перезаписался. Тот файл что был открыт блоктоном благополучно перезаписался.
Итог: Файлы у автора действительно блокирует какая то программа, возможно антивирус. Поэтому или поставить в исключение каталог, или чистить каталог перед повторной записи.
   Сияющий в темноте
 
22 - 05.09.18 - 22:17
Еще,может быть,кривая сеть и просто подвисающие блокировки.
можно ещн попробовать после ошибки сразу удалить файл и посмотреть,что будет.

потом,не забываем,что 1с 77 однобайтовая и будет работать через преобразование имен,может бобик в этом разделе зарыт.
   uno-group
 
23 - 06.09.18 - 09:55
Выгружай в локальный каталог а потом копируй через каманда системы в папку с шарой. или через фс.копировать.
Запусти параллельно Пинг на комп с шарой с ключами -l1000 -t
ИМХО проблемы с стабильностью сети.
   uno-group
 
24 - 06.09.18 - 10:02
Если не ошибаюсь Текст.записать() ждет положительного ответа от системы столько же сколько и "Время ожидания захвата таблицы БД. Попробуй его увеличить. или воткнуть дополнительную паузу посте записи каждого файла.
   Eugene_a
 
25 - 06.09.18 - 14:46
в скудном хелпе 1с про Текст.записать() написано, что он записывает файл. все.
про проверку и попытку перезаписи - ни слова.
так что, в принципе, нечего от него хотеть корректной работы в недокументированной ситуации. )))
   serpentt
 
26 - 06.09.18 - 15:34
Мы "такое" пишем через "Scripting.FileSystemObject"

глFSO = СоздатьОбъект("Scripting.FileSystemObject");

Процедура глЗаписатьИнфуВЛогФайл(Куда, ЧтоЗаносим) Экспорт
    
    ТекстФайл = глFSO.OpenTextFile(КаталогИБ() + СокрЛП(Куда),8,-1);
    ТекстФайл.WriteLine(" "+ТекущаяДата()+" "+ТекущееВремя()+" "+СокрЛП(глПользователь.Код)+":  "+ЧтоЗаносим);
    ТекстФайл.Close();
    
КонецПроцедуры// глЗаписатьИнфуВЛогФайл()


Сам Вызов-Запись

глЗаписатьИнфуВЛогФайл(локИмяФайла,Инфа);

и никогда небыло проблемю
   Eugene_a
 
27 - 07.09.18 - 11:07
Пробовал писать на локальный диск (не системный), ошибок нет.
На системный даже не буду пробовать - винда 10 файлы старых программ запихивает в какую-то виртуальную папку. 1с и проводник их видит, а far manager - нет.



Список тем форума
Рекламное место пустует Рекламное место пустует
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует