Имя: Пароль:
1C
 
ЗУП3. Есть ли возможность быстро и просто начислить зарплату программно?
, , ,
0 DTX 4th
 
11.07.18
18:42
1. Мне не нравится код ЗУП3 67% (8)
2. Явно лучше чем ЗУП2, но до идеала далеко 17% (2)
3. Свой вариант 17% (2)
4. Мне нравится код ЗУП3 0% (0)
Всего мнений: 12

Вроде 1С старается структурировать свой, да и редакция уже третья по счету, но простого способа программно начислить зарплату я не нашёл. Ожидал увидеть что-нибудь вроде

ЗаполнитьСтандартнымиЗначениями(Док);
НачислитьЗарплату(Док);


В коде можно найти место вызова длительной операции начисления, туда улетают параметры, которые рядом и заполняются примерно вот так:

    СтруктураПараметров = РасчетЗарплатыРасширенныйКлиентСервер.ПараметрыПолученияДанныхЗаполненияДокумента();
    СтруктураПараметров.ОписаниеДокумента = ОписаниеДокумента(ЭтотОбъект); // Функция неэкспортная. Что с ней делать - непонятно
    СтруктураПараметров.Организация = Объект.Организация;
    СтруктураПараметров.ДокументСсылка = Объект.Ссылка;

В итоге натыкаемся на ОписаниеДокумента(ЭтотОбъект) без Экспорт, и дальше дороги не видно.

Это норма? Или я что-то делаю не так?
3 APXi
 
11.07.18
19:15
(0) геморойно там программно это делать.

Мне не нравится код ЗУП3
6 DTX 4th
 
12.07.18
14:42
Бесит.

Мне не нравится код ЗУП3
10 ptiz
 
12.07.18
15:35
(0) Возможность программного создания документов в ЗУП 3 максимально усложнена.

Мне не нравится код ЗУП3
19 Akela has missed
 
12.07.18
16:12
МенеджерРасчета = РасчетЗарплатыРасширенный.СоздатьМенеджерРасчета(Объект.ПериодРегистрации, Объект.Организация);
ЗаполнитьНастройкиМенеджераРасчета(МенеджерРасчета, ПериодРасчетаЗарплаты);
    
ЗаполнитьНачисления(МенеджерРасчета, ПериодРасчетаЗарплаты);
ЗаполнитьПерерасчеты(МенеджерРасчета);
ЗаполнитьУдержания(МенеджерРасчета);
ЗаполнитьПараметрыРасчетаПособияПоНетрудоспособности(МенеджерРасчета);
    
МенеджерРасчета.РассчитатьЗарплату();
    
РасчетЗарплатыВДанныеФормы(МенеджерРасчета.Зарплата);

Задумано и выглядит круто, а на деле всё уныло. Взять хотябы этот код из больничного. Задача просто его рассчитать.
Нормальный человек, как тут сказали "тру-программер", сделал бы универсальный интерфейс одним-двумя методами. А здесь минимум 8!, да еще и с участием контекста формы.

Мне не нравится код ЗУП3
20 APXi
 
12.07.18
16:42
(7) Что то наверное наоборот, нормальных программеров выкинули.

Мне не нравится код ЗУП3
40 VladZ
 
19.07.18
11:10
Забыл проголосовать.

Мне не нравится код ЗУП3
51 supersonic
 
20.07.18
11:22
И не понятно. И не логично.

Мне не нравится код ЗУП3
53 BeerHelpsMeWin
 
20.07.18
12:54
ЗУП3 страшно трогать, особенно учитывая текущую чехарду в версиях.

Мне не нравится код ЗУП3
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший