Спасибо Vite! О существовании программы T-Flex я узнал в этот понедельник(( Пример TFlexControlSample я нашел. Как я понял, нужно компилировать dll (с классом APILoader) с помощью C++ или С# (если не прав - поправьте пожалуйста), к этому я не готов, т.к. сроки по задаче поджимают.
Реализовал следующим образом:
1)Скачал и установил "компоненты поддержки t-flex" + "T-FLEX Viewer 15 x64" [URL=http://www.tflexcad.ru/download/viewer/]http://www.tflexcad.ru/download/viewer/[/URL]
2)В примере под спойлером процедура для 1с, которая выдергивает текст из файла grb (с текстом будут остальные манипуляции - создание номенклатуры, спецификаций и т.д.), что и требуется для выполнения задачи.
Реализовал следующим образом:
1)Скачал и установил "компоненты поддержки t-flex" + "T-FLEX Viewer 15 x64" [URL=http://www.tflexcad.ru/download/viewer/]http://www.tflexcad.ru/download/viewer/[/URL]
2)В примере под спойлером процедура для 1с, которая выдергивает текст из файла grb (с текстом будут остальные манипуляции - создание номенклатуры, спецификаций и т.д.), что и требуется для выполнения задачи.
Чтение текста из файла grb с помощью 1с |
---|
Процедура КнопкаВыполнитьНажатие(Кнопка) sFile = "E:\Спецификация СБ\Спецификация. Первый лист.grb"; Попытка TF = ПолучитьCOMОбъект("TFW32.SERVER"); Исключение Попытка TF = Новый COMОбъект("TFW32.SERVER"); Исключение Предупреждение("На данном компьютере не найдено установленного ПО ""T-FLEX Viewer 15 x64"", |либо отсутствует служба компонентов TFW32.SERVER(см. Администрирование - Службы компонентов - Настройка DCOM) |[URL=http://www.tflexcad.ru/download/viewer/]http://www.tflexcad.ru/download/viewer/[/URL] (компоненты поддержки t-flex + T-FLEX Viewer 15 x64)"); возврат КонецПопытки; КонецПопытки; TF.ShowApplication(0); doc=TF.OpenFile(sFile); //Для ТекСтр = 0 По doc.GetPageCount()-1 Цикл //doc.ActivatePage(ТекСтр); Объект = doc.GetFirstObject(5); НПП = 0; Пока Объект <> Неопределено Цикл НПП = НПП + 1; Тхт = Объект.GetTextProperty("TEXT"); Тхт = Стрзаменить(тхт,символы.пс," "); Объект = doc.GetNextObject(); Если сокрлп(тхт) = "" Тогда продолжить КонецЕсли; сообщить(сокрлп(НПП) + " >>>>>" + сокрлп(тхт)); КонецЦикла; //КонецЦикла; TF.CloseFile(sFile); КонецПроцедуры |