Программа может сама записывать в базу ошибки, которые видит пользователь, и отказы в доступе: когда и у кого произошло, на каком компьютере и в какой версии программы, где именно, текст ошибки, текст SQL-запроса и снимок экрана. Записи просматривает администратор в форме Журнал ошибок пользователя.
Что записывается:
Журнал включается в меню Настройка → Общая настройка, закладка Журнал ошибок. Для каждого вида ошибок выберите, для кого вести журнал: Никому, Всем или Выбранным. Для режима Выбранным отметьте пользователей в таблице на той же закладке. Там же настраивается, сохранять ли снимок экрана. По умолчанию журнал выключен. Изменения вступают в силу в течение минуты, перезапускать программу не нужно.
В форме Журнал ошибок пользователя:
Форма предназначена для администраторов: доступ к ней настраивается так же, как к любой пользовательской форме.
Требуется синхронизация базы эталоном BuhtaClient.etl (от 26.10.2026 или позднее) — в нём таблица Журнал ошибок пользователя. Форма Журнал ошибок пользователя поставляется в файлах конфигурации.
Если таблицы в базе нет, журнал не ведётся, остальная программа работает как обычно. Снимок экрана занимает 100–300 КБ, поэтому старые записи стоит периодически очищать.
В VB-скриптах карточек просмотра появилось событие FormOnBeforeDelete. Оно срабатывает перед удалением записей из списка, после подтверждения пользователем и проверки прав. Скрипт получает ключи удаляемых записей и может исключить часть записей из удаления или отменить удаление целиком.
Sub FormOnBeforeDelete(TableName, ByRef IDList, ByRef IsContinue)
101,102,103); если убрать из списка ключ, эта запись не удалится;False отменяет удаление.Пример — не удалять автомобили, у которых в марке написано «НЕ УДАЛЯТЬ»:
Sub FormOnBeforeDelete(TableName, ByRef IDList, ByRef IsContinue)
IDList = GetValueFromSQL("SELECT ISNULL(STUFF((SELECT ',' + CAST(Ключ AS varchar(20)) FROM Автомобиль " & _
"WHERE Ключ IN (" & IDList & ") AND Марка NOT LIKE '%НЕ УДАЛЯТЬ%' ORDER BY Ключ FOR XML PATH('')), 1, 1, ''), '')")
End Sub
Заготовку обработчика можно создать в редакторе скриптов карточки просмотра: пункт OnBeforeDelete в списке событий Form. Если в обработчике произошла ошибка, удаление отменяется.
При сохранении карточки организации повтор теперь проверяется по паре ИНН и КПП, а не по одному ИНН. Можно завести филиалы и обособленные подразделения с общим ИНН и разными КПП. Две организации с одним ИНН и без КПП по-прежнему считаются повтором. Право Ввод организации с неуникальным ИНН действует как раньше, теперь для пары ИНН и КПП.
С 19.09.2026 СФР перешёл на ГИС ЕЦП: запросы для расчёта пособия приходят в новом формате (сообщение 10010 вместо 100), и ответ СФР ждёт тоже в новом формате (10110 вместо 101).
Требуется импорт из файла BuhtaConfig.mdb (от 28.10.2026 или позднее)
После импорта перезапустите программу: в таблицу запросов из ФСС добавлены новые поля.
В релизе 302 часть функций для скриптов форм работала неверно. Вызов Utf8ToAnsi и UTF8Decode приводил к ошибке «Access violation», у записи TSearchRec не было поля Name (поиск файлов через FindFirst / FindNext), не было функции Keybd_event и констант KEYEVENTF_EXTENDEDKEY, KEYEVENTF_KEYUP.
Что сделано
Функции для скриптов работают так же, как в релизе 301. UTF8Decode исправлена так же, как Utf8ToAnsi. Перед выпуском каждая версия теперь проверяется набором тестов скриптов форм.
Если новую карточку организации сохранить клавишами Ctrl+S, изменить и сохранить ещё раз, выходило сообщение «Организация с номером … уже существует», и карточка не сохранялась.
Что сделано
Проверки номера и ИНН больше не находят саму сохраняемую карточку. Повторное сохранение работает.
Изредка, обычно после разрыва связи с сервером, поверх сообщения «Соединение с сервером разорвано» появлялось окно «TbmNastroikaTable : Не найдено поле “Общая настройка”.”Порог свободных лицензий”».
Что сделано
Автовыход по простою не обращается к настройкам, пока идёт обмен с сервером. Это окно больше не появляется.
При расчёте зарплаты за 2026 год у шифров, которые заведены в ЗП инфо как ежемесячные и без даты выплаты (например, шифр с алгоритмом Перечисление на кред.карты), дата выплаты в расчёте ставилась первым числом месяца расчёта. Так, в расчётном листе за июль перечисление на карту получало дату выплаты 1 июля, тогда как итоговые шифры — Всего удержано, К выдаче на руки, Долг — дату выплаты зарплаты за вторую половину месяца.
Что сделано
Если у ежемесячного шифра в ЗП инфо дата выплаты не заполнена, она снова берётся из настройки зарплаты юр.лица — день выплаты за вторую половину месяца, так же как у итоговых шифров. Для шифров, у которых дата выплаты в ЗП инфо заполнена, ничего не изменилось.
Требуется импорт из файла BuhtaConfig.mdb (от 09.10.2026 или позднее)
В уже рассчитанных документах 2026 года дата выплаты сама не меняется. Чтобы исправить её в прежних расчётах, обратитесь в службу сопровождения.
подробнее о конфигурации зарплата