Где исправить количество дней в квартале с 91 на 92?
Функция СведенияОВнешнейОбработке() Экспорт
РегистрационныеДанные = Новый Структура;
РегистрационныеДанные.Вставить("БезопасныйРежим",Ложь);
РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");
РегистрационныеДанные.Вставить("Наименование", "Пересчитать премию с вычетом неявок");
РегистрационныеДанные.Вставить("Версия", "1.0");
РегистрационныеДанные.Вставить("Информация", "Пересчитать премию с вычетом неявок");
РегистрационныеДанные.Вставить("Назначение", РегистрационныеДанные.Наименование);
ТЗКоманд = Новый ТаблицаЗначений;
ТЗКоманд.Колонки.Добавить("Идентификатор");
ТЗКоманд.Колонки.Добавить("Представление");
ТЗКоманд.Колонки.Добавить("Модификатор");
ТЗКоманд.Колонки.Добавить("ПоказыватьОповещение");
ТЗКоманд.Колонки.Добавить("Использование");
СтрокаКоманды = тзКоманд.Добавить();
СтрокаКоманды.Идентификатор = Новый УникальныйИдентификатор;
СтрокаКоманды.Представление = РегистрационныеДанные.Наименование;
СтрокаКоманды.ПоказыватьОповещение = Истина;
СтрокаКоманды.Использование = "ОткрытиеФормы";
РегистрационныеДанные.Вставить("Команды", ТЗКоманд);
Возврат РегистрационныеДанные;
КонецФункции
функция получитьКоэф(график,конКв)
запрос = новый запрос;
запрос.Текст =
"ВЫБРАТЬ
| СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначение) КАК ДополнительноеЗначение,
| СУММА(ГрафикиРаботыПоВидамВремени.ДополнительноеЗначениеНорма) КАК ДополнительноеЗначениеНорма
|ИЗ
| РегистрСведений.ГрафикиРаботыПоВидамВремени КАК ГрафикиРаботыПоВидамВремени
|ГДЕ
| ГрафикиРаботыПоВидамВремени.ГрафикРаботы = &ГрафикРаботы
| И ГрафикиРаботыПоВидамВремени.Дата МЕЖДУ &НачПериода И &КонПериода
| И ГрафикиРаботыПоВидамВремени.ВидУчетаВремени = &ВидУчетаВремени"
;
запрос.УстановитьПараметр("ГрафикРаботы", график);
запрос.УстановитьПараметр("НачПериода", началоКвартала(конКв));
запрос.УстановитьПараметр("КонПериода",конКв);
запрос.УстановитьПараметр("ВидУчетаВремени", Справочники.ВидыИспользованияРабочегоВремени.РабочееВремя);
рез = запрос.Выполнить().Выбрать();
если рез.Следующий() тогда
возврат ?(рез.ДополнительноеЗначениеНорма = 0,1, Окр(рез.ДополнительноеЗначение/рез.ДополнительноеЗначениеНорма,1) );
конецЕсли;
конецФункции
функция получитьОклад(сотрудник, конКв)
Запрос = Новый Запрос;
Запрос.Текст =
//"ВЫБРАТЬ
//| ПлановыеНачисленияРаботниковОрганизаций.Показатель1
//|ИЗ
//| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
//| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
//| МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизаций.Период) КАК Период,
//| ПлановыеНачисленияРаботниковОрганизаций.Сотрудник КАК Сотрудник,
//| ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета КАК ВидРасчета
//| ИЗ
//| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций
//| ГДЕ
//| ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета В(&ВидыРасчета)
//| И ПлановыеНачисленияРаботниковОрганизаций.Период <= &ДатаСреза
//| И ПлановыеНачисленияРаботниковОрганизаций.Сотрудник = &ссылка
//|
//| СГРУППИРОВАТЬ ПО
//| ПлановыеНачисленияРаботниковОрганизаций.Сотрудник,
//| ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета) КАК ВложенныйЗапрос
//| ПО ПлановыеНачисленияРаботниковОрганизаций.Период = ВложенныйЗапрос.Период
//| И ПлановыеНачисленияРаботниковОрганизаций.Сотрудник = ВложенныйЗапрос.Сотрудник
//| И ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета = ВложенныйЗапрос.ВидРасчета
//|ГДЕ
//| ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета В(&ВидыРасчета)
//| И ПлановыеНачисленияРаботниковОрганизаций.Сотрудник = &ссылка";
"ВЫБРАТЬ
| ПлановыеНачисленияСрезПоследних.Размер КАК Показатель1
|ИЗ
//| РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
| РегистрСведений.ПлановыеНачисления.СрезПоследних(
| &ДатаСреза,
| Сотрудник = &Ссылка) КАК ПлановыеНачисленияСрезПоследних
|ГДЕ
| ПлановыеНачисленияСрезПоследних.Используется И ПлановыеНачисленияСрезПоследних.ДействуетДо <= &ДатаСреза
//| ВЫБОР
//| КОГДА ПлановыеНачисленияСрезПоследних.Действие = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
//| И ПлановыеНачисленияСрезПоследних.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.ПустаяСсылка)
//| ТОГДА ЛОЖЬ
//| КОГДА ПлановыеНачисленияСрезПоследних.Действие = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
//| И ПлановыеНачисленияСрезПоследних.ДействиеЗавершения <> ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.ПустаяСсылка)
//| И &ДатаСреза < ПлановыеНачисленияСрезПоследних.ПериодЗавершения
//| ТОГДА ЛОЖЬ
//| КОГДА ПлановыеНачисленияСрезПоследних.ДействиеЗавершения = ЗНАЧЕНИЕ(Перечисление.ВидыДействияСНачислением.Прекратить)
//| И &ДатаСреза >= ПлановыеНачисленияСрезПоследних.ПериодЗавершения
//| ТОГДА ЛОЖЬ
//| ИНАЧЕ ИСТИНА
//| КОНЕЦ
//| И ПлановыеНачисленияСрезПоследних.ВидРасчета В(&ВидыРасчета)";
| И ПлановыеНачисленияСрезПоследних.Начисление.КатегорияНачисленияИлиНеоплаченногоВремени = Значение(Перечисление.КатегорииНачисленийИНеоплаченногоВремени.ПовременнаяОплатаТруда)
| ";
СтрПоиск = Новый Структура();
СтрПоиск.Вставить("Сотрудник", Сотрудник);
СтрПоиск.Вставить("ФизическоеЛицо", Сотрудник.ФизическоеЛицо);
СтрПоиск.Вставить("ГоловнаяОрганизация", Сотрудник.ГоловнаяОрганизация);
СтрПоиск.Вставить("ТекущаяОрганизация", Сотрудник.ГоловнаяОрганизация);
ТекРег = РегистрыСведений.ТекущиеКадровыеДанныеСотрудников.Получить(СтрПоиск);
ТекДатаУвольнения = ТекРег.ДатаУвольнения;
Запрос.УстановитьПараметр("ДатаСреза", ?( значениеЗаполнено(ТекДатаУвольнения),ТекДатаУвольнения - 1,конКв));
Запрос.УстановитьПараметр("Ссылка", сотрудник);
//список = новый списокЗначений;
//список.Добавить(планыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоДням);
//список.Добавить(планыВидовРасчета.ОсновныеНачисленияОрганизаций.ОкладПоЧасам);
//запрос.УстановитьПараметр("ВидыРасчета", список);
рез = Запрос.Выполнить().Выбрать();
стрРег = регистрыСведений.ГрафикРаботыСотрудников.ПолучитьПоследнее(?( значениеЗаполнено(ТекДатаУвольнения),ТекДатаУвольнения - 1,конКв), новый структура("Сотрудник",сотрудник));
СтрПоиск.Удалить("ТекущаяОрганизация");
ТекРег = регистрыСведений.КадроваяИсторияСотрудников.Получить(КонКв,СтрПоиск);
КоличествоСтавок = ТекРег.КоличествоСтавок;
КоличествоСтавок = ?(ЗначениеЗаполнено(КоличествоСтавок), КоличествоСтавок, 1);
коэфГрафика = 1;
если не стрРег.Количество() = 0 тогда
график = стрРег.ГрафикРаботы;
ставка = 1;
если график.наименование = "Суммированный учет" или КоличествоСтавок<>1 и график.наименование = "Основной график" тогда /// у них оклад стоит полный, оплата регулируется отработанными часами по табелю
ставка = КоличествоСтавок;
конецЕсли;
коэфГрафика = получитьКоэф(график, конКв) * ставка;
конецЕсли;
если рез.Следующий() тогда
//сообщить(""+сотрудник+" "+рез.показатель1+ " "+ коэфГрафика );
возврат рез.показатель1*коэфГрафика;
иначе
конецЕсли;
КонецФункции
процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) экспорт
//ЕБТ
//для каждого стр из объект.ДополнительныеНачисления цикл
начКв = началоКвартала(Объект.ДатаНачалаБазовогоПериода) ;
конКв = конецКвартала(Объект.ДатаОкончанияБазовогоПериода) ;
днейКв = Цел((конКв-начКв) /(60*60*24))+1;
для каждого стр из объект.Начисления цикл
//----
//если стр.ФиксРасчет тогда
// продолжить;
//конецЕсли;
//начКв = началоКвартала(стр.ДатаНачала) ;
//конКв = конецКвартала(стр.ДатаОкончания) ;
//днейКв = Цел((конКв-начКв) /(60*60*24))+1;
//ЕБТ
стр.Результат = получитьОклад(стр.сотрудник, конКв);
//стр.показатель1 = получитьОклад(стр.сотрудник, конКв);
//----
если Объект.ДатаНачалаБазовогоПериода <> начКв или конецДня(Объект.ДатаОкончанияБазовогоПериода) <> конКв или стр.результат = 0 тогда
дней =Цел((конецДня(Объект.ДатаОкончанияБазовогоПериода) - Объект.ДатаНачалаБазовогоПериода) /(60*60*24))+1;
Иначе
дней=днейКв;
КонецЕсли;
//если стр.датаНачала <> начКв или конецДня(стр.ДатаОкончания) <> конКв или стр.результат = 0 тогда
// дней =Цел((конецДня(стр.ДатаОкончания) - стр.ДатаНачала) /(60*60*24))+1;
//Иначе
// дней=днейКв;
//КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВЫБОР
| КОГДА СостояниеРаботниковОрганизаций.Период < &НачалоКвартала
| ТОГДА &НачалоКвартала
| ИНАЧЕ СостояниеРаботниковОрганизаций.Период
| КОНЕЦ КАК НачалоНеявки,
| СостояниеРаботниковОрганизаций.Сотрудник КАК Сотрудник,
| ВЫБОР
| КОГДА СостояниеРаботниковОрганизаций.ДействуетДо > &КонецКвартала
| ТОГДА &КонецКвартала
| ИНАЧЕ ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.ДействуетДо, ДЕНЬ, -1)
| КОНЕЦ КАК КонецНеявки,
| СостояниеРаботниковОрганизаций.Состояние КАК Состояние
|ПОМЕСТИТЬ Неявки
|ИЗ
| РегистрСведений.СостоянияСотрудников КАК СостояниеРаботниковОрганизаций
|ГДЕ
| (СостояниеРаботниковОрганизаций.ДействуетДо >= &НачалоКвартала
| И СостояниеРаботниковОрганизаций.ДействуетДо <= &КонецКвартала
| ИЛИ СостояниеРаботниковОрганизаций.Период >= &НачалоКвартала
| И СостояниеРаботниковОрганизаций.Период <= &КонецКвартала
| ИЛИ СостояниеРаботниковОрганизаций.Период <= &НачалоКвартала
| И СостояниеРаботниковОрганизаций.ДействуетДо >= &КонецКвартала)
| И СостояниеРаботниковОрганизаций.Сотрудник = &Сотрудник
| И СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Болезнь)
| И СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Работа)
| И СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Командировка)
| И СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ОтсутствиеПоНевыясненнымПричинам)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА СостояниеРаботниковОрганизацийБолеет.Период < &НачалоКвартала
| ТОГДА &НачалоКвартала
| ИНАЧЕ СостояниеРаботниковОрганизацийБолеет.Период
| КОНЕЦ,
| СостояниеРаботниковОрганизацийБолеет.Сотрудник,
| МИНИМУМ(ВЫБОР
| КОГДА ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.Период, ДЕНЬ, -1) > &КонецКвартала
| ИЛИ ЕСТЬNULL(СостояниеРаботниковОрганизаций.Период, 0) = 0
| ТОГДА &КонецКвартала
| ИНАЧЕ ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.Период, ДЕНЬ, -1)
| КОНЕЦ),
| СостояниеРаботниковОрганизацийБолеет.Состояние
|ИЗ
| РегистрСведений.СостоянияСотрудников КАК СостояниеРаботниковОрганизацийБолеет
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияСотрудников КАК СостояниеРаботниковОрганизаций
| ПО СостояниеРаботниковОрганизацийБолеет.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
| И (ВЫБОР
| КОГДА СостояниеРаботниковОрганизацийБолеет.Период < &НачалоКвартала
| ТОГДА &НачалоКвартала
| ИНАЧЕ СостояниеРаботниковОрганизацийБолеет.Период
| КОНЕЦ < ВЫБОР
| КОГДА ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.Период, ДЕНЬ, -1) > &КонецКвартала
| ТОГДА &КонецКвартала
| ИНАЧЕ ДОБАВИТЬКДАТЕ(СостояниеРаботниковОрганизаций.Период, ДЕНЬ, -1)
| КОНЕЦ)
| И (СостояниеРаботниковОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Работа))
| И (СостояниеРаботниковОрганизаций.Период >= &НачалоКвартала
| И СостояниеРаботниковОрганизаций.Период <= &КонецКвартала
| ИЛИ СостояниеРаботниковОрганизацийБолеет.Период >= &НачалоКвартала
| И СостояниеРаботниковОрганизацийБолеет.Период <= &КонецКвартала
| ИЛИ СостояниеРаботниковОрганизацийБолеет.Период <= &НачалоКвартала
| И СостояниеРаботниковОрганизаций.Период >= &КонецКвартала)
|ГДЕ
| СостояниеРаботниковОрганизацийБолеет.Сотрудник = &Сотрудник
| И СостояниеРаботниковОрганизацийБолеет.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.Болезнь)
| И СостояниеРаботниковОрганизацийБолеет.Период <= &КонецКвартала
| И НЕ(ЕСТЬNULL(СостояниеРаботниковОрганизаций.Период, 0) = 0
| И СостояниеРаботниковОрганизацийБолеет.Период < &НачалоКвартала)
|
|СГРУППИРОВАТЬ ПО
| ВЫБОР
| КОГДА СостояниеРаботниковОрганизацийБолеет.Период < &НачалоКвартала
| ТОГДА &НачалоКвартала
| ИНАЧЕ СостояниеРаботниковОрганизацийБолеет.Период
| КОНЕЦ,
| СостояниеРаботниковОрганизацийБолеет.Сотрудник,
| СостояниеРаботниковОрганизацийБолеет.Состояние
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ВЫБОР
| КОГДА СостояниеРаботниковОрганизаций.Период < &НачалоКвартала
| ТОГДА &НачалоКвартала
| ИНАЧЕ СостояниеРаботниковОрганизаций.Период
| КОНЕЦ,
| СостояниеРаботниковОрганизаций.Сотрудник,
| &КонецКвартала,
| СостояниеРаботниковОрганизаций.Состояние
|ИЗ
| РегистрСведений.СостоянияСотрудников КАК СостояниеРаботниковОрганизаций
|ГДЕ
| СостояниеРаботниковОрганизаций.Период <= &КонецКвартала
| И СостояниеРаботниковОрганизаций.Сотрудник = &Сотрудник
| И СостояниеРаботниковОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ОтсутствиеПоНевыясненнымПричинам)
| И СостояниеРаботниковОрганизаций.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| Неявки.Сотрудник КАК Сотрудник,
| Неявки.НачалоНеявки КАК НачалоНеявки,
| Неявки.КонецНеявки КАК КонецНеявки,
| Неявки.Состояние КАК Состояние,
| РАЗНОСТЬДАТ(Неявки.НачалоНеявки, Неявки.КонецНеявки, ДЕНЬ) + 1 КАК КоличествоДнейНеявок
|ПОМЕСТИТЬ ТаблКолНеявок
|ИЗ
| Неявки КАК Неявки
|ГДЕ
| ЕСТЬNULL(Неявки.Сотрудник, 0) <> 0
| И Неявки.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ОтпускОсновной)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Неявки.Сотрудник,
| Неявки.НачалоНеявки,
| Неявки.КонецНеявки,
| Неявки.Состояние,
| СУММА(ВЫБОР
| КОГДА РегламентированныйПроизводственныйКалендарь.ВидДня <> ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник)
| ТОГДА 1
| ИНАЧЕ 0
| КОНЕЦ)
|ИЗ
| РегистрСведений.ДанныеПроизводственногоКалендаря КАК РегламентированныйПроизводственныйКалендарь
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Неявки КАК Неявки
| ПО РегламентированныйПроизводственныйКалендарь.Дата >= Неявки.НачалоНеявки
| И РегламентированныйПроизводственныйКалендарь.Дата <= Неявки.КонецНеявки
|ГДЕ
| ЕСТЬNULL(Неявки.Сотрудник, 0) <> 0
| И Неявки.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияСотрудника.ОтпускОсновной)
|
|СГРУППИРОВАТЬ ПО
| Неявки.Сотрудник,
| Неявки.НачалоНеявки,
| Неявки.КонецНеявки,
| Неявки.Состояние
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ТаблКолНеявок.Сотрудник КАК Сотрудник,
| СУММА(ТаблКолНеявок.КоличествоДнейНеявок) КАК КоличествоНеявок
|ИЗ
| ТаблКолНеявок КАК ТаблКолНеявок
|
|СГРУППИРОВАТЬ ПО
| ТаблКолНеявок.Сотрудник";
//Запрос.УстановитьПараметр("НачалоКвартала", стр.ДатаНачала);
//Запрос.УстановитьПараметр("КонецКвартала", стр.ДатаОкончания);
Запрос.УстановитьПараметр("НачалоКвартала", Объект.ДатаНачалаБазовогоПериода);
Запрос.УстановитьПараметр("КонецКвартала", Объект.ДатаОкончанияБазовогоПериода);
Запрос.УстановитьПараметр("Сотрудник", стр.Сотрудник);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
ВыборкаДетальныеЗаписи.Следующий();
КоличествоНеявок=ВыборкаДетальныеЗаписи.КоличествоНеявок;
Если НЕ ЗначениеЗаполнено(КоличествоНеявок) Тогда
КоличествоНеявок=0;
КонецЕсли;
//ЕБТ
стр.результат = стр.Результат / днейКв * ?( дней<КоличествоНеявок,0,(дней-КоличествоНеявок));
//стр.результат = стр.показатель1 / днейКв * ?( дней<КоличествоНеявок,0,(дней-КоличествоНеявок));
//----
конецЦикла;
Объект.Записать(РежимЗаписиДокумента.Запись);
Объект.Записать(РежимЗаписиДокумента.Проведение);
конецПроцедуры
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
причина данная обработка рассчитывает квартальную премию,и бухгалтерия утверждает что обработка отрабатывает не верно, и надо указать 92 дня в квартале место 91,хотя как я понимаю количество дней берется в зависимости от указанного периода
(6) Постарайтесь разобраться самостоятельно, действительно ли типовая конфигурация считает неправильно (а это также возможно благодаря ошибкам релиза), либо считает правильно, но у вас какой-то особенный учет, где теоретически, действительно нужно прибавлять один день к кварталу, либо третий вариант - бухгалтерия втирает вам какую-то дичь про 92 дня. Исходя из этого Вам уже нужно действовать, потому как если вы просто добавите один день в функционале, то возможно где-то он вылезет лишним, никто этого не заметит, людям уйдет лишняя оплата, а крайним останетесь Вы..
Ну в каждом квартале разное количество дней причем разное по годам....
Если обработка неверно считает рабочие дни , то нужно просто заставить ее считать правильно, а не заменить 91 вместо 92...
А в следующем квартале она снова накосячит?
Тогда просто выведите на форму реквизит РабочихДнейВКвартале и подставляйте куда надо....
Если обработка неверно считает рабочие дни , то нужно просто заставить ее считать правильно, а не заменить 91 вместо 92...
А в следующем квартале она снова накосячит?
Тогда просто выведите на форму реквизит РабочихДнейВКвартале и подставляйте куда надо....
Да проблема в том что бухгалтерия реально не понимает что хочет,а расчет квартальной премии у нас не стандартный поэтому и пользуюсь этой обработкой,расчет происходит в зависимости от оклада с учетом выхода на рабочее место(то есть должны вычитаться дни отпуска,больничных,и тд)
(9) была подобная задача. у нас часть начислений рассчитывается в зависимости от отработанного времени. Через стандартные показатели ВремяВДнях, ВремяВЧасах и т.п. решить не получилось. Отрабатывали не так как хотелось бы.
Задачу решили следующим образом: Ввели показатель - КоэффициентОтработанногоВремени, который заполняется в документе "Данные для расчета зарплаты" и участвует в начислениях месяца.
Для заполнения сделал в расширении кнопку, которая автоматом все рассчитывает, но если расчетчик не согласен, он может вручную изменить значение показателя.
Если интересует, кодом поделюсь.
Задачу решили следующим образом: Ввели показатель - КоэффициентОтработанногоВремени, который заполняется в документе "Данные для расчета зарплаты" и участвует в начислениях месяца.
Для заполнения сделал в расширении кнопку, которая автоматом все рассчитывает, но если расчетчик не согласен, он может вручную изменить значение показателя.
Если интересует, кодом поделюсь.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот