Имя: Пароль:
1C
1С v8
Передать показатель в формулу
0 mosoulin
 
01.06.18
12:48
Здравствуйте! 1С:Предприятие 8.3 (8.3.11.2867).
Хочу передать показатель(процент) в формулу надбавки. Показатель берется в зависимости от степени надбавки(высокая, средняя, низкая).  Создал документ надбавка (с выбором начисления и показателя перед проведением), регистр сведений(проценты), справочник степени надбавки. Создал начисление Надбавка (Повременная оплата труда и надбавки, Только если введено значение показателя, расчет базы - текущий, показатель Надбавка). Создал показатель Надбавка(для сотрудника. числовой,только в месяце в котором вводится, вводится единовременно документом). Формула: Надбавка / 100 * РасчетнаяБаза.
В модуле документа прописал:
  
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

    
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
    ДанныеДляПроведения = ПолучитьДанныеДляПроведения();
    РасчетЗарплаты.СформироватьДвиженияПлановыхНачислений(ЭтотОбъект, Движения, ДанныеДляПроведения);
КонецПроцедуры



Функция ПолучитьДанныеДляПроведения()
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Дата КАК ДатаСобытия,
        |    ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ГрафикРаботыНадбавкиРаботаНадбавки.Дата, ДЕНЬ), СЕКУНДА, 1) КАК ДействуетДо,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Сотрудник.ГоловнаяОрганизация КАК ГоловнаяОрганизация,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Сотрудник КАК Сотрудник,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Ссылка.Начисление КАК Начисление,
        |    ИСТИНА КАК Используется,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Ссылка КАК ДокументОснование
        |ИЗ
        |    Документ.ГрафикРаботыНадбавки.РаботаНадбавки КАК ГрафикРаботыНадбавкиРаботаНадбавки
        |ГДЕ
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Ссылка = &Ссылка
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Дата КАК ДатаСобытия,
        |    ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(ГрафикРаботыНадбавкиРаботаНадбавки.Дата, ДЕНЬ), СЕКУНДА, 1) КАК ДействуетДо,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Ссылка.Организация КАК Организация,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Сотрудник.ФизическоеЛицо КАК ФизическоеЛицо,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Сотрудник КАК Сотрудник,
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Ссылка.Показатель КАК Показатель,
        |    ПроцентыНадбавок.ПроцентНадбавки КАК Значение
        |ИЗ
        |    Документ.ГрафикРаботыНадбавки.РаботаНадбавки КАК ГрафикРаботыНадбавкиРаботаНадбавки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПроцентыНадбавок КАК ПроцентыНадбавок
        |        ПО ГрафикРаботыНадбавкиРаботаНадбавки.СтепеньНадбавки = ПроцентыНадбавок.СтепеньНадбавки
        |ГДЕ
        |    ГрафикРаботыНадбавкиРаботаНадбавки.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    РезультатЗапроса = Запрос.ВыполнитьПакет();
    ДанныеДляПроведения = Новый Структура;
    // Набор данных для формирования плановых начислений
    ПлановыеНачисления = РезультатЗапроса[0].Выгрузить();
    ДанныеДляПроведения.Вставить("ДанныеОПлановыхНачислениях",ПлановыеНачисления);
    // Набор данных для формирования показателей
    ЗначенияПоказателей = РезультатЗапроса[1].Выгрузить();
    ДанныеДляПроведения.Вставить("ЗначенияПоказателей",ЗначенияПоказателей);
Возврат ДанныеДляПроведения;

КонецФункции;
#КонецЕсли


При проведения документа, в регистре Значения периодических показателей расчета зарплаты(для сотрудников) у сотрудника ставится нужный процент, т.е. регистрируется. При создании документа Начисление зарплаты: создается начисление надбавка, ставится указанный день, берется расчетная база за нужный день, а показатель туда не прилетает, т.е ноль.
Подскажите, пожалуйста, где искать ошибку.
1 anatoly
 
01.06.18
13:29
(0) если:
"Создал показатель Надбавка(для сотрудника. числовой,только в месяце в котором вводится, вводится единовременно документом)."

должен быть разовый показатель а не периодический!

учить матчасть вобщем..
2 mosoulin
 
01.06.18
13:54
Спасибо, только учусь.