1С бухгалтерия

Бывает, что необходимо посчитать зарплату за прошлый период в текущем расчетном периоде. При чем расчитать зарплату только тем, кому по той или иной причине она не была начислена в положенное время. Это особенно важно, если расчет производится по всему предприятию или по какому-либо подразделению. В ЗУП-е же (по крайней мере в конфигурации с бюджетными доработками фирмы АРБИС) расчет за прошлый период производится всем сотрудникам независимо от того была раньше начислена зарплата или нет.

Для решения данной ситуации предлагаю слегка подправить модуль документа НачислениеЗарплатыРаботникамОрганизаций:

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

Т.е. надо добавить дополнительное условие ИЛИ ОсновныеНачисления.ПериодРегистрации = НАЧАЛОПЕРИОДА(&парамНачало,ДЕНЬ). В этом запросе ищутся былые начисления зарплаты и если таковые по тому или иному сотруднику найдены, то данному сотру зарплата в текущем периоде (&парамПериодРегистрации) начисляться уже не будет. А так как мы начисляем за прошлый период, то соответственно ОсновныеНачисления.ПериодРегистрации у нас будет меньше чем текущий период начисления (&парамПериодРегистрации). При простом условии ОсновныеНачисления.ПериодРегистрации = &парамПериодРегистрации программа естественно не видела старых начислений и начисляла всем сотрудникам зарплату во второй раз.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <1c7>, <drupal5>, <drupal6>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".