Мои комментарии

Заголовок Comment Дата публикации Дата обновления
Если "повезет", то такое

Если "повезет", то такое поведение может возникнуть если работа с ИБ попадет на период ~25 дней с момента загрузки компьютера.
Связано с переполнением 32 битного таймера (функция GetTickCount).
Т.е. время последнего вызова запоминается как большое положительное число (2147483647),
а это время + 10 сек. получается большим по модулю отрицательным числом (-2147473647).
Все - на следующие 25 дней точно остались без обработки...

Должно устраняться перезапуском ИБ.
Если не устраняется, то точно дело не в этом.

Что функция-обработчик делает и как делается вывод, что она не вызывается?
Если указать в качестве обработчика тривиальную функции, вызывающую СООБЩЕНИЕ, например?

28.01.2014 11:43 28.01.2014 11:43
Функция-обработчик

Функция-обработчик указывается в ib.ini [AppFunctions] IdleFunc=...
Файл ib.ini должен лежать в рабочей папке программы.
При использовании терминального сервера, скорее всего, рабочие папки у разных пользователей различаются.
Проверьте содержимое ib.ini в папке, которую показывает Справка->Компьютер как текущую.

23.01.2014 14:45 23.01.2014 14:45
Выгоните всех пользователей

Выгоните всех пользователей из базы и удалите файл eventnet.db.
Этот файл будет пересоздан автоматически.
Лучше работать в режиме Инфо-Сервера, когда координацией изменения базы
занимается сервер и файл eventnet.db не используется.

21.01.2014 10:17 21.01.2014 10:17
я так понимаю нет?

я так понимаю нет?

А я так понимаю, что обсуждались Ваши хотелки...

Конечно, функций пока нет и никакой конкретной клавиши - тоже.
Я только пытался уточнить задачу, но даже тут возникло недопонимание...

20.12.2013 10:21 20.12.2013 10:21
В Windows сообщения о нажатии

В Windows сообщения о нажатии и отпускании клавиш получаются в цикле обработки сообщений.
Причем клавиатурные сообщения посылаются только окну, которое имеет т.н. фокус ввода.
В ИБ таким окном может быть бланк, диалог типовой операции, графа ввода, кнопка и т.д. и т.п.
Ловить все подряд для всевозможных окон - плохая затея.

Задача отлова определенной клавиши или комбинации вне зависимости от фокуса ввода решается установкой внутри программного (в пределах процесса) хука клавиатуры.
Обычно так ловится какая-то конкретная клавища: Escape или Ctrl+Break.

Для случая прерывания вычислений можно представить пару функций:
первая устанавливает клавиатурный хук и сбрасывает признак остановки,
вторая проверяет признак остановки.

Пример:

УСТ_ПРИЗНАК_ОСТАНОВКИ(ДА) // установили хук, сбросили признак
ЦИКЛ ПОКА(ДА)
//...
ЕСЛИ ПРОВЕРИТЬ_ПРИЗНАК_ОСТАНОВКИ ТО
// обрабатываем отмену...
КОНЕЦ_ЕСЛИ
//...
КОНЕЦ_ЦИКЛА
УСТ_ПРИЗНАК_ОСТАНОВКИ(НЕТ) // убрали хук, больше не нужен

Так Вам это представлялось?

19.12.2013 11:02 19.12.2013 11:04
В бланках можно обрабатывать

В бланках можно обрабатывать клавиши Fx в сочетаниях с Ctrl, Shift, Alt.
При нажатии соответствующей комбинации клавиш происходит вызов библиотечной функции.
См. в редакторе бланков/контекстное меню/"События бланка".

18.12.2013 10:03 18.12.2013 10:03
У клиента на компьютере

У клиента на компьютере установлен Mircosoft Office 2010

Если это Starter edition, то там нет интерфейсов OLE automation и ИБ его не видит.

17.12.2013 18:14 17.12.2013 18:14
1. В обработчике "Перед

1. В обработчике "Перед изменением счета" запоминаем где-нибудь код счета (во временном файле и т.п.) и возвращаем НЕТ, чтобы был показан стандартный диалог.

2. В обработчике "Изменение счета" получаем новый код.
Если отличается от запомненного - производим замену.

06.12.2013 09:11 06.12.2013 09:11
Есть ли в ИБ возможность

Есть ли в ИБ возможность работать с др.базами данных напрямую. Например с SQL-сервером.

В ИБ 8 - нет.
ТИП_COM позволяет вызывать только простейшие методы, что недостачно для использования ADO или OLE DB.
Можно попытаться решить задачу путем программного запуска утилиты выгрузки во временный файл из ИБ.

P.S. В ИБ 10 есть возможность подключения через ODBC к MSSQL, MySQL и др.

06.12.2013 09:01 06.12.2013 09:01
То есть, когда не было

То есть, когда не было поддержки проки сервера, всё работало.
Реализовали, работает только с настройками?

Раньше использовалась технология WinInet.
В ней настройки интернета автоматом берутся из свойств обозревателя Windows (т.е. IE).
Но не все настраивают и используют IE...

Сейчас у нас используется библиотека curl. Для нее требуется своя настройка proxy.

03.12.2013 17:19 03.12.2013 17:19
Интернет я получаю через

Интернет я получаю через PROXY, где в IBW8.7 настраивается прокси сервер

Поддержка прокси реализована начиная с версии 8.718 (т.е. последней доступной на данный момент).
В рабочей папке Инфо-Бухгалтера создайте файл gnet.ini со следующим содержанием:
[proxy]
address=223.103.0.33:8123
login=proxy_user
password=proxy_password

Замените адрес прокси, порт, логин и пароль в соответствии с настройками своей сети.

03.12.2013 08:30 03.12.2013 08:30
В версиях ИБ 8.6 и 8.7 при

В версиях ИБ 8.6 и 8.7 при редактировании счета в плане счетов не работают стрелки вверх и вниз при переходе между названием и кодом счета.

От кода к наименованию стрелка вверх работает.
А от наименования к коду нет, т.к. начиная с 8.5 наименование двухстрочное и стрелки вверх/вниз двигают курсор по строкам внутри поля ввода.

Сделал, что при положении курсора в первой строке клавиша "вверх" выполняет переход предыдущему элементу, а в последней - клавиша "вниз" к следующему.

Аналогично в диалоге хоз. операции для 3-строчного поля содержания.
Больше такие многострочные поля ввода нигде не используются.

22.11.2013 13:56 22.11.2013 13:57
"...позволив, например, вести

"...позволив, например, вести редактирование в окне типовой операции , а "родное" окно редактирования при это не открывать ".

Т.е нужны обработчики добавление/изменение, заменяющие стандартный диалог с доступом к редактируемой записи через РЕД_ПОЛЕ/УСТ_РЕД_ПОЛЕ.
А куда записывать/считывать эти значения и вызывать ли типовую операцию - это дело человека, пишущего код функции-обработчика?

20.09.2013 10:06 20.09.2013 10:06
... нельзя ли в этом ряду в

... нельзя ли в этом ряду в БД_РЕДАКТОР небольшие изменения внести, позволив редактирование в окне типовой операции , например, вести, а "родное" окно редактирования не открывать при этом.

"вести" - это имеется в виду ВВЕСТИ? При чем здесь это.
Как обмен значениями полей с типовой организовывать?

18.09.2013 18:06 18.09.2013 18:06
В архиве бланков невозможно

В архиве бланков невозможно закрепить дату в режиме сортировки по возрастанию. При переходе автоматически возвращается на "без сортировки".

Ваша проблема понятна. Будем решать.

18.09.2013 10:42 18.09.2013 10:42
Убедитесь, что в папке

Убедитесь, что в папке программы лежит файл ibw.ini.

16.09.2013 16:46 16.09.2013 16:46
А как вызвать событие после

А как вызвать событие после вызова функции ЗАП_ОПЕР?

Его вызовет платформа с номером 8.717.

10.09.2013 12:09 10.09.2013 12:09
Но вот данная функция не

Но вот данная функция не вызывает обработчики? Есть ли возможность что-то изменить?

...
ЗАП_ОПЕР

В такой функции ЗАП_ОПЕР вызывает диалог редактирования новой хоз. операции, где пользователь может ее поменять.

Сейчас здесь никаких событий не вызывается.
Я предлагаю вызывать событие "Добавление операции" после того, как пользователь нажал в диалоге ОК.
Тогда в функцию-обработчик придет номер вновь добавленной операции, ее можно считать, проверить, даже удалить при необходимости.

Если диалог не нужен зовем ЗАП_ОПЕР! и событие генерироваться не будет, т.к. у пользователя не будет шанса изменить операцию перед добавлением.

P.S. Событие "Диалог добавления операции" в таком сценарии не применимо.

09.09.2013 10:48 09.09.2013 10:48
Это было бы возможно сделать,

Это было бы возможно сделать, если бы потом проводка не отображалась для редактирования пользователю. Т.е. выполняются какие-то расчеты - формируется проводка и выводится на экран, чтобы пользователь мог поменять там что-то, в том числе и дату. Но при сохранении не срабатывают события ИБ.
Вот и получается что вроде как события могу работать, но только в случае ручного ввода всех операций и проводок, но это как-то не правильно получается.

Ваша проблема понятна.
Предлагаю сделать вызов событий "Диалог добавления операции" и "Добавление операции" для автоматического добавления операции из языка.
Т.е. добавления в результате использования операторов ПРОВОДКА и ЗАП_ОПЕР.

02.09.2013 16:12 02.09.2013 16:12
у некоторых пользователей не

У некоторых пользователей не работает прокрутка мыши

Какая Windows на клиентских машинах?
Вероятно следует обновить RDC.
В чем отличие от пользователей, у которых колесо работает?

Наша программа не поддерживает устаревший механизм обработки колеса мыши, который использовался в Win9x.

17.06.2013 15:49 12.09.2013 18:26