Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Руслан
Зарегистрирован: 20.06.2014 Сообщения: 40
|
Добавлено: Вт Июл 14, 2015 8:37 am Заголовок сообщения: Нужен совет |
|
|
Решил сделать небольшое удобство для бухгалтеров. Есть отчет, который выводит список документов с определенной информацией (Shtbook). Хотелось бы, чтобы при двойном клике на определенном столбце открывался документ, значение которого находится в Cell(x,y,).CellParams. Значения уже есть, но я не нашел события для двойного клика по Shtbooks или Sheet. Хотя подобное действие есть в стандартных отчетах (например в Журнале операций). |
|
Вернуться к началу |
|
|
AllexL
Зарегистрирован: 10.03.2005 Сообщения: 434 Откуда: Donetsk
|
Добавлено: Вт Июл 14, 2015 9:26 am Заголовок сообщения: Re: Нужен совет |
|
|
У меня 7.0 , и doubleClick отсутствует в sheet'e. Для интерактивности использую следующий сценарий
Код: |
Sub RepFunc_OpenDocMode(ByVal DocID, IsReadOnly)
If Not IsNumeric(DocId) Then Exit Sub
If DocID = 0 Then Exit Sub
With Workarea.Operation(DocID)
If Not(.Folder Is Nothing) Then
If .Folder.isRightEnabled(1) Then
If .FormID = 0 Then
.ShowTrans ,1
Else
Dim f
Set f = App.CreateForm(.FormID, .ID)
f.ReadOnly = IsReadOnly
End If
Else
MsgBox "Отсутствует доступ для просмотра документа", vbCritical
End If 'isRightEnabled
End If ' folder is nothing
End With
End Sub
|
...При выводе делаю
Код: |
...
With s.cell(row, col)
.CellParam = DocId
.value = "text"
.hlink = true
.foreColor = vbBlue
End With
...
Sub S_OnCellNavigate(Row, Column)
if col = <docIdcolNo> then
call repFunc_openDocMode( s.cell(row,Column).cellParam, true)
end if
End Sub
|
|
|
Вернуться к началу |
|
|
Руслан
Зарегистрирован: 20.06.2014 Сообщения: 40
|
Добавлено: Вт Июл 14, 2015 12:52 pm Заголовок сообщения: |
|
|
AllexL
Я так понял S_OnCellNavigate это обработчик ячейки. У меня Акцент 6,0. Нету такого обработчика. Но главное я узнал - нету я sheet'e doubleClika |
|
Вернуться к началу |
|
|
AllexL
Зарегистрирован: 10.03.2005 Сообщения: 434 Откуда: Donetsk
|
Добавлено: Вт Июл 14, 2015 1:21 pm Заголовок сообщения: |
|
|
Руслан писал(а): | AllexL
Я так понял S_OnCellNavigate это обработчик ячейки. У меня Акцент 6,0. Нету такого обработчика. Но главное я узнал - нету я sheet'e doubleClika |
Можете попробовать использовать событие shtBook.OnWhatThis(), или поиграться с shtSheet.OnContextMenu |
|
Вернуться к началу |
|
|
Руслан
Зарегистрирован: 20.06.2014 Сообщения: 40
|
Добавлено: Вт Июл 14, 2015 1:55 pm Заголовок сообщения: |
|
|
AllexL
Спасибо за советы. Буду экспериментировать ) |
|
Вернуться к началу |
|
|
Руслан
Зарегистрирован: 20.06.2014 Сообщения: 40
|
Добавлено: Вт Июл 14, 2015 2:56 pm Заголовок сообщения: |
|
|
AllexL
Получилось. активировал кнопку ShtBook.EnableButtons 2
И в обработчике ShtBook_OnWhatThis вставил код с открытием
WorkArea.OpenDocument(Sh.Cell(Sh.Selection.Top, 3).CellParam)
срабатывает по двойному клику. Только вот отчет уходит за главное окно программы. Теперь буду решать эту проблему |
|
Вернуться к началу |
|
|
AllexL
Зарегистрирован: 10.03.2005 Сообщения: 434 Откуда: Donetsk
|
Добавлено: Вт Июл 14, 2015 4:31 pm Заголовок сообщения: |
|
|
Код: | Form.Minimize : Form.Maximize |
решает проблему |
|
Вернуться к началу |
|
|
|