Условные обозначения:
[номер] - номер заявки во внутренней системе учета заявок компании “БУХта”.
Outlook 2021 не запускается из БУхты, при нажатии кнопки Отправить по электронной почте в окне предварительного просмотра отчета. Форма закрывается, ничего не происходит.
Проблема заключается в том, что Для более поздних версий Outlook, включая версию outlook 2021, не создается ветка реестра
HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows Messaging Subsystem'с параметром MAPI=1, Соотв. функции из модуля Mapi (поставка с Delphi6) перестают работать, т.к. не находят нужную ветку в реестре.Проблема исправлена
Доработан алгоритм сбора данных для отчетов по НДФЛ (процедура [_з/п Доходы и вычеты для Справки 2025]). Исправлена ошибка алгоритма разбивки доходов по ставкам НДФЛ в отчете [З/П Справка о доходах 2025г] и в Расчете 6НДФЛ (форма [З/П. Экспорт в XML-файл для ГНИ 2025]). В случае, когда в расч.листе ЗП шифр-начисление с отрицательной суммой и с датой больше, чем другой шифр-начисление, при этом при суммировании этих шифров ставка 13%, а без отрицательной суммы уже переходит со ставки 13% на 15%.
Справка 2НДФЛ разбивалась на две ставки, что некорректно.
Доработан режим расчета износа (процедура [Расчет_Износа]) во избежание ошибки округления при расчете износа тип переменных изменен с MONEY на DECIMAL.
Добавлен метод AssignComponentEvent(Source, Dest : TComponent; const EvenName: string=’’); Доступен для вызова из Dream-форм. Рассмотрим пример. На форме расположен TbmDBEdit с именем FileNameEdit. В инспекторе объектов задан обработчик на событие OnChanged. Необходимо, динамически созданному компоненту класса TbmDBEdit, задать этот же обработчик. Т.к. Dream не поддерживает работу с указателями на методы классов и задать впрямую нет возможности разработан метод AssignComponentEvent(Source, Dest : TComponent; const EvenName: string=’’);
var
edt: TbmDBEdit;
begin
edt:=TbmDBEdit.Create(Self);
edt.Parent:=Self;
edt.Left:=25;
edt.Top:=20;
edt.Width:=200;
edt.FieldType:='Строка';
edt.Visible:=True;
edt.Enabled:=True;
edt.CreateRunTimeControl;
//Копируем все обработчики из компонента FileNameEdit в edt
AssignComponentEvent(FileNameEdit, edt, '');
//Если хотим копировать конкрентный обработчик, то вызываем с его именем
AssignComponentEvent(FileNameEdit, edt, 'OnChanged');
подробнее о конфигурации зарплата