#0
by Карась
Добрый день! У меня стоит задача заполнения документа в open office из формы документа 1с.В документе заполняются закладки из реквизитов формы, собственно закладки не находящиеся в таблице у меня уже заполняются, а вот закладки которые находятся в таблице нет. Помогите пожалуйста разобраться в чем ошибка( возможно она совсем детская,но я пока только начинаю) Вот код: ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); Desktop =ServiceManager.createInstance("com.sun.star.frame.Desktop"); НастройкиОткрытия = Новый COMSafeArray("VT_VARIANT", 1); PropertyValue=ServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue"); PropertyValue.Name = "Hidden"; PropertyValue.Value = Истина; НастройкиОткрытия.SetValue(0, PropertyValue); FilePath="C:/dvstmp/ договор №48.odt"; URL = ConvertToURL(FilePath); Document=Desktop.LoadComponentFromURL(URL,"_blank",0,НастройкиОткрытия); Закладки=Document.getBookmarks; Закладки2=Document.getBookmarks; Закладки3=Document.getBookmarks; Закладки4=Document.getBookmarks; Закладки5=Document.getBookmarks; Закладки6=Document.getBookmarks; Текст=Document.getText; Контроллер=Document.CurrentController;Курсор=Контроллер.getViewCursor; Курсор2=Контроллер.getViewCursor; Курсор3=Контроллер.getViewCursor; Курсор4=Контроллер.getViewCursor; Курсор5=Контроллер.getViewCursor; Курсор6=Контроллер.getViewCursor; Попытка Закладка=Закладки.getByName("Tip"); Закладка2=Закладки2.getByName("Number"); Закладка3=Закладки.getByName("Partner"); Закладка4=Закладки.getByName("Partner1"); Закладка5=Закладки.getByName("Partner2"); Закладка6=Закладки.getByName("Partner3"); Таблица = Document.createInstance("com.sun.star.text.TextTable"); Document.Text.insertTextContent(Курсор5, Таблица, True); Document.Text.insertTextContent(Курсор6, Таблица, True); Исключение Сообщить("Закладка не найдена """+"Закладка"+"""!!!"); Возврат; КонецПопытки; Якорь=Закладка.getAnchor; Якорь2=Закладка2.getAnchor; Якорь3=Закладка3.getAnchor; Якорь4=Закладка4.getAnchor; Якорь5=Закладка5.getAnchor; Якорь6=Закладка6.getAnchor; Document.getCurrentController.getFrame.getContainerWindow.setVisible(Истина); Закладки=Объект.ХозяйственнаяОперация; Закладки2=Объект.Номер; Закладки3=Объект.Партнер; Закладки4=Объект.Контрагент; Закладки5=Объект.Контрагент; Закладки6=Объект.Контрагент; Курсор.gotoRange(Якорь, 0); Текст.insertString(Курсор, ""+Закладки+"", 0 ); / Курсор2.gotoRange(Якорь2, 0); Текст.insertString(Курсор2, ""+Закладки2+"", 1 ); Курсор3.gotoRange(Якорь3, 0); Текст.insertString(Курсор3, ""+Закладки3+"", 2 ); Курсор4.gotoRange(Якорь4, 0); Текст.insertString(Курсор4, ""+Закладки4+"", 3 ); Курсор5.gotoRange(Якорь5, 0); Текст.insertTextContent(Курсор5, ""+Закладки5+"", 4 ); Курсор6.gotoRange(Якорь6, 0); Текст.insertString(Курсор6, ""+Закладки6+"", 5 ); И вот на этом месте, где закладка находится в таблице, Курсор5.gotoRange(Якорь5, 0); Текст.insertTextContent(Курсор5, ""+Закладки5+"", 4 ); Он выдает ошибку, что метод объекта не обнаружен
#1
by Карась
А еще он жалуется на строку Закладка5=Закладки5.getByName("Partner2"); пишет здесь, что метод объекта не обнаружен
#2
by Карась
Все строку закладка5 я прошла, но никак не могу разобраться со строкой Курсор5.gotoRange(Якорь5, 0); Текст.insertString(Курсор5, ""+Закладки5+"", 4 ); Может это дело не в том, что закладка в таблице находится?
#3
by Карась
Вот такую ошибку он выдает Ошибка при вызове метода контекста (insertString)Текст.insertString(Курсор6, ""+Закладки6+"", 5 );
#5
by Карась
То есть так? Текст.insertString(Курсор5, ""+Закладки5+"", 4 ); Курсор5.gotoRange(Якорь5, 0);
#7
by Карась
На закладки5 перестал давать ошибку, так же сделала в закладки 6, там тоже таблица, но там выдает ту же ошибку и закладки 5 заполнять перестал
#8
by smaharbA
[ИмяЗакладки]="Закладка" [Контроллер]=[Док].CurrentController [Курсор]=[Контроллер].getViewCursor [Закладки]=[Док].getBookmarks [Закладка]=[Закладки].getByName([ИмяЗакладки]) [Якорь]=[Закладка].getAnchor [Курсор].gotoRange([Якорь], 0) [Текст]=[Курсор].getText //это [Курсор].CharFontName="Times New Roman" [Курсор].CharHeight=48 [Текст].insertString([Курсор], "Тут была закладка """+[ИмяЗакладки]+"""", 0 )
#13
by Карась
Я заполняю закладки так Курсор.gotoRange(Якорь, 0); Текст.insertString(Курсор, ""+Закладки+"", 0 ); Курсор2.gotoRange(Якорь2, 0); Текст.insertString(Курсор2, ""+Закладки2+"", 1 ); Курсор3.gotoRange(Якорь3, 0); Текст.insertString(Курсор3, ""+Закладки3+"", 2); Курсор4.gotoRange(Якорь4, 0); Текст.insertString(Курсор4, ""+Закладки4+"", 3 ); Курсор5.gotoRange(Якорь5, 0); Текст.insertString(Курсор6, ""+Закладки6+"", 5 ); Курсор6.gotoRange(Якорь6, 0); закладки5 и закладки6 у меня лежат в таблице, на них текст отдельно получать надо?
#15
by Карась
Текст.Курсор5.GetText; Текст.insertString(Курсор5, ""+Закладки5+"", 4 ); Курсор5.gotoRange(Якорь5, 0); Текст.Курсор6.GetText; Текст.insertString(Курсор6, ""+Закладки6+"", 5 ); Курсор6.gotoRange(Якорь6, 0); То есть вот так?
#17
by Карась
Причем предыдущие закладки он у меня спокойно заполняет, без получения текста на них, что наверное странно
#19
by smaharbA
смотрите внимательно это не тоже самое либо просто (но может работать не во всех версиях ооо, хотя счас наверное уже во всех текущих будет ок)
#20
by Карась
Попробую помудрить, просто я в принципе с такой темой впервые в жихни сталкиваюся и для меня это все темный лес
#21
by Карась
Вот Вы написали, что можно сделать Якорь.setString(3232323), если я в нее вставляю Якорь5.setString(Курсор5, ""+Закладки5+"", 4 );, то она не работает, честно, я уэе совсем запуталась, что сейчас необходимо сделать
#25
by Карась
Якорь5.setString(Закладки5); Курсор5.gotoRange(Якорь5, 0); вот так я пыталась, не работает, но я не думаю, что это правильно
#27
by Карась
Не надо вставлять таблицы, в таблице уже есть закладка в нее нужно передать текст из Закладки5
#31
by Карась
Я просто сегодня уже столько вариантов перелопатила, думала запрашивать отдельный доступ к таблице, но дело в том, что в режиме отладки он ее находит и выделяет, но записывать туда текст не хочет, выдает ошибку на метод
#32
by Карась
Только сейчас поняла, что абстрактно ответила на вопрос, прошу прощения нужно заполнить закладки в имеющихся уже таблицах
#33
by Карась
ААаааааа я разобралась вот так надо сделать Якорь5.setString(""+Закладки5+""); Курсор5.gotoRange(Якорь5, 0); Тогда все передается!!!!!!!!!!!!!!! СПАСИИИИИИБО!!!!!
#34
by smaharbA
[1C] [Закладки]=[Док].getBookmarks [Контроллер]=[Док].CurrentController [Курсор]=[Контроллер].getViewCursor [Закладка1]=[Закладки].getByName("Tip") [Закладка2]=[Закладки].getByName("Number") [Закладка3]=[Закладки].getByName("Partner") [Закладка4]=[Закладки].getByName("Partner1") [Закладка5]=[Закладки].getByName("Partner2") [Закладка6]=[Закладки].getByName("Partner3") [Якорь1]=[Закладка1].getAnchor [Якорь2]=[Закладка2].getAnchor [Якорь3]=[Закладка3].getAnchor [Якорь4]=[Закладка4].getAnchor [Якорь5]=[Закладка5].getAnchor [Якорь6]=[Закладка6].getAnchor [Закладки1]=[Объект].[ХозяйственнаяОперация].[Наименование] [Закладки2]=[Объект].[Номер] [Закладки3]=[Объект].[Партнер].[Наименование] [Закладки4]=[Объект].[Контрагент].[Наименование] [Закладки5]=[Объект].[Контрагент].[Наименование] [Закладки6]=[Объект].[Контрагент].[Наименование] [Якорь1].setString([Закладки1]) [Якорь2].setString([Закладки2]) [Якорь3].setString([Закладки3]) [Якорь4].setString([Закладки4]) [Якорь5].setString([Закладки5]) [Якорь6].setString([Закладки6]) [/1C]
#36
by Карась
Кстати а вот эта строка у нас задает размер шрифта, а как мне сделать всю строку заглавными буквами?
#41
by Карась
я описала код, где задаю шрифт,но как задать преобразование всех букв в верхний регистр Курсор.gotoRange(Якорь, 0); Курсор.CharFontName="Times New Roman"; Курсор.CharHeight=16;
#42
by Карась
я смотрела здесь, вы же и писали но там как я поняла ничего функции преобразования в верхний регистр нет
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Консоль отчетов. Разрядность пользовательского поля :)
- УПП: увязать Заказ на производство и Задание на производство
- Как сделать стандартную кнопку "Перейти" недоступной???
- Обновление конфигурации РИБ
- Закрытие месяца: 44 счет
- Маска в запросе номер на 5 символов
- http://www.forum.mista.ru/topic.php?id=529513
- Не верно считается НДФЛ
- "Усушка" в УПП
- УПП Справочник Графики работы
- 1с упп про график отпусков, как изменить график отпусков сотруднику т.к перенесл
- Округление вычисляемого поля в СКД
- УФ. Как в форме выбора спозиционироваться на выбранном элементе - начальное знач
- v7: Помогите с решением вопроса по 1С Предприятие 7.7
- v7: ЗиК карточка Т-2 при внутреннем совместительстве.
- Как определить количество символов в ячейки Excel посредством ADODB
- Проблема с регистрацией dll
- 1С + Google Maps API (для расчёта расстояний)
- Как пронумеровать отсортированные записи в запросе?
- Перенос данных между двумя базами 1С средствами SQL