Добавлено: Чт Июл 06, 2006 11:20 am Заголовок сообщения:
Цитата:
Все работает, если подставить обработчик и включить флажки по кнопкам.
Так всё просто?
Подставь пожалуйста в мой пример, и включи что надо, уже два года отчёты от мастера вручную разворачиваю. :cry:
Цитата:
Ну и что, что поменяется ? Он, как минимум, будет "наверху".
Нужна однотипность. Предложи все отчёты обновлять с перемещеним иконки.
А если открыто два Акцента и десяток отчётов, как они нужный находят, "окно - управление окнами"?
Сперва нужно заставить таблицу отчёта, сформированную скриптом, кричать "Ура" по нажатию кнопки "обновить". (Желательно без создания новой таблицы - мороки много.)
А после можно будет "исхитряться" с обновлением.
Код:
Option Explicit
Sub AddModule(sh)
Dim s
s= "Option Explicit" & vbLf & vbLf
s=s&"ShtBook.EnableButtons 1 + 4 'Обновить + Сохранить" & vbLf & vbLf
s=s&"Sub ShtBook_OnRequery" & vbLf & _
" MsgBox ""УРА, обработчики работают""" & vbLf & _
"End Sub" & vbLf
sh.Parent.SetScript(s)
End Sub
Sub test
Dim rw : Set rw=workarea.CreateReport("RepWizard")
rw.Load 889 'любой существующий
rw.KindID = 489 'правильный
rw.Build
Dim sh : Set sh = rw.MakeSheet.ActiveSheet
AddModule(sh)
End Sub
Call test
Согласен с вами. Есть ошибка всё таки.
В принципе вы видели что для этой цели я использую OnPeriodClick. НО, если бы работал полноценный OnRequery, то было бы хорошо.
А ты сохрани отчет в виде файла, а потом снова открой.
"Консультанты - загадочные люди.
Они сперва попросят у вас какую-нибудь цифру,
а потом представят её же в своих отчётах" (из Законов Мерфи)
Про файл было во втором посте этой темы.
Сама по себе проблема обновления RepWizrd меня не волнует, потому как решена десяток раз в разных ракурсах (в Акценте при желании всё делается и всё можно обойти, если так поставлена задача и есть достаточно времени).
Но мне тоже начинает казаться, что обновляемый RepWizrd не только бесполезен, но ешё и вреден.
Цитата:
"Пусть всё будет, но пусть чего-нибудь не хватает"
А.Райкин.
Но мне тоже начинает казаться, что обновляемый RepWizrd не только бесполезен, но ешё и вреден.
Всё. Что связано с построением отчетов должно делаться КАК МОЖНО БЫСТРЕЕ.
Момент посроения отчета всегда раздражает(в разной степени, но всегда). Нервы надо беречь.
Поэтому вреда в обновляемом RepWizarde нет и быть не может. Остальное - софизм
Добавлено: Пт Июл 07, 2006 7:25 am Заголовок сообщения:
Vinya писал(а):
У меня такие вопросы по RepWizard. Я не знаю закономерности, но время от времени RepWizard выдает неправильные данные (Build 0462). Эти данные отличаются от такого же отчета, построенного мастером. Слышали ли вы когда-нибудь о подобных ошибках? Были ли они исправлены в следующих версиях? И (если обшибка не исправлена, но вы о ней слышали) есть ли какая - нибудь закономерность в появлении оной?
Сделайте новый отчёт мастером из интерфейса - возможно в существующем (с которым сравниваете) включены ограничения по счетам, их можно не заметить.
С различиями в цифрах между отчётами, сделанными RepWizard и мастером не сталкивался.
Серьёзных ошибок за последнее время в мастере не было.
Можно скачать whatsnew.chm (100 кб) и поиском "мастер OR мастера OR отчетов" примерить каждое исправление для своего случая.
Добавлено: Пт Июл 07, 2006 8:48 am Заголовок сообщения:
Vinya писал(а):
У меня такие вопросы по RepWizard. Я не знаю закономерности, но время от времени RepWizard выдает неправильные данные (Build 0462). Эти данные отличаются от такого же отчета, построенного мастером. Слышали ли вы когда-нибудь о подобных ошибках? Были ли они исправлены в следующих версиях? И (если обшибка не исправлена, но вы о ней слышали) есть ли какая - нибудь закономерность в появлении оной?
Такого не может быть в принципе, потому что код используется один и тот же. Меняется только способ программирования RepWizard.
Добавлено: Пт Июл 07, 2006 9:01 am Заголовок сообщения:
Vinya писал(а):
У меня такие вопросы по RepWizard. Я не знаю закономерности, но время от времени RepWizard выдает неправильные данные (Build 0462). Эти данные отличаются от такого же отчета, построенного мастером. Слышали ли вы когда-нибудь о подобных ошибках? Были ли они исправлены в следующих версиях? И (если обшибка не исправлена, но вы о ней слышали) есть ли какая - нибудь закономерность в появлении оной?
Dim RW
Set RW = Workarea.CreateReport("RepWizard")
With RW
.AccID = WorkArea.GetAccID("П1",677)
.Kind = acForm
.KindID = FormsID("Счет на отгрузку.afm")
.Period.Start = Workarea.Period.Start
.Period.End = DateAdd("d",-1,Workarea.Period.End)
.AddColumn 3
.AddColumn 5
.AddColumn 10 ', , ,"5+Дата|1+Документ"
.SetRemMode True, 2,1
.SetRemMode True, 2,1
.SetRemMode True, 2,1
.SetTurnMode True, 0
.SetTurnMode False, 0
.SetTurnMode False, 0
.Build
With .Root
For j=1 To .Children
Sheet1.Cell(kolStr ,1).Value = WorkArea.Agent(.child(j).Value).Name
For i=1 To .child(j).Children
kolStr = kolStr + 1
Sheet1.Rows = Sheet1.Rows+1
If .child(j).child(i).Value <> TaxId And .child(j).child(i).Value <0> 1 Then
kolStr = kolStr + 1
Sheet1.Rows = Sheet1.Rows+1
End If
Sheet1.Cell(kolStr ,3).Value = .child(j).child(i).child(l).Value
Sheet1.Cell(kolStr ,4).Value = WorkArea.Operation(.child(j).child(i).child(l).Value).DocNo
Sheet1.Cell(kolStr ,5).Value = WorkArea.Operation(.child(j).child(i).child(l).Value).Name
Sheet1.Cell(kolStr ,6).Value = .child(j).child(i).child(l).QtyEnd
End If
Next
End If
Next
Next
End With
End With
Так вот: WorkArea.Operation(.child(j).child(i).child(l).Value).Name не соответствует WorkArea.Agent(.child(j).Value).Name
.child(j).child(i).child(l).Value выдаёт не тот ID
Зарание благодарен за помощь.
P.S.: Если построить отчёт с RW.AddColumn 10, , ,"5+Дата|1+Документ" RW.MakeSheet то всё нормально... делает, но мне надо использовать данные далее в программе...
Последний раз редактировалось: Vovan (Вт Ноя 02, 2010 1:37 pm), всего редактировалось 1 раз
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах