CftClub.ru
Клуб специалистов ЦФТ-Банк

добавление строк в ворде через клиент-скрипт

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Банковская отчетность (оперативная, обязательная, Oracle Reports)
Предыдущая тема :: Следующая тема  
Автор Сообщение
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеЧт Май 22, 2014 09:20   добавление строк в ворде через клиент-скрипт Ответить с цитатой
Полезность: Нет оценки
здравствуйте!
помогите пожалуйста.проблема в отчетности.не могу добавить строки в таблицу через кл-скрипт.заранее благодарен.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Май 22, 2014 10:01    Ответить с цитатой
Полезность: 1
http://cftclub.ru/viewtopic.php?t=3372&highlight=%F2%E0%E1%EB%E8%F6%E0+%E2+word
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеЧт Май 22, 2014 11:10   добавление строк в ворде через клиент-скрипт Ответить с цитатой
Полезность: Нет оценки
Код:
Public function PrintWordDoc
   if not OpenWordDoc(WrdApp, WrdDoc, GetData("REPORTFILE")) then
      'MsgBox "Can not open file!"
      PrintWordDoc = False
      Exit Function
   end if
   
   dim FieldsColl
   set FieldsColl = WrdApp.ActiveDocument.FormFields
   if FieldsColl.Count >= 1 then
      for Each aField in FieldsColl
         Text4Setting = GetData(aField.Name)
         if Text4Setting = "" then
            Text4Setting = " "
         end if
         if Len(Text4Setting) > 255 _
         or instr(1, Text4Setting, vbLF, vbBinaryCompare) > 0 _
         then
            WrdDoc.FormFields(aField.Name).Select
            Call WrdApp.Selection.TypeText(Text4Setting)
         else
            aField.Result = Text4Setting
         end if
      next
   end If
   MsgBox "-----"
   
 ------------------ отсюда мои  добавлении

   Call SetBracketsFields(WrdApp, WordDoc,"TABLE" )
   
   MsgBox cnt1
    For m = 1 To cnt
   
      WordDoc.Tables(1).Rows.Add
      WordDoc.Tables(1).Cell(1,2).Range.InsertAfter("ids")
      columnsCount = WordDoc.Tables(1).Columns.Count
      'WordDoc.Tables(1).Cell(1, 3).Range.InsertBefore("ddd")
    MsgBox cnt2
    Next
   
   
   call SetWordVisible(WrdApp, WrdDoc)' pokazat` dokument
   'WrdDoc.ExportAsFixedFormat "C:\Temp\main_doc.pdf",  17, true, 0, 0,1, 1, 0, True,True, 0, True, True, False
   PrintWordDoc = True
End function


вот тут надо разобратся,никак не получается.ваш пример использовал раньше.но в данном случае так надо.помогите если не трудно.спс за ранее.
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Май 22, 2014 12:12    Ответить с цитатой
Полезность: Нет оценки
Переменные cnt и cnt1 где инициализируются ?
брат666
Участник со стажем


Вступление в Клуб: 20.02.2014
СообщениеЧт Май 22, 2014 13:24    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
Переменные cnt и cnt1 где инициализируются ?


cnt1 закоментировал, а cnt инициализируется в ПРОВЕРКЕ.

Код:
IF P_INFO = 'COUNT' THEN
         --debug_pipe('www',0);
          CNT := 0;
          IDS := '';
      
          i := V_SCHET.first;
         while i is not null loop
            if V_SCHET(i).[SEL_S] then
               CNT := CNT + 1;
               --draw_report;
               IDS := IDS || V_SCHET(i).[CL_SCH] || ',';
            end if;
            
            i := V_SCHET.next(i);
         end loop;
         
         V_DEST := CNT;
      
      ELSif   p_info = 'REPORTFILE' then
         --m := INSTR(IDS, ',', 1, 1);
          ----
          --SCHET := SUBSTR(IDS, 1, m - 1);
          --IDS := SUBSTR(IDS, m + 1, LENGTH(IDS));
          
          --LOCATE SCHET_REF in ::[AC_FIN] ALL
          -- WHERE SCHET_REF = SCHET;
          --
          -- v_shet := SCHET_REF.[MAIN_V_ID];
          
            V_DEST := 'TEST.docx';
       
       ELSif   p_info = 'REPORTPATH' then
            V_DEST := 'D:\';
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Май 22, 2014 14:06    Ответить с цитатой
Полезность: 1
Бро,
если хочешь что то передать из операции в клиент скрипт,
заведи ПЕРЕМЕННУЮ (свойства - переменные , напр. V_CNT ), положи ее в редакторе на форму (можно сделать невидимой),
и тогда в клиент скрипте можно считать значение через V_CNT.text
это будет текст, то есть возможно еще нужно преобразовать или присвоить цифровой переменной ( а может и так прокатит)
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеПн Май 26, 2014 09:04    Ответить с цитатой
Полезность: 1
vtar пишет:
Бро,
если хочешь что то передать из операции в клиент скрипт,
заведи ПЕРЕМЕННУЮ (свойства - переменные , напр. V_CNT ), положи ее в редакторе на форму (можно сделать невидимой),
и тогда в клиент скрипте можно считать значение через V_CNT.text
это будет текст, то есть возможно еще нужно преобразовать или присвоить цифровой переменной ( а может и так прокатит)


см. также RUNTIME.CSMD.
Это библиотека для исполнения VBS-скрипта, сформированного в PL/+-тексте операции.
Там есть комментарии.
И можно поискать примеры применения.
ezhem
Участник со стажем


Вступление в Клуб: 22.05.2008
СообщениеВт Июн 10, 2014 08:22    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
vtar пишет:
Бро,
если хочешь что то передать из операции в клиент скрипт,
заведи ПЕРЕМЕННУЮ (свойства - переменные , напр. V_CNT ), положи ее в редакторе на форму (можно сделать невидимой),
и тогда в клиент скрипте можно считать значение через V_CNT.text
это будет текст, то есть возможно еще нужно преобразовать или присвоить цифровой переменной ( а может и так прокатит)


см. также RUNTIME.CSMD.
Это библиотека для исполнения VBS-скрипта, сформированного в PL/+-тексте операции.
Там есть комментарии.
И можно поискать примеры применения.


На самом деле есть RUNTIME.WORD, где имеются уже готовые функции (Add_TabRow, Del_TabRow, Set_CellValue, ...) для управления таблицами в ворде и не нужно изгаляться в клиент-скрипте.

Вообще отчеты и печатные формы в EXCEL и WORD в дистрибутиве сейчас делаются средствами OOXML, где клиент-скрипта уже нет.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Банковская отчетность (оперативная, обязательная, Oracle Reports) Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru