Как сбросить флаг ручной правки расчетов выбранного сотрудника, кроме указанных расчетов В примере обнуляется флаг ручной правки расчетов выбранного сотрудника, кроме
расчетов с ВР ПремияСум, для которых, наоборот, вносится ручная правка результата.
Новая величина премии равна 1250 руб. Попутно выполняется расчет записей,
с которых снимется флаг ручной правки.
Код 1C v 7.x сСотр_2 = СоздатьОбъект("Справочник.Сотрудники");
// Метод Выбрать вызывает диалог для выбора элемента справочника
// Если сотрудник не выбран
если сСотр_2.Выбрать("Выберите сотрудника", "ФормаДляВыбора") = 0 тогда
Предупреждение("Сотрудник не выбран.");
возврат;
конецЕсли;
// Выбран Агальцов Ю. А.
жз = СоздатьОбъект("ЖурналРасчетов.Зарплата");
жз.ВыбратьПериодПоОбъекту(сСотр_2.ТекущийЭлемент());
ВР = ВидРасчета.ПремияСум;
пока жз.ПолучитьЗапись() = 1 цикл
если (жз.Исправлена = 1) и (жз.ВидРасч = ВР) тогда
жз.ОтменитьИсправление(); // Снимаем флаг ручной правки результата
жз.Рассчитать(); // Рассчитываем запись
конецЕсли;
если жз.ВидРасч = ВР тогда
жз.Исправить( 1250.0);
конецЕсли;
конецЦикла; // пока
Предупреждение("Готово.");
конецПроцедуры
Категория:
Журналы расчетов Как определить сумму "по окладу" текущего сотрудника Код 1C v 7.x ПоОкладу = 0;
ЖЗ = СоздатьОбъект("ЖурналРасчетов.Зарплата");
ДатаНач = '01.01.2002';
ЖЗ. ВыбратьПериодПоОбъекту(ТекСотр, ДатаНач);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
Если ЖЗ.ВидРасч = ВидРасчета.ПоОкладу Тогда
ПоОкладу = ПоОкладу + ЖЗ.Результат;
КонецЕсли;
КонецЦикла;
Категория:
Виды расчетов Расчет начислений по сотруднику, подразделени, документу Код 1C v 7.x // Посчитаем все начисления текущего сотрудника за январь:
ВсегоНачислено = 0;
ЖЗ.ВыбратьЗаписиПоОбъекту (ТекСотр, ДатаНач, ДатаКон);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
Если ЖЗ.ВидРасч.ВходитВГруппу(ГруппаРасчетов.ВсеНачисления)=1 Тогда
ВсегоНачислено = ВсегоНачислено + ЖЗ.Результат;
КонецЕсли;
КонецЦикла;
// Теперь рассчитаем все записи текущего сотрудника, введеные в текущем месяце:
ЖЗ.ВыбратьПериодПоОбъекту (ТекСотр, ДатаНач);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
ЖЗ.Рассчитать();
КонецЦикла;
/// Рассчитаем все записи по документу, независимо от того, в каком расчетном периоде записи порождались:
ЖЗ.ВыбратьЗаписиПоДокументу (ВыбрДокумент);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
ЖЗ.Рассчитать();
КонецЦикла;
// Рассчитаем все записи по указанному подразделению. В журнале расчетов указана графа отбора "Подразделение".
ТекПер = ЖЗ.ТекущийПериод();
ЖЗ.ВыбратьПоЗначению ("Подразделение",ВыбрПодразделение, ТекПер, ТекПер);
Пока ЖЗ.ПолучитьЗапись()=1 Цикл
ЖЗ.Рассчитать();
КонецЦикла;
Категория:
Журналы расчетов