Заказ звонка

Закрыть

*
*
*

Проблема с отчетом

Страницы: 1
RSS
Проблема с отчетом
Здравствуйте. В модуле Производство, раздел План производства, закладка Техпроцесс создал макрос, который становится на нужную позицию и запускает процедуру н-ое количество раз (циклом). Процедура добавляет партию в состав ПСП и запускает отчет. Процедура работает, проблема в том, что отчет формируется только 1-й раз. Вопрос: с чем это может быть связано и есть ли способ это обойти?

макрос

Код
Sub proba(TCSActiveModule)

kd=tcsapp.inputbox("","Ââåäèòå êîä äåòàëè","") 
Set Props = TCSActiveModule.CreatePropArray(1)
 a1= Props.add(0,"NMK_CODE",kd)
 a2=Props.add(0, "OPERATION_NUMBER", "1")
If TCSActiveModule.LocateByPropArray(Props, 0) Then
  For i=1 To 3 
   Call  proba11(TCSActiveModule)
  Next
Else 
 Call TCSapp.showmessagebox("","Äåòàëü ñ íîìåðîì "+kd+" íå íàéäåíà, ïîïðîáóéòå ââåñòè êîä ïîëíîñòüþ")   
 Exit Sub  
End If
End Sub



В процедуре партия выбирается фильтром и затем для нее формируется отчет
Код
  ......
  Call m1.Filter.ClearFilter
  Call m1.Filter.NewFilterItem( m1.Properties( "BATCH_NUMBER" ), fkEQ, cstr(np) )
  Call m1.Filter.ApplyFilter           

    Set rep = TCSActiveModule.Reports(True)
  If Not rep Is Nothing Then
   If rep.Locate( "NAME", "Ìàðøðóòíàÿ êàðòà",0) Then 
    Call rep.ExecuteReport()
   End If 
  End If 
   Set rep = Nothing
 .......
End Sub
Честно говоря, я и предположить не мог, что так можно использовать программу, хотя сам бывало измудрялся и не такое вытворять.
А не подойдет ли Вам способ, сначала создать все партии в цикле, а уже потом распечатать нужный отчёт?
Отчеты нужны на каждую созданную партию.Хотелось бы распечатывать сразу, чтоб не запутаться.
Цитата
Виталий пишет:
Отчеты нужны на каждую созданную партию.Хотелось бы распечатывать сразу, чтоб не запутаться.

Как раз это-то я и имел в виду. На каждую партию свой отдельный документ. Можно бланк настроить так, что при смене партии каждый раз начинать формировать бланк с начала. И печатать так гораздо удобнее - всё за один раз.
Если не сложно, привидите пример или дайте ссылку.
Пример можно посмотреть в демонстрационной базе данных в режиме расчётные документы. Отчёт называется "Лимитная карта TCS (по выделенным)". Там для каждого документа формируется новая лимитная карта. В Вашем случае для каждой партии - новый документ. Вам просто надо настроить Ваш отчёт должным образом.
Обратите внимание на служебные области Group1, Group2, ..., GroupFormNumber1, GroupFromNumber2, ... Они Вам понадобятся.
Спасибо, попробуем. Но на всякий случай хотелось бы знать из-за чего отчет в цикле на разные партии формируется только 1-й раз (на одну и ту же партию он создается сколько нужно ).
Сложно сказать почему. Вообще, конечно, там схема не простая получается: одна программа запускает другую, в которую под управлением третьей четвертая добывает данные. Тут в любом месте может быть нюанс. smile:)
Отчет настроили, все получилось. Спасибо!
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)