Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как определить, что с файлом есть проблемы?

Как определить, что с файлом есть проблемы?
Я
   Масянька
 
18.01.21 - 13:42
День добрый!
Документооборот 8 КОРП, редакция 2.1 (2.1.11.5)
1С:Предприятие 8.3 (8.3.10.2252)
При открытии задачи пользователя (включен предварительный просмотр) - ДО намертво виснет.
Первый файл в списке - проблемный. Причем, проблема - индейская изба.
Есть вариант кааким-то макаром узнать, что файл проблемный?
Вот код, который срабатывает при этом:
    Если  Файл.Расширение = ".xls" или Файл.Расширение =  ".xlsx" Тогда
        //ФайлЭ = ПолучитьCOmОбъект("","Excel.Application");
        //Лист = ФайлЭ.WorkBooks.Open(ПутьФайла);
        //ВремФайл = ПолучитьИмяВременногоФайла(".html");
        //Лист.saveAs(ВремФайл,44);
        //ФайлЭ.Quit();
        //ТекстВозврата = ВремФайл;

        Книга = ПолучитьCOmОбъект(ПутьФайла);
        ВремФайл = ПолучитьИмяВременногоФайла(".html");
        Книга.saveAs(ВремФайл,44);
        Книга.Close(0);
        Книга = Неопределено;
        ТекстВозврата = ВремФайл;
        
    ИначеЕсли Файл.Расширение = ".doc" или Файл.Расширение =  ".docx" или Файл.Расширение =  ".rtf" Тогда

Спасибо.
   ДенисЧ
 
1 - 18.01.21 - 13:45
Удалить этот файл.
   Масянька
 
2 - 18.01.21 - 13:49
(1) Да, блин, это коню понятно.
Как бы сделать так, чтобы не висло намертво, а написала (например) - "Плохой файл".
Вариант?
   sikuda
 
3 - 18.01.21 - 13:53
Файл.Существует()? ;)
   Масянька
 
4 - 18.01.21 - 13:57
(3) Спасибо!
   Масянька
 
5 - 18.01.21 - 14:30
(3) Не-а.
При открытии задач с файлами, которые норм открываются тоже дает ошибку.
Не подходит.
   dka80
 
6 - 18.01.21 - 14:35
обновить платформу. у меня на 16 были такие проблемы
   oslokot
 
7 - 18.01.21 - 14:37
а "проблемный" файл экселем открывается хоть?
   Масянька
 
8 - 18.01.21 - 14:40
(7) Да. Еще и не на всех компах ошибка происходит.
   Масянька
 
9 - 18.01.21 - 14:41
(6) Пока не вариант.
   Масянька
 
10 - 18.01.21 - 14:48
Такая фишка...
На компе, где файл открывается (из той же программы и задачи), файл сохранила на диск.
Отправила файл пользователю, у которого не открывается (в ДО).
У пользователя в outlook'е файл открылся, но сразу же вылезло окно с выбором принтера и вот это окно (для отправки на печать) очень не легко закрыть (вылазит ошибка - не хватает памяти, не доступен принтер).
   oslokot
 
11 - 18.01.21 - 14:53
может файл вирусняк какой-то, со сценариями
   Масянька
 
12 - 18.01.21 - 14:56
(11) У меня (в ДО, в той же задаче) открывается норм.
Сохраненный на диск - тоже.
   arsik
 
13 - 18.01.21 - 15:02
(12) Ну у клиента, где ошибка открытия, вирусня?
   Масянька
 
14 - 18.01.21 - 15:07
(13) Маловероятно. Политика партии.
   oslokot
 
15 - 18.01.21 - 15:08
(14) а вирусы в курсе про вашу политику партии?
   Масянька
 
16 - 18.01.21 - 15:08
Мне тут сисадмин сказал, что такая ошибка возникает, когда текущий принтер в винде имеет формат А4, а приходит файл с портянкой (в данном случае именно так).
Есть варианты?
К примеру, проверить формат?
   arsik
 
17 - 18.01.21 - 15:09
(14) Ну расскажи нам, почему при открытии файлик на принтер отправляется автоматом?
   arsik
 
18 - 18.01.21 - 15:13
   ДядяМитяй
 
19 - 18.01.21 - 16:24
(18) Соответственно перед открытием надо enableevents установить в false. А для этого вернуться к закомментированному коду
   Масянька
 
20 - 18.01.21 - 16:32
Кто-нибудь знает, как в Excel (при открытии) задать режим просмотра?
Нужно воткнуть "Обычный".
Гуглю... Гуглю... А нагуглить не могу...
   Cthulhu
 
21 - 18.01.21 - 16:36
мот попробовать так?
там где файл норм открывается и есть права на редактирование списка файлов документа:
1) вытащи файл из документа на диск
2) открой файл на диске, перегони его через другой формат туда-обратно
3) замени в списке файлов дефектный файл на отремонтированный (см.п.2)
   Вафель
 
22 - 18.01.21 - 16:41
(20) включаешь запись макросов - делаешь дела - смортишь команды макроса - пишешь код 1с
   arsik
 
23 - 18.01.21 - 16:49
(20)  ActiveWindow.View = xlNormalView
   ДядяМитяй
 
24 - 18.01.21 - 16:58
Еще раз -
ФайлЭ = ПолучитьCOmОбъект("","Excel.Application");//из примера выше


ФайлЭ.enableevents = false;

Лист = ФайлЭ.WorkBooks.Open(ПутьФайла);//из того же примера
   Масянька
 
25 - 18.01.21 - 17:25
(24) Да, не арбайтэн этот вариант.
   Масянька
 
26 - 18.01.21 - 17:26
(23) Спасибо.
Но - не арбайтэн также. Всё за то, что дело в принтере.
   Ёпрст
 
27 - 18.01.21 - 17:39
(0) а в чем смысл пересохранения xls в html ?
   dmpl
 
28 - 18.01.21 - 17:45
(0) А может вы просто не дождались, пока браузер отрендерит 100500 миллиоонов строк?
   dmpl
 
29 - 18.01.21 - 17:46
(8) А в OpenOffice?
   Ёпрст
 
30 - 18.01.21 - 17:47
Ну или так еще..
    ФайлОтч = ФайлЭ.Workbooks.Open(ИмяФайла);
    ФайлЭ.ScreenUpdating = 0; 
    ФайлЭ.Calculation = -4135
 
 Рекламное место пустует
   dmpl
 
31 - 18.01.21 - 17:55
Может вообще использовать православный табличный документ?
   Масянька
 
32 - 19.01.21 - 08:54
(28) Там полтора десятка строк.
   Масянька
 
33 - 19.01.21 - 08:55
(27) Не могу тебе сказать.
Писали гуру (типа того). Документооборот, универсальные механизмы.
   Масянька
 
34 - 19.01.21 - 08:55
(31) Документооборот.
   ДядяМитяй
 
35 - 19.01.21 - 09:43
Увидел, что там предв. просмотр. )) А если через Попытку?
   Масянька
 
36 - 19.01.21 - 10:12
(35) Только через пытки :(
   Масянька
 
37 - 19.01.21 - 10:14
Подключили на мой комп (принтер).
И вижу: при открытии задачи внизу (на панели задач) начинает мигать окно Excel (не было) - а там выбор принтера - http://pics.rsh.ru/img/_3xhsy26t.jpg.
   Масянька
 
38 - 19.01.21 - 10:16
+ (37) При закрытии этого окна лезет ошибка печати.
   Масянька
 
39 - 19.01.21 - 10:19
(30) Нет.
   Bigbro
 
40 - 19.01.21 - 10:21
попробуйте проблемный файл через инспектор документов прогнать  с удалением всей информации.
должен решить большинство проблем, типа с недоступным принтером, с недоступным по сети шаблоном документа и т.д.
   Масянька
 
41 - 19.01.21 - 10:24
(40) Да, не в файле дело (как оказалось), а в принтере.
   dka80
 
42 - 19.01.21 - 10:37
(41) да в файле. В дополнение к (40) сделай проверку совместимости (файл - поиск проблем - проверка совместимости). У меня так было: у пользователя вызываешь окно печати и сразу показывался предварительный просмотр, а у всех остальных показывалась кнопка "Показать предварительный просмотр", только после нажатия на которую появлялась картинка
   dka80
 
43 - 19.01.21 - 10:37
+42 в информации содержащейся в файле, в том числе и о принтере
   Bigbro
 
44 - 19.01.21 - 10:41
(41) и все же попробуйте это сделать, удалите все свойства (что вообще говоря необходимо делать перед тем как выкладывать документ куда либо в том числе в документооборот), потом откройте повторно. скорее всего никакой принтер уже не вылезет.
   Масянька
 
45 - 19.01.21 - 10:47
(44) А как очистить свойства? Программно.
   Bigbro
 
46 - 19.01.21 - 10:50
(45) программно - не знаю. для начала вручную проверьте, даст ли это требуемый эффект.
если даст, можно и без программного - ввести регламент обязательного удаления свойств документа перед вложением в документооборот.
виновных расстрелять пару раз и все.
   ДядяМитяй
 
47 - 19.01.21 - 16:53
Да что вы все костыли девушке суете - надо чтобы работало в любом случае, с любым битым файлом.
   Масянька
 
48 - 19.01.21 - 17:03
Хорошо, что поднял...
Как изменить принтер по умолчанию?

Попытка
Locator = Новый COMОбъект("WbemScripting.SWbemLocator");    
Исключение        
КонецПопытки;
ServicesSet    = Locator.ConnectServer(".");
ObjectSet    = ServicesSet.InstancesOf("Win32_Printer");
Для каждого Item Из ObjectSet Цикл
Если (НЕ Item.Default) Тогда
сообщить("1 - " + Item.Caption + " - " + Item.Default + " - " + Item.PrinterState + " - " + Item.PrinterStatus);
Item.SetDefaultPrinter();  
сообщить("2 - " + Item.Caption + " - " + Item.Default);
Прервать;
КонецЕсли;
КонецЦикла;

Не меняет...
   Масянька
 
49 - 19.01.21 - 17:19
Не, меняет...
Это ДО тормозит... Нещадно...
   DJ Anthon
 
50 - 19.01.21 - 18:10
переустановить офис пробовали? другую версию?
   Масянька
 
51 - 20.01.21 - 09:08
Всё арбайтэн.
Алгоритм:
Если файл Excel:
- получаем принтер по умолчанию, сохраняем в переменную.
- по умолчанию устанавливаем принтер OneNote.
Открываем файл.
Возвращаем принтер по умолчанию (из переменной).
   Bigbro
 
52 - 20.01.21 - 09:32
+ рассказываем всем любопытным имена принтеров по умолчанию в нашей сети.
дело хозяйское конечно, чаще всего без разницы, но принтеры могут быть сетевыми, а значит у них IP-адрес возможно будет прописан в имени, что уже менее приятно.
хотя смотря где у вас контур безопасности проходит конечно.
   dmpl
 
53 - 20.01.21 - 09:40
(34) Делаете пустой документ, демонстрирующий проблему. Отправляете 1С с жалобой "не работает". Ждете православного исправления.


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