|
v7: Неверное имя файла! | ☑ | ||
---|---|---|---|---|
0
Eugene_a
05.09.18
✎
10:22
|
Текст=СоздатьОбъект("Текст");
Текст.КодоваяСтраница(0); Текст.ДобавитьСтроку("фыва"); Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID); записыаю много файлов, передирая справочник. если файлы не существуют, то вке ОК. Если же файлы не были удалены после предыдущего запуска, то хаотично получаю сообщение: Текст.Записать("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID); {Обработка.РассылкаРЛ_УЕ.Форма.Модуль(101)}: Неверное имя файла! и каждый запуск - разное количество ошибок на разных файлах. как будто кто-то захватывает файлы.... |
|||
1
Пуля
05.09.18
✎
10:26
|
Записывай в начало имени файла дата+время и пофиг
|
|||
2
Peltik
05.09.18
✎
10:37
|
(0) УдалитьФайлы() не пробовал?
|
|||
3
NikVars
05.09.18
✎
10:38
|
(0) Палок \ не много?
|
|||
4
Провинциальный 1сник
05.09.18
✎
10:40
|
Имя файла не слишком длинное? У v7 более строгие требования, чем у операционной системы. Символов 60 вроде бы, не больше.
|
|||
5
NikVars
05.09.18
✎
10:42
|
Кто мешает программисту использовать в цикле при записи "много файлов"
Сообщить("" + СокрЛП(Константа.ПутьДляРассылки) + "\" + ID) |
|||
6
Сияющий в темноте
05.09.18
✎
11:31
|
В путь для рассылки кладутся файлы,значит,их там кто то ест,а ест он их,видимо,не мгновенно,из за этого нельзя записать файл,который читают.
нужно записывать с временным именем,а потом переименовывать в постоянное,и чтобы тот,кто ест,,тоже сначала переименовывал,а потом доедал свой личный файл. |
|||
7
Eugene_a
05.09.18
✎
12:06
|
имена короткие, путь тоже. (пока до 10 символов).
файлы пока никто не ест. ошибка нестабильная. каждый раз разные файлы. кроме касперского больше никто эти файлы не трогает сейчас. вроде. |
|||
8
Сияющий в темноте
05.09.18
✎
12:08
|
Касперский как раз и может есть.
|
|||
9
NikVars
05.09.18
✎
12:11
|
(7) Делай паузу после записи файла.
|
|||
10
Eugene_a
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 |
|||
11
arsik
гуру
05.09.18
✎
12:27
|
Права NTFS?
|
|||
12
Peltik
05.09.18
✎
12:29
|
(10) ну так и чисти папку перед выгрузкой
|
|||
13
Eugene_a
05.09.18
✎
12:32
|
(12) папка будет чистится, но меня сейчас интересует нестабильная перезапись файлов.
путь - шара, права вроде все есть, ибо фаром я могу там с файлами делать все. |
|||
14
hhhh
05.09.18
✎
12:40
|
(13) ну давай нормальные сообщения тогда
Начата выгрузка, продолжена выгрузка, завершена выгрузка. Почему клещами из тебя нужно всё вытаскивать? |
|||
15
Eugene_a
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) ты дятел. воткни сообщить с планируемым именем файла перед оператором на котором валится. перед записью попробуй удялить файл. проверь что в иде нет недопустимых для имени файла символов.
|
|||
17
Eugene_a
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) тебе тоже не нужен да? ну тогда.. ну попробуй возьми какую утилиту от Руссиновича и изучай, кто блокирует файл при [пере]записи. Хотя это тоже тебе не нужно, да? |
|||
19
Eugene_a
05.09.18
✎
14:22
|
(18)
1. совет 9 считаю бесполезным. При каждом выполнении процедуры пытаемся перезаписать УНИКАЛЬНЫЕ файлы, которые записали при прошлом запуске процедуры. Час назад, к пимеру. 2.Касперского настраиваю не я. Что он там проверяет и зачем - даже проверить не могу. Запаролен. Если он проверяет (держит) текстовый файл на 2 килобайта, который создан х\з когда, то это не проверка на лету и не сканирование по расписанию. 3. попробую. |
|||
20
Гость из Мариуполя
гуру
05.09.18
✎
14:27
|
Да и вообще - писать из 1С напрямую по сети в файловую шару да еще под наблюдением Каспера - хм.. мне не нравится.
А попробуй повторить результат с локальным каталогом (не сетевым), и желательно исключенным из под Каспера. И да - исключения 1С в Каспере нужно настраивать, тем более файловый вариант. Вообще, не только в данном случае. Нечего ему трогать файлы 1с. Поэтому пароль бы очень желательно узнать. |
|||
21
vova1122
05.09.18
✎
14:53
|
Стало интересно. Специально воссоздал у себя эту ошибку.
И так. Писал на локальный диск кучу (1000) текстовых файлов (внутри несколько символов, как у автора). Создание всех файлов занимает около секунды. При повторном запуске ошибка не возникала ниразу. Потом один текстовый файл открыл блокнотом, второй екселем. Ошибка возникла только на том файле что открыт екселем- файл не перезаписался. Тот файл что был открыт блоктоном благополучно перезаписался. Итог: Файлы у автора действительно блокирует какая то программа, возможно антивирус. Поэтому или поставить в исключение каталог, или чистить каталог перед повторной записи. |
|||
22
Сияющий в темноте
05.09.18
✎
22:17
|
Еще,может быть,кривая сеть и просто подвисающие блокировки.
можно ещн попробовать после ошибки сразу удалить файл и посмотреть,что будет. потом,не забываем,что 1с 77 однобайтовая и будет работать через преобразование имен,может бобик в этом разделе зарыт. |
|||
23
uno-group
06.09.18
✎
09:55
|
Выгружай в локальный каталог а потом копируй через каманда системы в папку с шарой. или через фс.копировать.
Запусти параллельно Пинг на комп с шарой с ключами -l1000 -t ИМХО проблемы с стабильностью сети. |
|||
24
uno-group
06.09.18
✎
10:02
|
Если не ошибаюсь Текст.записать() ждет положительного ответа от системы столько же сколько и "Время ожидания захвата таблицы БД. Попробуй его увеличить. или воткнуть дополнительную паузу посте записи каждого файла.
|
|||
25
Eugene_a
06.09.18
✎
14:46
|
в скудном хелпе 1с про Текст.записать() написано, что он записывает файл. все.
про проверку и попытку перезаписи - ни слова. так что, в принципе, нечего от него хотеть корректной работы в недокументированной ситуации. ))) |
|||
26
serpentt
06.09.18
✎
15:34
|
Мы "такое" пишем через "Scripting.FileSystemObject"
глFSO = СоздатьОбъект("Scripting.FileSystemObject"); Процедура глЗаписатьИнфуВЛогФайл(Куда, ЧтоЗаносим) Экспорт ТекстФайл = глFSO.OpenTextFile(КаталогИБ() + СокрЛП(Куда),8,-1); ТекстФайл.WriteLine(" "+ТекущаяДата()+" "+ТекущееВремя()+" "+СокрЛП(глПользователь.Код)+": "+ЧтоЗаносим); ТекстФайл.Close(); КонецПроцедуры // глЗаписатьИнфуВЛогФайл() Сам Вызов-Запись глЗаписатьИнфуВЛогФайл(локИмяФайла,Инфа); и никогда небыло проблемю |
|||
27
Eugene_a
07.09.18
✎
11:07
|
Пробовал писать на локальный диск (не системный), ошибок нет.
На системный даже не буду пробовать - винда 10 файлы старых программ запихивает в какую-то виртуальную папку. 1с и проводник их видит, а far manager - нет. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |