Имя: Пароль:
1C
1С v8
Создание отчёта вычисления зарплаты.
0 cobra152
 
19.06.23
19:26
Доброго времени суток товарищи программисты. Возникла проблема с созданием не стандартного отчёта вычисления заработной платы. Прошу помочь специалистов новичку, буду благодарен.

Суть такова, есть приложение для администрирование таксопарка. В приложении имеются такие справочники как: "Должности" и "Тарифы", а так же документ Заказ". В ложностях есть должность "Водитель такси" с процентной ЗП 0.8 (80%), Справочник.Должности.ЗаработнаяПлата,  в тарифах есть разные тарифы с разной стоимостью, Справочник.Тарифы.Стоимость, в заказах есть сотрудники которые принимали заказы, Документ.заказ.ФИОВодителя. Необходимо в отчёте рассчитывать заработную плату определённого сотрудника, с определённой даты учитывая что тарифы могли быть разные и его процентную ставку. Вывод должен выглядеть так, все заказы за определённый период времени и итог по зарплате с учётом процентной ставки. (Старался расписать очень подробно, что бы не было много вопросов).
1 Волшебник
 
19.06.23
19:29
Зарплату должен считать документ или обработка, а результат загонять в регистры. Отчёт должен вытаскивать уже рассчитанные данные.
2 cobra152
 
19.06.23
19:34
Можно по подробнее как это реализовать?
3 Злопчинский
 
19.06.23
19:52
(2) головой и руками, ясен пень.
Задача в целом понятна.
Неясно в чем лично у тебя проблемы с решением задачи...
4 Злопчинский
 
19.06.23
19:53
- У вас вопрос или вы не знаете как вести бухгалтерию?!
- у меня вопрос: как вести бухгалтерию?
5 cobra152
 
19.06.23
19:56
Вообще не работал с бухгалтерией, поэтому и думал реализовать расчёт ЗП через отчёт.
6 Гена
 
19.06.23
20:07
(4) Здесь не нужна бухгалтерия. Бухгалтерию и зарплату ведут в другой программе. Просто хотят из приложения для таксопарка вытаскивать сводно заработок каждого таксиста за месяц без ненужной им разбивки по заказам. Май. Иванов = 56442, Петров = 42877, Сидоров = 84021
7 Гена
 
19.06.23
20:08
Потом в том же ЗУПе расчётчица просто набьёт эти суммы в доке Начисление зарплаты.
8 welwel
 
19.06.23
20:10
(5) у Станислава Митичкина, который Волшебник , была по-моему книжка для начинающих, в которой описывалось, как сделать простую зарплатную программу. Емнип она даже по версии 7.7 была, но это не столь важно, так как вам это для понимания общего подхода.
9 welwel
 
19.06.23
20:17
10 cobra152
 
19.06.23
20:20
Надо будет прочитать летом данную книжку что бы подкачать навыки и узнать новое. На счёт моей задачи, я думаю сделать просчёт зарплаты через сумму тарифов всех записей с определённым водителем, после эту сумму перемножить на нужный процент. Или же мне всё же пойти разбираться с обработками как порекомендовал Волшебник.
11 welwel
 
19.06.23
20:27
(10) имхо желательно расчёт зарплаты фиксировать в документе, так как исходные данные могут со временем меняться (в том числе задним числом), а при формировании ведомости за какой-либо прошлый период желательно, чтоб выводились те же самые суммы, что и при первоначальном расчёте.
12 Гена
 
19.06.23
20:27
(10) Я бы пошёл по пути ежедневного нового документа, предложенного в (1), где каждая строка ФИО и сумма, а по клику по сумме табличка заказ-сумма раскрывается при желании. Расчёт внутри модуля. Как-то так.
13 АгентБезопасной Нацио
 
19.06.23
20:27
(10) "Мы вот тут решили научиться программировать. ПОсоветуйте, как лучше учиться программировать - в кодах, или в ASCII?"©
14 АгентБезопасной Нацио
 
19.06.23
20:29
(12) а умножать внутре модуля будешь, или потом? зы. а если унутре дня водятел ФИО сменит - женится, там, или замуж выйдет?
15 Гена
 
19.06.23
20:32
(14) умножать, конечно, унутре модуля... ну а для смены ФИО есть уникальный табельный номер )
16 cobra152
 
19.06.23
20:37
На счёт документа я не много уловил мысль, создать документ где будет суммироваться вся выручка за день и перемножаться на процентную ставку. А в отчёте вся эта информация будет выводиться, и можно было бы посмотреть выручку за день или за не сколько дней. На счёт ФИО, у каждого есть своё код, поэтому если на то пошло, то можно использовать уникальный номер водителя.
17 cobra152
 
19.06.23
20:39
Встаёт тогда другая задача, написать код для модуля документа...не знаю получится ли у меня, но попробую ибо в написании кода в 1с я ещё не опытен
18 Гена
 
19.06.23
20:43
(16) Упс! Так база = выручка? И зарплата от неё ажник 80% ? Что-то Вы нас тут за дураков держите )
Не бывает такого таксопарка. Скорее похоже на фирму-посредника, которая для частников ловит и передаёт заказы. И те вчёрную...
Не-е-е, мы тут все законопослушные, честные, искренние и пушистые.
19 Гена
 
19.06.23
20:46
Вот я, например, чту Налоговый кодекс... это моя слабость...
20 Злопчинский
 
19.06.23
20:46
(6) это был сарказм
21 cobra152
 
19.06.23
20:51
Ничего не законного нет, возможно мы не поняли друг друга. Приложение я делаю для своего учебного проекта. Как я себе представляю работу данного таксопарка, поступает телефонный заказ, оператор сообщает о заказе, заказ берёт один из водителей таксопарка. Водитель по окончанию рабочего дня сдаёт выручку в кассу, где 80% выручки его заработанные деньги. Остальное на содержание и развитие таксопарка. Суть приложения это хранилище данных о всех заказах, сотрудниках, автомобилях, расчёт ЗП водителей.
22 cobra152
 
19.06.23
20:51
Звучит по старинке, но это ведь не для продажи, а только в учебных целях
23 АгентБезопасной Нацио
 
19.06.23
20:52
(21) если водитель сдал деньги - это уже не водителя деньги. это кого надо деньги!©
24 cobra152
 
19.06.23
21:06
https://imgur.com/hB55z7H
Накидал вот такую вот форму. Поможете написать модуль?
25 Злопчинский
 
19.06.23
21:17
(24) для УЧЕБНОГО Проекта - надо писать самому, учиться. Если самому трудно - то обучение платное обычно. Репетиторы даром не работают... ;-)
26 Злопчинский
 
19.06.23
21:19
(24) вводить 100 документов на 100 сотрудников - нужны веские основания.
может быть так что проще: один документ за день, в ТЧ - строки по сторудникам
27 cobra152
 
19.06.23
21:26
Ну тут по факту, завтра тогда буду думать, потом отпишу как успехи.
28 Злопчинский
 
19.06.23
21:29
если один документ = один сотрудник - удобно в списке сразу искать и выводить. будет типа сразу и список и типа "отчет" плоский
29 Волшебник
 
19.06.23
21:40
(26) Тогда придётся применять циклы...
30 Злопчинский
 
20.06.23
01:08
(29) ..а в циклах - запросы...
31 cobra152
 
20.06.23
18:13
Ну я тут что-то натыкал так сказать. Но много ошибок, поможете исправить?

&НаКлиенте
Процедура РассчитатьЗаработнуюПлату(ЭлементыФормы)

Документ = ЭлементыФормы.ТекущийОбъект;
Сотрудник = Документ.Сотрудник;
ДатаРаботы = Документ.ДатаРаботы;

КоличествоЗаказов = 0;
ЗаработаннаяСумма = 0;

ВыборкаЗаказов = ВыбратьПоУсловию(Документ.Заказ,
    "ДатаЗаказа = &1 И ФИОВодителя = &2",
    ДатаРаботы, Сотрудник);

Пока ВыборкаЗаказов.Следующий() Цикл
    КоличествоЗаказов = КоличествоЗаказов + 1;
    ЗаработаннаяСумма = ЗаработаннаяСумма + ВыборкаЗаказов.СтоимостьТарифа;
КонецЦикла;

ЗаработнаяПлата = Справочники.Должности.НайтиПоНаименованию("Водитель такси").ЗаработнаяПлата;

ЗаработаннаяПлата = ЗаработаннаяСумма * ЗаработнаяПлата;

Документ.КоличествоЗаказов = КоличествоЗаказов;
Документ.ЗаработаннаяСумма = ЗаработаннаяСумма;
Документ.ЗаработаннаяПлата = ЗаработаннаяПлата;
КонецПроцедуры

&НаКлиенте
Процедура ПриИзмененииСотрудника(ЭлементыФормы)
РассчитатьЗаработнуюПлату(ЭлементыФормы);
КонецПроцедуры

&НаКлиенте
Процедура ПриИзмененииДатыРаботы(ЭлементыФормы)
РассчитатьЗаработнуюПлату(ЭлементыФормы);
КонецПроцедуры


{Документ.ЗаработнаяПлатаВодителя.Форма.ФормаДокумента.Форма(25,19)}: Переменная не определена (Справочники)
ЗаработнаяПлата = <<?>>Справочники.Должности.НайтиПоНаименованию("Водитель такси").ЗаработнаяПлата; (Проверка: Тонкий клиент)
{Документ.ЗаработнаяПлатаВодителя.Форма.ФормаДокумента.Форма(14,18)}: Процедура или функция с указанным именем не определена (ВыбратьПоУсловию)
ВыборкаЗаказов = <<?>>ВыбратьПоУсловию(Документ.Заказ, (Проверка: Тонкий клиент)
32 breezee
 
20.06.23
18:33
ЗП надо считать на периодических расчетах. Но Вас пока рано, возьмите другую задачу
33 asady
 
20.06.23
18:36
(32) то что ТС называет "зарплата"  - это скорее всего некий показатель - его можно рассчитывать на простом регистре накопления -
34 breezee
 
20.06.23
18:39
(33) Нет, тогда он не познает боль которую хотели до нас донести разработчики типового ЗУПа. 10 круг ада))
35 cobra152
 
20.06.23
18:43
я уже запутался что мне использовать и надо ли мне вообще считать зарплату или пойти придумать какую-либо другую функцию для приложения.
36 breezee
 
20.06.23
18:49
Начните с простого, приход и расход товаров, освоите больше по дороге. Может примеры найдете. Если считать ЗП правильно - это прям сложно
37 Волшебник
 
20.06.23
19:08
(36) Это скучно. Зарплата на регистрах расчёта интереснее.
38 Волшебник
 
20.06.23
19:11
(31) Выключите генератор бреда и включите мозги
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан