buhta-doc

View My GitHub Profile

На главную

Новое в версии. Релиз 300 от 31.07.2026

Условные обозначения:

[номер] - номер заявки во внутренней системе учета заявок компании “БУХта”.

Содержание:

Добавление новой возможности

26845

Алгоритм генерации проводок Распределение по сумме без НДС

Новый штатный пункт в настройке автоматической генерации проводок. Он пропорционально распределяет по нескольким проводкам сумму документа-источника за вычетом НДС (Сумма − Сумма НДС). Работает как привычное Распределение по сумме, но распределяет именно сумму без НДС.

Цель

Раньше такое поведение приходилось дописывать вручную в полях Sql select / Sql after правила генерации. Теперь это отдельный пункт списка — ручные вставки больше не нужны.

Типовой пример. Поступление товара с доп. услугой (например «Доставка»): стоимость доставки без НДС нужно разнести на строки товаров пропорционально их стоимости.

Как включить

В настройке генерации вида документа в поле «Сумма» выбрать «Распределение по сумме без НДС», затем в блоке «Привязка» указать виды строк-получателей (и при необходимости субконто). Остальные поля правила — как обычно. После сохранения процедура генерации пересоздаётся автоматически.

Как считается

Распределяемая сумма = Сумма − Сумма НДС строки-источника; доля каждой строки = сумма строки ÷ сумма всех строк привязки; проводка = распределяемая сумма × доля, округление до копейки; остаток от округления дописывается в последнюю проводку — сумма всех проводок сходится копейка в копейку.

Защита от «потерянных копеек»

Алгоритм сам проверяет полноту распределения. Если сумма не сошлась (расхождение больше копеечного округления), генерация прекращается с понятным сообщением, а неверные проводки не создаются — документ не будет сгенерирован с ошибочными суммами.

26851

Добавлена возможность масштабирования(увеличения) иконок на рабочем столе. Актуально для ноутбуков с небольшими дисплеями но высоким разрешением.

Настройка находится в меню Настройка->Локальные настройки далее закладка Общие в поле Коэффициент масштабирования иконок рабочего стола. Возможен выбор значение от 1 до 5 где

26852

В форме Экспорт в Excel при выборе типа файла xlsx появляется дополнительный флаг Экспортировать символ GS-1 в строках. Если он выставлен, символ не убирается. Ранее этот символ не экспортировался, т.к. наличие этого символа в строке делало файл не читаемым для Excel. Это связано с тем, что формат xlsx по сути это xml и управляющие символы должны быть обернуты спец. символами.

Общие усовершенствования системы

Прикрепление больших файлов к документам (вкладка «Файлы»)

Как проявлялось

При попытке прикрепить к документу файл больше ~30 МБ появлялось сообщение Невозможно открыть файл и вложение не сохранялось. У части пользователей прикрепление «подвисало», а очень большие вложения могли не открываться обратно.

Причина

Данные файла проходили через следующий путь:

Весь файл целиком собирался в памяти и кодировался в текст SQL-запроса. В 32-битном приложении это упиралось в лимит памяти уже на нескольких десятках мегабайт, а сообщение об ошибке было неинформативным (реальная причина — нехватка памяти — маскировалась под «не удалось открыть файл»).

Что исправлено

Запись и чтение вложений переведены на потоковую (частичную) передачу в базу и из базы. Теперь можно прикреплять и открывать файлы в десятки и сотни мегабайт (проверено на 200 МБ) — архивы, сканы, объёмные отчёты и выгрузки. Данные сохраняются и читаются без повреждения. Решение совместимо со всеми версиями SQL Server (от 2000 и новее).

Аварийное завершение программы при открытии очень больших списков + расширение памяти до 4 ГБ

Как проявлялось

При открытии очень большого списка (например, пользовательская форма «Список паллет» с ~2,3 млн строк) программа аварийно закрывалась целиком из-за нехватки памяти — без сохранения, без понятного сообщения.

Что исправлено __ Нет аварийного закрытия. Вместо завершения программы показывается понятное сообщение Недостаточно памяти для загрузки данных запроса, программа продолжает работать. Частичная загрузка. Если список слишком велик, он загружается настолько, насколько хватает памяти, с сообщением Загружено только N записей из M — список остаётся рабочим, программа аварийно не завершается.

Больше доступной памяти (до ~4 ГБ). Приложение помечено как поддерживающее большие адреса и использует надёжный менеджер памяти — на 64-битной Windows ему доступно до ~4 ГБ вместо 2 ГБ. Благодаря этому большие списки (в т.ч. упомянутый список паллет) теперь загружаются целиком.

Устойчивость к большим выборкам данных (вынос обработки в 64-битный сервис)

Как проявлялось

При передаче клиентской части больших результатов SQL-запросов 32-битный сервер упирался в потолок памяти 2 ГБ и мог аварийно завершаться/терять стабильность под нагрузкой.

Что исправлено

Работа с данными (выполнение запросов и выборок) вынесена в отдельный 64-битный сервис; сервер БУХта работает через него как посредник. На клиенте ничего менять не нужно.

Требуется запуск нового сервиса

Необходим запуск сервиса BuhtaServerNet (входит в поставку). Его адрес и порт задаются в настройке сервера (CSharpServiceHost / CSharpServicePort, по умолчанию 127.0.0.1:62387).

Результат. Большие отчёты и выгрузки больше не «роняют» сервер по памяти; выше стабильность под нагрузкой.

подробнее о конфигурации зарплата

скачать версию Buhta20260731.zip