|
Метод Delete из класса Worksheet завершен неверно | ☑ | ||
|---|---|---|---|---|
|
0
kubik_live
06.03.26
✎
22:31
|
Коллеги, прошу помощи.
Баян наверное. Что не так с настройками на сервере? Создаю книгу 10 листов, заполняю листы. Все заполняется Необходимо удалить пустой лист шаблона в конце. &НаКлиенте Процедура ЭкспортВФайл() ................ ИмяПромежуточногоФайла_Пустой = ПолучитьИмяВременногоФайла("xlsx"); Попытка Состояние("Обработка файла MS Excel..."); Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.Workbooks.Open(ИмяПромежуточногоФайла_Пустой); //Состояние("Обработка файла MS Excel..."); Исключение Сообщить("Ошибка при открытии файла MS Excel!"); Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Лист0=Книга.WorkSheets(1); Лист0.Name="TMP"; .......................... // Здесь добавление и заполнение листов... .......................... Вот тут проблема: //Книга.WorkSheets("TMP").Delete(); // ЛистTMP=Книга.Sheets("TMP"); ЛистTMP.Delete(); ................. В файловой версии все штатно работает (причем оба варианта удаления (и который закомментен). В клиент-серверной версии - беда: Произошла исключительная ситуация (Microsoft Excel): Метод Delete из класса Worksheet завершен неверно Я вангую, что-то в службах компонентов не донастроено... |
|||
|
1
Волшебник
06.03.26
✎
22:33
|
оберните в Попытка...Исключение
|
|||
|
2
kubik_live
06.03.26
✎
22:36
|
(1) Оборачиваю - все нормально. Но лист шаблона остается. Хотелось бы его удалить.
В файловой все прокатывает. |
|||
|
3
Волшебник
06.03.26
✎
22:36
|
(2) пусть остаётся
|
|||
|
4
kubik_live
06.03.26
✎
22:39
|
(3) Да некошерно как-то: файл потом в ГИС ЖКХ должен грузиться: там перечень листов как бы определен жестко...
|
|||
|
5
Волшебник
06.03.26
✎
22:39
|
(4) у них там тоже попытка
выдыхай, бобёр |
|||
|
6
kubik_live
06.03.26
✎
22:42
|
Нечто было подобное с ВПФ с шаблонами из Word (давно) - чтото поднастраивали на сервере (не помню :((( ).
На файловой все нормально тоже работало |
|||
|
7
Garykom
гуру
06.03.26
✎
22:49
|
(0) Имхо оно там некий вопрос задает на сервере
Погугли нечто вроде "excel worksheet delete" Найдешь https://learn.microsoft.com/ru-ru/office/vba/api/excel.worksheet.delete И там Чтобы удалить лист без отображения диалогового окна, задайте для свойства Application.DisplayAlerts значение False. |
|||
|
8
Garykom
гуру
06.03.26
✎
22:51
|
(7)+ Точнее оно пытается задать вопрос но упс окружения рабочего стола нетути и ошибка
MS Office это любит по ошибкам падать без окружения нужного |
|||
|
9
kubik_live
06.03.26
✎
22:52
|
(7)
У меня это идет следующей строкой: Книга.Application.DisplayAlerts = False; // подавить сообщение Может раньше надо? Щас попробую... |
|||
|
10
Garykom
гуру
06.03.26
✎
22:53
|
(9) В самом начале надо!
Как только создал Excel = Новый COMОбъект("Excel.Application");
Сразу делаешь Excel.DisplayAlerts = False; |
|||
|
11
Garykom
гуру
06.03.26
✎
22:54
|
(9) Это ты давишь чтобы при сохранении не спрашивало видать
А догадаться повыше перенести не додумались |
|||
|
12
kubik_live
06.03.26
✎
23:03
|
(10) (11) Спасибо!
Сообщу о результате... |
|||
|
13
Кирпич
08.03.26
✎
13:35
|
21 век на дворе, а у них всё Excel.Application
|
|||
|
14
Злопчинский
08.03.26
✎
13:36
|
(13) а то! некоторые данные собирают и типа учет ведут в гуглотаблицах. и ничего. люди-то умнее в целом не становятся, а глупеют...
|
|||
|
15
Кирпич
08.03.26
✎
13:54
|
(14)да пускай в гуглотаблицах ведут что хотят. Excel штука удобная. Но Excel.Application да еще и на сервере это гений1с-стайл
|
|||
|
16
craxx
08.03.26
✎
16:00
|
(12) Есть же специальные ВК для создания xlsx без использования Excel.Application.
И кстати, по работе с листами https://infostart.ru/1c/articles/665512/ |
|||
|
17
Garykom
гуру
08.03.26
✎
16:16
|
(16) А они умеют xls, xlsx, doc, docx и т.д. в формат pdf экспортировать?
|
|||
|
18
Кирпич
08.03.26
✎
16:56
|
(17) 1C же вроде умеет
|
|||
|
19
Chameleon1980
08.03.26
✎
16:58
|
(18) и даже в листы (16) может
|
|||
|
20
Garykom
гуру
08.03.26
✎
17:36
|
(18) doc/docx и прочие форматы 1С умеет???
И ppt/pptx? |
|||
|
21
Кирпич
08.03.26
✎
17:38
|
(20) да ты задрал. задача - записать xlsx, а не записать xls, xlsx, doc, docx и ppt/pptx в формат pdf
|
|||
|
22
Garykom
гуру
08.03.26
✎
18:30
|
(21) Ну запиши xlsx с формулами и сводными таблицами сразу и диаграммами...
|
|||
|
23
Кирпич
08.03.26
✎
18:43
|
(22) А надо?
|
|||
|
24
Garykom
гуру
08.03.26
✎
19:37
|
(23) Когда не нада можно просто ТабличныйДокумент.Записать();
Но очень часто без Новый COMОбъект("Excel(Word|PowerPoint).Application") никак |
|||
|
25
Garykom
гуру
08.03.26
✎
19:39
|
(24)+ Причем лучше не на сервере где сервер 1С крутится это делать
А поднять отдельный сервер/виртуалку и там через микросервис работать с MS Office С сервера 1С общаться с микросервисом по http |
|||
|
26
Garykom
гуру
08.03.26
✎
19:40
|
(25)+ Потому что сервер 1С может крутиться на Линуксе или просто там нет MS Office и хрен поставишь
А работать из сервера 1С с офисом надо |
|||
|
27
craxx
08.03.26
✎
23:28
|
(22) xlsx (а также docx и pptx) это zip-архив с xml и вложенными медиафайлами.
По формулам там прямо на Инфостарте гуглится готовый пример работы |
|||
|
28
Garykom
гуру
09.03.26
✎
00:27
|
(27) Не смешно
Приходилось заниматься подобным извратом, но это сильно ограниченное применение Например заполнение по шаблонам или нечто вроде Сложность реализации и надежность такого (что документ откроется и все не поедет нафик) далеки от простоты через COM/OLE с MS Office |
|||
|
29
timurhv
09.03.26
✎
00:40
|
(4) какой-то ПЗДЦ, че серъезно? 26 год на дворе, грузят Excel - файлы в интеграции? o_O
>Да некошерно как-то: файл потом в ГИС ЖКХ должен грузиться: там перечень листов как бы определен жестко... |
|||
|
30
timurhv
09.03.26
✎
00:45
|
(27) я это УГ с инфостарта разбирал, потом полгода доводил до ума по своему проекту и не скажу что 100% возможностей Excel там достигнуто, но 95% - да, реализовал.
Excel = Word^50 по сложности, поэтому в БСП Excel очень нескоро увидим сохранение. |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |