Показать сообщение отдельно
Старый 23.03.2019, 11:45 Автор темы   [включить плавающее окно] #20
По умолчанию Re: 1C, конфигурации - нужна помощь

в итоге нашел для себя программу ) работает и функционал хороший, но опять в ней проблема, она умеет считать % от сделанной работы, НО мне надо, чтоб ЗП начислялась с разным % по разному виду работ одним сотрудником

на данный момент она считает заданный % от всех работ, без учета групп номенклатуры (
тут предложили

Цитата:
Например прямо в алгоритме нельзя указать, для какой группы номенклатуры он действует.

Но можно написать алгоритм вообще со своим запросом и в процедуре всё предусмотреть.

например вот так:
Код:
   Запрос = Новый Запрос;
            Запрос.Текст = "ВЫБРАТЬ
                           |    СУММА(ВЫБОР
                           |            КОГДА ЗаказНарядыОбороты.Работа В (&Шинка)
                           |                ТОГДА ЗаказНарядыОбороты.СуммаРаботОборот * 0.35
                           |            КОГДА ЗаказНарядыОбороты.Работа В (&Слесарка)
                           |                ТОГДА ЗаказНарядыОбороты.СуммаРаботОборот * 0.5
                           |            КОГДА ЗаказНарядыОбороты.Работа В (&Развал)
                           |                ТОГДА ЗаказНарядыОбороты.СуммаРаботОборот * 0.4
                           |            ИНАЧЕ ЗаказНарядыОбороты.СуммаРаботОборот * 0.4
                           |        КОНЕЦ) КАК СуммаРабот
                           |ИЗ
                           |    РегистрНакопления.ЗаказНаряды.Обороты(
                           |            &Дата1,
                           |            &Дата2,
                           |            ,
                           |            ЗаказНаряд.СтатусЗН <> ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказНаряда.ВРаботе)
                           |                И Механик.Контрагент = &Механик) КАК ЗаказНарядыОбороты";
            Запрос.УстановитьПараметр("Механик",Стр.Контрагент);
            Запрос.УстановитьПараметр("Дата1",НачалоДня(Дата));
            Запрос.УстановитьПараметр("Дата2",КонецДня(Дата));
            Запрос.УстановитьПараметр("Шинка",Справочники.Работы.НайтиПоКоду("10022"));
            Запрос.УстановитьПараметр("Слесарка",Справочники.Работы.НайтиПоКоду("10021"));
            Запрос.УстановитьПараметр("Развал",Справочники.Работы.НайтиПоКоду("10023"));
            Результат = Запрос.Выполнить();
            Выборка = Результат.Выбрать();
            Если Выборка.Следующий() Тогда
                Стр.Сумма=Выборка.СуммаРабот;
            КонецЕсли;
вот что может программа, вернее можно задать алгаритм подсчета зарплаты

Цитата:
"Переменные доступные, когда алгоритм
По выработке механиков:"

Оклад Оклад из договора контрагента
Класс Класс механика из карточки механика
НЧВсего Количество нормо часов выработанных механиком
НЧФакт Фактическое количество нормо часов выработанных механиком
СуммРаб Стоимость работ выполненных механиком
СуммБСРаб Стоимость работ выполненных механиком без учета скидки
СуммЗап Сумма запчастей проданных совместно с работами по механику
СуммБСЗап Сумма запчастей проданных совместно с работами по механику без учета скидки


Пример алгоритма:
ЗП=СуммРаб*Класс/100+Оклад
для расчета с % можно записать так
Цитата:
если сотрудник получает половину от суммы работ, то алгоритм такой
ЗП=СуммРаб*0.5
а мне надо суммаработшиномонтаж*035 + суммаработразвар*0,40+суммар аботслесарка*0,50

что-то типа такого

короче нужна помощь (

вот конфигурация

Добавлено через 12 минут
PS вот дебил ) не разобрался а уже в панике супер прога !!!! считает как надо !!! и по механикам и по видам работ, и по контр агентам, и если заказ оплачен

долго я искал, ох как долго )))) она и продает запчасти, может работать как магазин, подключаются фискальник, сканер, работает система скидок и карт

ну наконец-то !!!!!!
__________________
Сколько бы обо мне ни говорили плохого, мне всегда есть, что добавить.

Последний раз редактировалось H_3; 23.03.2019 в 11:45. Причина: Добавлено сообщение
  Ответить с цитированием