Обработка листа Excel в контексте &Сервер #758183


#0 by Maxwell198705
Есть лист эксель, хранится на рабочем столе(в нем выгрузка для документа поступления). Необходимо загрузить этот файлик т.е. программно открыть, передать на сервер и обработать.Проблема в том, что на севере Excell не установлен и установка запрещена. Таким образом файлик excell разбираем на клиенте и в каком то формате необходимо передать на сервер. Как Вы уже догадались реализация на УФ. Порекомендуйте каким образом это лучше сделать?
#0 by Maxwell198705
Есть лист эксель, хранится на рабочем столе(в нем выгрузка для документа поступления). Необходимо загрузить этот файлик т.е. программно открыть, передать на сервер и обработать.Проблема в том, что на севере Excell не установлен и установка запрещена. Таким образом файлик excell разбираем на клиенте и в каком то формате необходимо передать на сервер. Как Вы уже догадались реализация на УФ. Порекомендуйте каким образом это лучше сделать?
#1 by mikecool
временное хранилище - в него пихай что хошь, лишь бы сериализовалось
#2 by Maxwell198705
а тогда как на сервере разберётся этот файл если там excell не стоит. временное хранилище подойдёт если предварительно его в Табличный документ сконвертировать, или таблицу значений
#3 by Maxwell198705
любой формат который не трубует открытия сторонней программы
#4 by Maxwell198705
есть какая то функция которая бы лист ексель в файл типа "табличный документ" перевела?
#5 by Maniac
а задача какая? что в этом файле? У меня обработка для 1С с компонентой на Питоне читает и грузит эксели без Экселя. Читает все форматы, работает во всех режимах 1С. и на всех операционках, даже на линуксе. Скорость 100 000 строк в минуту.
#6 by Горогуля
а картошку она чистить умеет?
#7 by Maniac
есть встроенный метод табличного поля Прочитать Но не уверен что он работает на всех форматах экселя.
#8 by zak555
УФ ?
#9 by Maniac
в метода Прочитать в параметрах путь к файлу.
#10 by mikecool
а питон требуется устанавливать?
#11 by Maxwell198705
это касательно моего 4 сообщения?
#12 by Остап Сулейманович
Табличная часть. Заполнять на клиенте. После чтения данных в табличную часть сходить на сервер и там все обработать.
#13 by RomaH
МассивДанных = РабочийЛист.UsedRange.Value.Выгрузить;
#14 by Maniac
на клиенте - ту уй когда что заполнишь. клиент 1С работает только с формой. никакие заполнения чего либо и тп в нем не существует.
#15 by Maxwell198705
И таблицу значений передавать тоже нельзя
#16 by Maxwell198705
Подскажи пож-та ещё как собрать обратно в табличный документ из массива
#17 by RomaH
ты ври , да не завирайся
#18 by zak555
> никакие заполнения чего либо и тп в нем не существует. нельзя к чему обращаться ?
#19 by Остап Сулейманович
Ты сам то пробовал? Табличные части вполне себе заполняются на клиенте. Открой любой документ с табличной частью.
#20 by RomaH
ну вы блин даете
#21 by Maniac
Открыл. что дальше?))))
#22 by Остап Сулейманович
+ И для особо любознательных Маней могу сообщить - обработка также может иметь табличную часть. И точно также ее можно заполнить на клиенте. А доступна она будет на сервере без всяких извратов. Просто в контексте открытой формы.
#23 by zak555
не умеешь к с ТЧ работать на клиенте ?
#24 by Остап Сулейманович
Дальше пробуй ее заполнять.
#25 by Maniac
ты идиот? ну и что что табличная часть у обработки. в процедурах клиента НИКАКИЕ методы не доступны по работе с данными в ПРИНЦИПЕ. там куда не плюнь идет вызов дальнейших процедур НА СЕРВЕРЕ. И клиент-серверной базе это значит что все это фактически осуществляется на сервере!
#26 by Остап Сулейманович
"ты идиот?" Держи себя в руках.
#28 by Maniac
нефиг нести ересь.
#29 by Maxwell198705
тише тише ребята! проблема фигня))))) не стоит из-за неё ругаться!
#30 by Maniac
чувак. Экселя нет! Ты сабж читал?
#31 by Maxwell198705
спасибо!
#32 by Остап Сулейманович
+ Никогда не видел расчет суммы в табличной части? Например в событии ПриИзменении? Типа такого : текСтрока.Сумма = текСтрока.Количество * текСтрока.Цена; При этом на сервер за такой фигней никто управление не гоняет. Прочитай книжку "Разработка управляемого интерфейса" - потом начинай надувать пузыри соплями.
#33 by Maxwell198705
меня забанили на время как то, теперь культурный стал, и Вам рекомендую)))
#34 by Maxwell198705
для себя сделал вывод что, нуна в табличный документ, его передавать на сервер и там разбирать. любые методы на сервере типа Эксель = Новый COMОбъект("Excel.Application"); не применимы , поскольку такого приложения нет.
#35 by Остап Сулейманович
Не в табличный документ. А в табличную часть.
#36 by Maxwell198705
P.S. Тип "Табличный документ" передавать можно
#37 by Остап Сулейманович
А табличная часть доступна в контексте. Без всяких передач.
#38 by Maniac
даже если будет стоять на сервере. ты там с комом нормально работать не сможешь.
#39 by zak555
какие проблемы в открой форме на клиенте заполнить таблицу (ТаблицаЗначений/ТабличнаяЧасть) ?
#40 by Maxwell198705
мне нужно лишь временное хранилище файла, для этого не обязательно ещё и конструировать табличную часть
#41 by aka AMIGO
Всё не читал, но осуждаю © миста :) а почто-ж не такой способ? .. и т.д.. читаем Exel"евские файлы.. обрабатываем инфу, радуем бд.. ась?
#42 by RomaH
не надо распространять свой опыт на всех че-то у меня все работает - хоть на клиенте, хоть на сервере что за проблемы с комом на сервере?
#43 by Maniac
еперный балет. ВЫ САБЖ ЧИТАЛИ? Да пусть будет таблица - хоть я не знаю вагон таблиц. на КЛИЕНТЕ ты не запустишь КОМ чтоыб считать ЭКАСЕЛЬ! А значит по факту  НИКАКИМ боком никак ты эту ТЗ НЕ ЗАПОЛНИШЬ! Просто тупо потому что эксель не считаешь.
#44 by Maniac
элементарная проблема - ЭКСЕЛЯ НЕТ. какой нафиг ком тут может быть.
#45 by Maniac
Я уже молчу про то что если на сервере вообще будет линукс стоять;
#46 by MaxS
Всё не читал, но сообщу, что у меня успешно работает обработка чтения файла Excelом на клиенте, записывает данные в Объект.МояТаблица А на платформе 8.3.6 и выше можно спокойно на сервере читать без Excel'я.
#47 by RomaH
ну прям, не знаю &НаКлиенте я запущу на клиенте ексель
#48 by Maxwell198705
EXCEL я НЕТУ!!!! В этом особенность вопроса товарищи!
#49 by Остап Сулейманович
На клиенте?
#50 by Maniac
КОроче говоря делаешь на форме Табличное поле. Тупо копи пастом из экселя копируешь и вставляешь все в 1С. Тут тебе ни эксель, ни вообще капли кода не нужно в принципе. И делай что душе угодно.
#51 by aka AMIGO
ты читал ? У нас на всех компах предприятия установлен ОО, ексель уничтожен. Читаем MSSC
#52 by Maniac
даже если на КЛИЕНТЕ будет ЭКСЕЛЬ! КОМ работает только с ирективой   &НаСервере!!!! ну жесть просто. как такие вещи не знать.
#53 by aka AMIGO
Не нужно так кричать.
#54 by RomaH
а я понял, что на клиенте есть: .Проблема в том, что на СЕРВЕРЕ Excell не установлен и установка запрещена. Таким образом файлик excell разбираем на КЛИЕНТЕ и в каком то формате необходимо передать на сервер.
#55 by RomaH
&НаКлиенте
#56 by RomaH
это рабочий код, вот прям щас выполнил еще раз,
#57 by RomaH
прям, страшно становится - я вот сейчас узнаю. что КОМ работает только с диррективой "на сервере" и оно у меня перестанет работать
#58 by MaxS
Весь код приводить не буду, вот названия функций для чтения на улиенте 3-мя способами: &НаКлиенте Excel_ПолучитьДанные_COM_НаКлиенте Excel_ПолучитьДанные_ADO_НаКлиенте Excel_ПолучитьДанные_COMArray_НаКлиенте Это работает на клиенте:
#59 by VikingKosmo
Маня в очередной раз не смог втулить свои поделки?
#60 by Maxwell198705
Повторюсь для уточнения! на клиенте excell есть, на сервере excell нету!
#61 by Остап Сулейманович
Вот процедура которая используя КОМ работает на клиенте. Может я что-то не так делаю?
#62 by Кирпич
ну так открывай excel на клиенте, бери из него данные и передавай на сервер. в чем проблема то?
#63 by Maxwell198705
КОМ работает и на сервере и на клиенте, в зависимости что  он вызывает, если ком вызывает ексель, а он не установлен, соответственно вылезить ошибко!
#64 by Maxwell198705
Так ведь я и спросил, каким образом его будет удобней и лучше передать из формата excell на сервер, в последствии создавая документ поступления
#65 by Остап Сулейманович
Вот оно :
#66 by Кирпич
ды госпади. как угодно передавай. разве это вопрос.
#67 by zak555
так что маня слился ?
#68 by Остап Сулейманович
+ Оно заполняется на клиенте. И доступно на сервере без всяких танцев. Просто в контекстном вызове.
#69 by MaxS
Неужели азы расписывать? ;) НаКлиенте:
#70 by Остап Сулейманович
Он до сих пор не понял что ТабличнаяЧасть <> ПолеТабличногоДокумента.
#71 by Остап Сулейманович
+ А Маня его убедил, что код НоваяСтрока = Объект.ДанныеExcel.Добавить; возможно выполнить только на сервере. Ибо маня так не знает, а значит оно невозможно.
#72 by hhhh
это и на клиенте можно полностью. Если колонки все выведены на форму.
#73 by MaxS
можно, но на сервере нужно найти номенклатуру по данным из файла...
#74 by Maniac
занят сейчас. у меня продажа на 50 тысяч.с клиентом общаюсь.
#75 by Maniac
Я с вами уже просто запарился. Да на клиенте моджно с объектами работать и примитивными методами. Но этого мало в последующих вещах. Я разработку писал не 1 день, и граблей там достаточно. К тому же у меня требования иные изначально в подходе: никаких комов, никаких эксельей, вплоть до автозагрузки на сервере без каких либо форм.
#76 by Остап Сулейманович
Как то это не согласуется с "в процедурах клиента НИКАКИЕ методы не доступны по работе с данными в ПРИНЦИПЕ."  ЦЫ.
#77 by Maniac
Я человек который никогда на мелочи не обращает внимания. Поэтому у меня в голове гораздо глобальнее вещи лежат, которые на три шага вперед продумывают что будет дальше.
#78 by DexterMorgan
У маньяка ком не работает на клиенте?
#79 by zak555
слив засчитан
#80 by DexterMorgan
Мля, маня, иногда вообще задумываешься, а как ты пишешь то свои супер разработки с твоими знаниями =)
#81 by Maniac
я с комом попрощался изначально 4 года назад. На тот момент он на клиенте не работал.
#82 by zak555
ты открой любую его поделку -- увидишь
#83 by DexterMorgan
на помедитируй =) COMОбъект (COMObject) Конструкторы: По имени приложения Описание: Создает COM-объект (например, Word, Excel и т.д.). Методы и свойства СОМ-объектов в дальнейшем становятся доступными через данный объект. Доступность: ТОНКИЙ КЛИЕНТ, веб-клиент, сервер, толстый клиент, внешнее соединение.
#84 by Maniac
Даже если и сейчас работает - мне ком этот нафиг не вперся. У меня давно уже давно основаная задача это автозагрузка данных в регламентном задании на сервере.
#85 by DexterMorgan
Я открывал, на пред работе покупали (до меня ^^), комментировать не буду, ибо антиреклама =)
#86 by Maniac
ну значит в последних платформах разрешили.
#87 by DexterMorgan
Сейчас? А когда не работал?
#88 by Maniac
ты думаешь я точно помню? У меня на УФ обработка вышла на второй день выхода УТ11.
#89 by DexterMorgan
"мне ком этот нафиг не вперся" А ты свою хню на питоне как запускаешь?
#90 by Александр_Тверь
а не использовать загрузку через ком объекты еще не предлагали? Что-нибудь типа вот так
#91 by Александр_Тверь
естественно предварительно файлик передав на сервер.
#92 by Maniac
что значит хнюб на питоне. Питон - высокоуровневый язык программирования. У меня ДЛЛ. Нативная. Для нее не нужно ничего. Работает на всех операционках.
#93 by Maniac
книги она читать не умеет. да и кажется работает только с какими то отсталыми форматами экселя.
#94 by zak555
они ещё могут кстати из базы данные удалятьт
#95 by Maniac
Я точно не помню экселем кажись полнейшая лажа с считыванием листов экселя.
#96 by DexterMorgan
да ладно тебе, пусть маня сам со своими клиентами разбирается =)
#97 by Александр_Тверь
xls,xlsx,ods читает. единственный косяк, если несколько листов, то читает все. лист от листа отделяется пустой строкой в таблице НО! работает ОЧЕНЬ быстро и нативно. Не надо париться с установкой эксель. Очень удобно, возможно это то, что нужно автору.
#98 by RomaH
а если листов несколько? оно будет работать?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С