Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Ошибка при чтении из Excel (http://forums.kuban.ru/f1040/oshibka_pri_chtenii_iz_excel-8815654.html)

USSR 14.02.2019 09:24

Ошибка при чтении из Excel
 
Не думал, что возникнет такая проблема. Файлов Excel перечитал уже несметное количество. У клиента из УТ11 моей обработкой закачивается прайс, все работало уже пару лет и вот после нового выдает ошибку при открытии файла. Пишет, что "неизвестная ошибка"
Какие отличия от того года:
1.Обновил платформу на 8.3.12.1685(в ней появились косяки с функционированием горячих клавиш и правой кнопки мыши. На 8.3.13.1690 приложение вообще периодически вылетало). Пока вернулись к 8.3.12.1685
2. Обновили УТ до 11.4.6.188
3. Excel 2010 при открытии руками выдавал сообщение про сбой активации. Говорит, что устранил, сегодня я еще не проверял.
Прайс не закачивается, ошибка не ушла
У меня на компе этот же файл прекрасно обрабатывается, но у меня стоит старый, добрый Excel 2007

Uho 14.02.2019 09:51

Как читаешь то? ТабДок.Прочитать()?

USSR 14.02.2019 09:59

(1)до чтения не доходит, файл перестал открываться
Попытка
Excel = Новый COMОбъект("Excel.Application");
WB = Excel.Workbooks.Open(ПутьКФайлу);

GariPortman 14.02.2019 10:31

Попробуй зарегистрировать comcntr.dll из 8.3.12.1685.

USSR 14.02.2019 10:34

(3)попробую вечером, но я ранее никогда такого не делал,
без этого работало. Вот для обмена ЗУП И БП, действительно требуется регистрация

GariPortman 14.02.2019 10:38

[quote=USSR;46483527]Пока вернулись к 8.3.12.1685[/quote] Если это означает изменение настроек запуска - то работаешь из 8.3.12.1685 а comcntr.dll из 8.3.13.1690

GariPortman 14.02.2019 10:39

C:\Program Files (x86)\1cv8\[версия платформы]\bin\comcntr.dll

Uho 14.02.2019 10:54

2-USSR > куда не доходит? 1С умеет читать эксель без всяких комобъектов

Блондинка в шок 14.02.2019 11:07

[quote=USSR;46483527]3. Excel 2010 при открытии руками выдавал сообщение про сбой активации.[/quote] Ну дык от этого и плясать.
мс офис просто так от нечего делать такие сообщения не станет выдавать.

[quote=USSR;46483527]Говорит, что устранил,[/quote] типа крякнул повторно еще раз :)))

В идеале снести офис, слегка подчистить реестр (типа RegCleaner), перезагрузить и поставить офис заново.

USSR 14.02.2019 11:23

(7)я знаю, но все работало и переделывать не хочется
(4)я это знаю, я же написал, попробую, но по моему не в этом дело
(8)готов со всем согласиться. я не знаю как и кто там крякал ))

VadimB 14.02.2019 12:02

[quote=USSR;46483657]до чтения не доходит, файл перестал открываться[/quote]

А может быть проблема в том, что данный файл на тот момент уже открыт?
Доводилось сталкиваться с ситуацией, что открытый экселовский файл никак визуально не отображается.
Приходилось открывать какой-нибудь другой экселовский файл, чтобы увидеть ранее открытый файл. После чего этот файл вручную закрывал. А дальше - все работало, как положено.

USSR 14.02.2019 12:15

(10)в диспетчере задач Excel процесса не было

VadimB 14.02.2019 12:35

11-USSR > Через диспетчер задач возникшую у меня проблему не рассматривал...
Хохмы ради, можно открыть какой-нибудь другой экселовский файл. Если проблемный файл никак не проявит себя, то это другой случай.

USSR 15.02.2019 04:26

C:\Program Files (x86)\1cv8\[версия платформы]\bin\comcntr.dll - регистрация ожидаемо не помогла
Установил 8.3.14, переустановил Excel, с удалением предыдущего, но без рекомендуемой уважаемыми БШ и самим Excel (не было возможности удаленно это сделать без потери связи), пока ничего не помогло.
На моем компе все работает, даже на другой конфигурации. Но в реестре старый офис остался и еще кое где, начисто он не удалился

GariPortman 15.02.2019 17:41

[quote=USSR;46486476] регистрация ожидаемо не помогла[/quote] Что значит ожидаемо. Если все случилось после манипуляций с платформой то comcntr.dll первый в рядах подозреваемых. К то же начинать надо с самого простого. Дальше попробуй написать ПолучитьCOMОбъект(, "Excel.Application"). Первый параметр пустой. Если ошибка - то проблема не с файлом. Попробуй создать другие ком объекты (тот же word или 1С). Что бы уже точно понимать где ошибка.

USSR 15.02.2019 20:37

(14)Ожидаемо - это то, что COM объект создается, но файд не открывается, я об этом сразу написал. И я никогда не регистрировал эту компоненту для целей чтения из Excel. Вот например для связи разных баз по COM - это да

USSR 16.02.2019 08:38

Короче, не выходит каменный цветок. С помощью MicrosoftProgram_Install_and_Uninstall вроде бы вычистил Office 2010. Снес Оffice 2007. Снова поставил. Интерактивно файлы открываются мгновенно и без проблем. Скопировал базу к себе на комп. Все работает, причем для обоих установленных у меня офисов (2003,2007). При создании COM объекта указывал и Excel.Application и Excel.Application.11 и Excel.Application.12.
У проблемного человека так и не работает. При открытии файла "Неизвестная ошибка". И у него и у меня Windows 7 msx. Пока единственное отличие нашел в том, что у него есть служба Office Software Protection Control. Я ее и останавливали запускал, никакого эффекта. Надо вечером попробовать открыть файл Word. Какая то засада. В инете эта тема встречается, но она мусолится вокруг клиент-серверной 1с, у меня файловая. В службах компонентов DCOM Excel не нашел, ни по имени, ни по идентификатору продукта. У меня на компе тоже не нашел.

USSR 17.02.2019 10:07

Сделал вариант на ADO. Визуально кажется несколько медленнее. Но причину бунта Excel.Application надо найти

GariPortman 17.02.2019 10:27

Ты пробовал ПолучитьCOMОбъект(, "Excel.Application") (При включенном Excel) и ПолучитьCOMОбъект("", "Excel.Application") ?

USSR 17.02.2019 10:56

(18)Нет, я так не пробовал. Посмотрю на досуге. Но вариант не очень, читать из уже открытого файла. Тем более в моей обработке возможна обработка сразу с двух файлов, есть там некоторые особенности ценообразования.
Хотелось бы все-таки выбрать имена файлов и просто нажать кнопочку "Заполнить", как было раньше ) Как и у меня на компе, пробовал и на другой тачке на WIN 2008 Server.

USSR 17.02.2019 11:31

(18)Попробовал. Заполнение из открытого файла с помощью ПолучитьCOMОбъект(, "Excel.Application") работает

USSR 17.02.2019 11:38

(18)а так тоже не работает:
Excel = ПолучитьCOMОбъект("", "Excel.Application");
WB = Excel.Workbooks.Open(ПолноеИмяФайла);

Uho 19.02.2019 14:17

[quote=Uho;46483884]2-USSR > куда не доходит? 1С умеет читать эксель без всяких комобъектов[/quote]

[quote=USSR;46484004](7)я знаю, но все работало и переделывать не хочется[/quote]

[quote=USSR;46492984]Сделал вариант на ADO. Визуально кажется несколько медленнее. [/quote]

?????

USSR 19.02.2019 14:44

(22) ну что непонятно, время идёт, а прайсы не заканчиваются. Пришлось переделать. Но это не путь к успеху. Причина так и не выяснена

Uho 19.02.2019 15:23

23-USSR > если переделывать, почему не средствами 1С?

USSR 19.02.2019 16:42

(24)Тоже средствами 1с, но без Excel.Application
Connection = Новый COMОбъект("ADODB.Connection");

и тд.)

Uho 19.02.2019 18:43

ADODB - средство 1С? ну-ну
ЗЫ. Раз уж переписывал, переписал бы по-нормальному

USSR 19.02.2019 19:49

(27)это вопрос терминологический. 1с под виндой позволяет мне создать этот объект, значит можно считать что средствами 1с) а как по нормальному?) Если честно, то мне больше всего нравится именно excel.applicstion, попадались прайсы, которые без него мне не обработать.

Jimbo 19.02.2019 21:42

ТабличныйДокумент.Прочитать() пару лет с 8.3.8 вроде бы точно юзаем

USSR 19.02.2019 22:12

(28)Этот пробел в знаниях обязательно закрою, но Excel.Application все равно бывает нужен ) И на чтение, и на запись. На 7.7 много чего с ним. Правда и обсуждаемый казус тоже впервые, может никогда и не повторится.

Jimbo 20.02.2019 09:02

Недавно наткнулся что Табличный документ 1с 8.3.12 не прочитало, а COM Excell Application прочитал - под расширением xls была сохранена страница html. Excell ругнулся, что формат не его, но все же открыл. А так многие выгрузки переделал, в разы ж быстрее читает.

perpetum 01.03.2019 16:49

23-USSR > Как вариант, может быть проблема заполнения шапки документа.
Тоже наблюдал случай, когда Excel не мог начать чтение документа. По подозрению проблемы в шапке - очистил шапку и подменил на шапку из читаемого файла - чтение прошло нормально. - Вероятно, при формировании шапки документа, в шапку прошли недокументированные символы.

GariPortman 01.03.2019 17:13

[quote=perpetum;46539191]Тоже наблюдал случай, когда Excel не мог начать чтение документа[/quote]Даже пустой файл создать не может. Там проблема с разрешениями (ИМХО). Решается большим бубном.

USSR 01.03.2019 18:36

(31)Про какую шапку Вы говорите ? я не понял. Файл вообще не открывается. Причем пробовал этот же файл читать еще на 4 компах, 3 в терминале. Все работает. Интерактивно и на проблемном компе открывается и даже читается по COM.Но только предварительно открытый


Текущее время: 11:30. Часовой пояс GMT +3.