Вроде 1С старается структурировать свой, да и редакция уже третья по счету, но простого способа программно начислить зарплату я не нашёл. Ожидал увидеть что-нибудь вроде
ЗаполнитьСтандартнымиЗначениями(Док);
НачислитьЗарплату(Док);
В коде можно найти место вызова длительной операции начисления, туда улетают параметры, которые рядом и заполняются примерно вот так:
СтруктураПараметров = РасчетЗарплатыРасширенныйКлиентСервер.ПараметрыПолученияДанныхЗаполненияДокумента();
СтруктураПараметров.ОписаниеДокумента = ОписаниеДокумента(ЭтотОбъект); // Функция неэкспортная. Что с ней делать - непонятно
СтруктураПараметров.Организация = Объект.Организация;
СтруктураПараметров.ДокументСсылка = Объект.Ссылка;
В итоге натыкаемся на ОписаниеДокумента(ЭтотОбъект) без Экспорт, и дальше дороги не видно.
Задумано и выглядит круто, а на деле всё уныло. Взять хотябы этот код из больничного. Задача просто его рассчитать.
Нормальный человек, как тут сказали "тру-программер", сделал бы универсальный интерфейс одним-двумя методами. А здесь минимум 8!, да еще и с участием контекста формы.
ЗУП3 страшно трогать, особенно учитывая текущую чехарду в версиях.
Мне не нравится код ЗУП3
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший