Имя: Пароль:
1C
1С v8
Как отобразить Word в форме 1с??
0 trololoev
 
28.08.14
20:46
Всем привет!
Помогите разобраться как вставить управляемую форму документ word?
Как я понимаю поля ActiveX там нет и приходится делать через ПолеHTML.
нашел статью про подключение WMP (лучше б что то путнее прописали=) ).

Пробовал сделать под свои нужды

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Реквизит1 = "<HTML><OBJECT ID=""Word"" WIDTH=""100%"" HEIGHT=""100%"" type = ""application/docx"" CLASSID=""clsid:00020906-0000-0000-C000-000000000046""></OBJECT></HTML>";
  
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
      ЭлементВК = Элементы.Реквизит1.Документ.getElementById("Word"); // Тут ищем элемент
      Если ЭлементВК = Неопределено Тогда
            Сообщить("Не найден объект компоненты!");  // Здесь понятно
              Возврат;
      КонецЕсли;

      Элементы.НавигацияРабочийСтол.ТолькоПросмотр = Ложь;   // Тут тоже понятно
      Word = ЭлементВК.contentDocument;                       // Тут получаем контент компоненты      
      Режим = РежимДиалогаВыбораФайла.Открытие;

      ДиалогВыбораФайла = Новый ДиалогВыбораФайла(Режим);          // Создаем диалог выбора файла
      ДиалогВыбораФайла.Фильтр       = "Все файлы (все)|*.*";      // Здесь понятно пока путь будут все
      ДиалогВыбораФайла.Заголовок = "Выберите документ";              // Здесь понятно

      Если ДиалогВыбораФайла.Выбрать() Тогда
            ПутьКфайлу = ДиалогВыбораФайла.ПолноеИмяФайла;
        
            // В зависимости от варианта объекта запись полного пути к файлу
            // производится либо в свойство FileName, либо в свойство URL.
        
            Попытка
                  Word.FileName = ПутьКфайлу;
        
            Исключение      
                  Word.URL = ПутьКфайлу;
        
            КонецПопытки;      

      КонецЕсли;
КонецПроцедуры

В итоге не может оно найти компоненту Word. Не могу понять в чем ошибка и что не так делаю.
Помогите плз буду очень признателен
1 vde69
 
28.08.14
20:51
а макросы и вирусы в ворде отключать?
2 trololoev
 
28.08.14
20:56
(1) юморист?
Решение есть, но править реестры не охото...

v8: Встроить таблицу Excel в форму 1С Предприятие
3 trololoev
 
28.08.14
21:31
Вообще ребята просмотр файлов можено сделать и без таких заморочек:
1-создаем реквизит типа "Строка";
2-создаем на форме элемент "Поле";
3-Связываем элемент Поле с реквизитом Строка;
4-в свойствах поля выставляем вид = Поле HTML документа).

Теперь если в реквизит записать конструкцию типа

Строка= "<html><body style=""margin:0;padding:0;""><iframe width=100% height=100% src=""file:///"+Файл+""">Нет фреймам!</iframe></body></html>";

То появляется проблема - файл открывается в отдельном окне приложения MS Office.

Эта проблема решается правкой системного реестра:
1.Запустите программу «Блокнот».
2.Скопируйте и вставьте следующий текст в Блокнот:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.8]
"BrowserFlags"=dword:80000024

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.RTF.8]
"BrowserFlags"=dword:80000024

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.Document.12]
"BrowserFlags"=dword:80000024

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Word.DocumentMacroEnabled.12]
"BrowserFlags"=dword:80000024

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.8]
"BrowserFlags"=dword:80000A00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.Sheet.12]
"BrowserFlags"=dword:80000A00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetMacroEnabled.12]
"BrowserFlags"=dword:80000A00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Excel.SheetBinaryMacroEnabled.12]
"BrowserFlags"=dword:80000A00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.8]
"BrowserFlags"=dword:800000A0

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.Show.12]
"BrowserFlags"=dword:800000A0

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.ShowMacroEnabled.12]
"BrowserFlags"=dword:800000A0

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShow.8]
"BrowserFlags"=dword:800000A0

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShow.12]
"BrowserFlags"=dword:800000A0

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\PowerPoint.SlideShowMacroEnabled.12]
"BrowserFlags"=dword:800000A0

[HKEY_CLASSES_ROOT\Excel.Sheet.8]
"EditFlags"=dword:00010000

[HKEY_CLASSES_ROOT\Excel.Sheet.12]
"EditFlags"=dword:00010000

[HKEY_CLASSES_ROOT\Word.Document.8]
"EditFlags"=dword:00010000

[HKEY_CLASSES_ROOT\Word.Document.12]
"EditFlags"=dword:00010000

3.Сохраните файл с именем Имя файла. reg.
4.Дважды щелкните Имя файла.reg для запуска данного сценария реестра.

После чего как говорится - БУДЕТ ВАМ СЧАСТЬЕ=)
Основная теорема систематики: Новые системы плодят новые проблемы.