Имя: Пароль:
1C
1С v8
Как определить, что с файлом есть проблемы?
0 Масянька
 
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) Да, блин, это коню понятно.
Как бы сделать так, чтобы не висло намертво, а написала (например) - "Плохой файл".
Вариант?
3 sikuda
 
18.01.21
13:53
Файл.Существует()? ;)
4 Масянька
 
18.01.21
13:57
(3) Спасибо!
5 Масянька
 
18.01.21
14:30
(3) Не-а.
При открытии задач с файлами, которые норм открываются тоже дает ошибку.
Не подходит.
6 dka80
 
18.01.21
14:35
обновить платформу. у меня на 16 были такие проблемы
7 oslokot
 
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'е файл открылся, но сразу же вылезло окно с выбором принтера и вот это окно (для отправки на печать) очень не легко закрыть (вылазит ошибка - не хватает памяти, не доступен принтер).
11 oslokot
 
18.01.21
14:53
может файл вирусняк какой-то, со сценариями
12 Масянька
 
18.01.21
14:56
(11) У меня (в ДО, в той же задаче) открывается норм.
Сохраненный на диск - тоже.
13 arsik
 
гуру
18.01.21
15:02
(12) Ну у клиента, где ошибка открытия, вирусня?
14 Масянька
 
18.01.21
15:07
(13) Маловероятно. Политика партии.
15 oslokot
 
18.01.21
15:08
(14) а вирусы в курсе про вашу политику партии?
16 Масянька
 
18.01.21
15:08
Мне тут сисадмин сказал, что такая ошибка возникает, когда текущий принтер в винде имеет формат А4, а приходит файл с портянкой (в данном случае именно так).
Есть варианты?
К примеру, проверить формат?
17 arsik
 
гуру
18.01.21
15:09
(14) Ну расскажи нам, почему при открытии файлик на принтер отправляется автоматом?
18 arsik
 
гуру
18.01.21
15:13
19 ДядяМитяй
 
18.01.21
16:24
(18) Соответственно перед открытием надо enableevents установить в false. А для этого вернуться к закомментированному коду
20 Масянька
 
18.01.21
16:32
Кто-нибудь знает, как в Excel (при открытии) задать режим просмотра?
Нужно воткнуть "Обычный".
Гуглю... Гуглю... А нагуглить не могу...
21 Cthulhu
 
18.01.21
16:36
мот попробовать так?
там где файл норм открывается и есть права на редактирование списка файлов документа:
1) вытащи файл из документа на диск
2) открой файл на диске, перегони его через другой формат туда-обратно
3) замени в списке файлов дефектный файл на отремонтированный (см.п.2)
22 Вафель
 
18.01.21
16:41
(20) включаешь запись макросов - делаешь дела - смортишь команды макроса - пишешь код 1с
23 arsik
 
гуру
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 ?
28 dmpl
 
18.01.21
17:45
(0) А может вы просто не дождались, пока браузер отрендерит 100500 миллиоонов строк?
29 dmpl
 
18.01.21
17:46
(8) А в OpenOffice?
30 Ёпрст
 
18.01.21
17:47
Ну или так еще..

    ФайлОтч = ФайлЭ.Workbooks.Open(ИмяФайла);
    ФайлЭ.ScreenUpdating = 0;
    ФайлЭ.Calculation = -4135
31 dmpl
 
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) Нет.
40 Bigbro
 
19.01.21
10:21
попробуйте проблемный файл через инспектор документов прогнать  с удалением всей информации.
должен решить большинство проблем, типа с недоступным принтером, с недоступным по сети шаблоном документа и т.д.
41 Масянька
 
19.01.21
10:24
(40) Да, не в файле дело (как оказалось), а в принтере.
42 dka80
 
19.01.21
10:37
(41) да в файле. В дополнение к (40) сделай проверку совместимости (файл - поиск проблем - проверка совместимости). У меня так было: у пользователя вызываешь окно печати и сразу показывался предварительный просмотр, а у всех остальных показывалась кнопка "Показать предварительный просмотр", только после нажатия на которую появлялась картинка
43 dka80
 
19.01.21
10:37
+42 в информации содержащейся в файле, в том числе и о принтере
44 Bigbro
 
19.01.21
10:41
(41) и все же попробуйте это сделать, удалите все свойства (что вообще говоря необходимо делать перед тем как выкладывать документ куда либо в том числе в документооборот), потом откройте повторно. скорее всего никакой принтер уже не вылезет.
45 Масянька
 
19.01.21
10:47
(44) А как очистить свойства? Программно.
46 Bigbro
 
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
Не, меняет...
Это ДО тормозит... Нещадно...
50 DJ Anthon
 
19.01.21
18:10
переустановить офис пробовали? другую версию?
51 Масянька
 
20.01.21
09:08
Всё арбайтэн.
Алгоритм:
Если файл Excel:
- получаем принтер по умолчанию, сохраняем в переменную.
- по умолчанию устанавливаем принтер OneNote.
Открываем файл.
Возвращаем принтер по умолчанию (из переменной).
52 Bigbro
 
20.01.21
09:32
+ рассказываем всем любопытным имена принтеров по умолчанию в нашей сети.
дело хозяйское конечно, чаще всего без разницы, но принтеры могут быть сетевыми, а значит у них IP-адрес возможно будет прописан в имени, что уже менее приятно.
хотя смотря где у вас контур безопасности проходит конечно.
53 dmpl
 
20.01.21
09:40
(34) Делаете пустой документ, демонстрирующий проблему. Отправляете 1С с жалобой "не работает". Ждете православного исправления.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.