#0
by AdApter
Подскажите как отобразить окно Excel на форме 1С8, чтобы пользователь мог ввести данные в лист? Наверное надо какой-то ActiveX использовать. Пробовал OWC SpreadSheet, но он не поддерживает многих функций большого экселя. Например переносы в строках. Хорошо было бы использовать Internet Explorer, но в нем при открытии xls вопрос выскакивает "открыть или сохранить". Как бы обойти это окошко через DOM браузера например?
#3
by AdApter
active document не дает пользователю возможность интерактивной работы с excel, можно менять только программно
#4
by AdApter
В браузере можно открыть xls и этой воможности вполне достаточно для интерактивной работы пользователя (т.е. IE использует какой то ActiveX Excel) Rак сделать html, чтобы при открытии он сам загружал и показывал xls?
#6
by Asmody
Реквизит1="<html><body style=""margin:0;padding:0;""><iframe width=100% height=100% src=""file:///c:doc.doc"">Нет фреймам!</iframe></body></html>";
#8
by AdApter
открылся пустой фрейм. Можешь htm на мыло сбросить ? ну дальше уже для вопроса не важно, есть механизм который обрабатывает данные этих файлов. Надо чтобы пользователь внес туда цифры, а потом сохранил файл кнопкой на форме 1С.
#10
by vde69
[1c] Процедура ПередЗакрытиемДокументаWord(Документ, Отмена) Документ.Save; КонецПроцедуры Процедура ВыходИзWord ВременноеХранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ИмяВременногоФайла)); // удалим временный файл ИмяКаталога = ""; ИмяФайла = ""; РаботаСФайлами.ПолучитьКаталогИИмяФайла(ИмяВременногоФайла, ИмяКаталога, ИмяФайла); УдалитьФайлы(ИмяКаталога, ИмяФайла); ИмяВременногоФайла = ""; Модифицированность = Истина; КонецПроцедуры ...... ...... ...... ИмяВременногоФайла = ПолучитьИмяВременногоФайла("doc"); Если ВременноеХранилище <> Неопределено Тогда Doc = ВременноеХранилище.Получить; ИначеЕсли ЗначениеЗаполнено(Хранилище) тогда Doc = Хранилище.Шаблон.Получить; Иначе Doc = Неопределено; КонецЕсли; Word = Новый COMОбъект("Word.Application"); Word.Visible = Ложь; Попытка Если Doc <> Неопределено Тогда Doc.Записать(ИмяВременногоФайла); Word.Documents.Open(ИмяВременногоФайла,,,,,,,,,,,Ложь); //Function Open ( _ // 1 FileName As Object, _ // 2 ConfirmConversions As Object, _ // 3 ReadOnly As Object, _ // 4 AddToRecentFiles As Object, _ // 5 PasswordDocument As Object, _ // 6 PasswordTemplate As Object, _ // 7 Revert As Object, _ // 8 WritePasswordDocument As Object, _ // 9 WritePasswordTemplate As Object, _ // 10 Format As Object, _ // 11 Encoding As Object, _ // 12 Visible As Object, _ // 13 OpenAndRepair As Object, _ // 14 DocumentDirection As Object, _ // 15 NoEncodingDialog As Object, _ // 15 XMLTransform As Object _ //) As Document Иначе Word.Documents.Add; Word.Documents.SaveAs(ИмяВременногоФайла); КонецЕсли; Document = Word.Documents; Document.Activate; Selection = Word.Selection; Word.Visible = Истина; Если не ТолькоЧтение Тогда ДобавитьОбработчик Word.DocumentBeforeClose, ПередЗакрытиемДокументаWord; ДобавитьОбработчик Word.Quit, ВыходИзWord; Иначе // если ворд открыт на чтение, то имя файла нигде не нужно ИмяВременногоФайла = ""; КонецЕсли; Исключение Word.Visible = Истина; КонецПопытки; [1c] поставь отладчик в первые 2 процедуры и будешь удивлен :)
#11
by AdApter
О, ДобавитьОбработчик. Классная штука! попробую через нее. Конечно не очень юзабельно что будет открываться второе окно, за пределами окна 1С, но лучше чем ничего
#12
by AdApter
при этом придется заморачиваться с защитой листа, ячеек, убирать программно панели редактирования Ексель. и все равно остаются еще дырки для изменения структуры таблички, шрифтов, форматирования и пр.
#13
by AdApter
to vde69 - но у меня почему-то пустой фрейм, док в нем не загружается, ошибок не выдает. а у тебя как?
#16
by AdApter
да, стало открывать! проблема была в русских буквах и пробелах в пути к файлу. только все равно выдает запрос "открыть сохранить". (А мне толстый клиент и нужен)
#19
by vde69
код показывай что-бы не было вопросов используй DisplayAlerts = 0 только используй ОСТОРОЖНО, вещь опасная :)
#20
by AdApter
в окне вопроса есть галочка "больше не спрашивать". Видимо у тебя установлена, поэтому не выскакивает. А мне под каждого пользователя руками ее ставить?
#22
by AdApter
есть!. Чтобы в браузере запрос не выскакивал надо поправить реестр [HKEY_CLASSES_ROOTExcel.Sheet.8] "EditFlags"=dword:00010000 Всем спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- v7: Почему при объединении баз пересчет итогов?
- Управляемые блокировки и партии товаров на складах
- Конвертация данных. Не срабатывает ВыгрузитьПоПравилам()
- v7: 1С 7.7 копирование форм объекта - как лучше?
- УФ. Как сдвинуть курсор в таблице?
- Ошибка sql-server
- v7: Как вы согласуете наборы прав в 1С?
- не удалось заблокировать таблицу 'CODES' (Завершить работуПерезапустить)
- Заполнение табличной части внешней обработкой
- SQL запрос сложить значения двух столбцов
- Как настроить закрытие 20-го счета вручную?
- Отчет не сформирован! Синтаксическая ошибка.
- Регистр сведений. Удалить по ключу записи как?
- БП2.0: Был ли зачет аванса по данной реализации?
- v7: ТиС: Усредненная себестоимость без НДС
- Каким образом Узлу1 ПланаОбмена1 выгрузить данные ПланаОбмена2?
- Причина возникновения ошибок логической целостности в 1С
- Подскажите почему общий итог не считается
- Вопрос по группировке по периодам (СКД)
- Почему при загрузке товаров из 1С в Битрикс пишет - нет в наличии?