Имя: Пароль:
1C
 
Формат файла не поддерживается в Линукс
,
0 Fuas4
 
23.08.20
15:04
Добрый день!
Читаю файл эксель средствами 1с:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайлаПриемникаЭксель);

Если сервер стоит на винде, все читается замечательно (т.е. ошибку в самом файле можно исключить)
Когда делаю тоже самое на сервере с Линуксом, получаю такую ошибку: https://skr.sh/s3neffnIg9S
В справке и в погуглив не нашел каких-либо ограничений метода Прочитать() (думал, может на лине нельзя работать с xlsx)
Пробовал ставить задержку перед чтением (вдруг не успевает файл записаться на сервер) - не помогло.
Права на папку временных файлов у 1с есть (перед чтением файла 1с качает туда зип архив и распаковывает его)
В чем может быть проблема?
1 ДенисЧ
 
23.08.20
15:26
В линухе екселя нет... И думаю, что 1с с ним работает чем-то типа кома...
2 Fuas4
 
23.08.20
15:27
(1) там вроде у метода Прочитать() как раз фишка в том, что это не ком и даже на винде тебе не нужен эксель, чтобы читать эксель
3 Fuas4
 
23.08.20
15:32
Блин, я разобрался :)
Итак, для тех, кто будет гуглить: Линукс не виноват. У меня на сервере стоит платформа 8.3.16.1063, вот она, похоже. не дружит с xlsx. На 8.3.17 все ок, на 8.3.16.1063 ошибка даже на винде

Тогда другой вопрос: чем "в старину" читали эксель на сервере с линуксом? На клиенте читать не могу, т.к. загрузка в фоновом задании
4 МихаилМ
 
23.08.20
15:39
5 ДенисЧ
 
23.08.20
15:45
(3) В старину 1с на линухе не работал ))
6 Fuas4
 
23.08.20
15:50
(4) Спасибо! Нашел там какой то конвертер xls в mxl, пойду развлекаться)
(5) да он и щас не так чтобы прям супер работает :)
7 МихаилМ
 
23.08.20
15:50
(5) под вайном работал.
8 Fuas4
 
23.08.20
15:51
Блин, 1 стартмани выкинут в трубу) Так я тоже умею конвертировать https://skr.sh/s3nmJMJ7CLS
9 МихаилМ
 
23.08.20
16:25
(8) смотрите статьи про разборку xlsx : разархивация + обработка xml.
10 МихаилМ
 
23.08.20
16:27
кстати. интересно, есть odbc драйвер xlsx под *nix ?
11 Fuas4
 
23.08.20
16:34
(9) да, уже нашел, спасибо
12 Fuas4
 
24.08.20
07:49
Итак, для тех, кто однажды найдет эту ветку в поисковике. Вот обработка, которая умеет собирать данные xlsx в таблицу значений, предварительно распарсив вложенные xml https://expert.chistov.pro/public/139556/
Дальше просто таблицу обходим и все
13 kumena
 
24.08.20
09:37
1с вполне себе умеет читать эксель как табличный документ.

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Прочитать(ПутьКФайлу, СпособЧтенияЗначенийТабличногоДокумента.Значение);

а на линуксе так не работает?
14 mikecool
 
24.08.20
10:34
(3) читал через Прочитать() на 8.3.15
только не под линуксом
15 spiller26
 
24.08.20
11:10
Работаю с 1с на Линукс уже 4 года.
У меня разбирает через NativeXLSX файлы xlsx. Но есть ещё "ушлые" прогеры, которые формируют таблицы html, потом подставляют расширение xlsx (встречал даже xls-файл, которому просто поменяли расширение с xls на xlsx) и типа всё срабатывает если открыть в office.
Если же нужно вытащить данные из xls, то есть конверторы, например xls2csv.
16 spiller26
 
24.08.20
11:17
(16) вот моя обработка xlsx, там разберётесь.
https://yadi.sk/d/8H6ni2fZA7InZg