Имя: Пароль:
1C
1C 7.7
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 - нет.