Предупреждения при загрузке больничных: Сотрудник уволен больше месяца назад, Сотрудник в месяце регистрации в отпуске. УПП 1.3

20.07.22

Учетные задачи - Зарплата

Это решение для УПП 1.3 (в ЗУП 2.5 и Комплексной автоматизации должно быть аналогично). Документ "Начисление по больничному листу" при нажатии на кнопку "Рассчитать" проверяется на два условия: 1) Сотрудник уволен больше месяца назад от даты начала больничного 2) В месяце больничного было начисление отпускных.

Задача от расчетчиков:

Документ "Начисление по больничному листу": при нажатии на кнопку "Рассчитать" нужно выполнить проверку на два условия

  1. Сотрудник уволен больше месяца назад от даты начала больничного 
  2. В периоде регистрации больничного были отпускные

Выдать предупреждение

Делюсь своим решением:

Процедура КнопкаРассчитатьВсеНажатие(Элемент)
	
	//МОЯ ВСТАВКА+
	СообщениеУвольнение = ПроверкаУвольнения(ДокументОбъект.Сотрудник, ДокументОбъект.ДатаНачалаСобытия);
	Если СообщениеУвольнение <> "" И СообщениеУвольнение <> Неопределено Тогда 
		Ответ = Вопрос(СообщениеУвольнение, РежимДиалогаВопрос.ДаНет);
		Если Ответ = КодВозвратаДиалога.Нет Тогда
			Возврат
		КонецЕсли;
	КонецЕсли;	

	СообщениеОтпуск = ПроверкаОтпуска(ДокументОбъект.Сотрудник, ДокументОбъект.ПериодРегистрации);
	Если СообщениеОтпуск <> "" И СообщениеОтпуск <> Неопределено Тогда 
		Ответ = Вопрос(СообщениеОтпуск, РежимДиалогаВопрос.ДаНет);
		Если Ответ = КодВозвратаДиалога.Нет Тогда
			Возврат
		КонецЕсли;
	КонецЕсли;	
	//МОЯ ВСТАВКА-
	
    // далее сохранен оригинальный код процедуры

КонецПроцедуры


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

Функция ПроверкаОтпуска(пСотрудник, пПериодРегистрации) Экспорт
	
	Результат = "";
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НачислОтпуска.Номер КАК НомерДокумента, 
		|	НачислОтпуска.Дата КАК ДатаДокумента	
		|ИЗ 
		|	Документ.НачислениеОтпускаРаботникамОрганизаций КАК НачислОтпуска
		|ГДЕ 
		|	НачислОтпуска.ПериодРегистрации = &ПериодРегистрации И
		|	НачислОтпуска.Сотрудник = &Сотрудник 
		|";
	
	Запрос.УстановитьПараметр( "Сотрудник", пСотрудник);
	Запрос.УстановитьПараметр( "ПериодРегистрации", пПериодРегистрации);
	
	РезультатЗапроса = Запрос.Выполнить();			
	Если НЕ РезультатЗапроса.Пустой() Тогда
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			Результат = пСотрудник.Наименование + " отпуск - док.№ " + ВыборкаДетальныеЗаписи.НомерДокумента + " от " +  Формат(ВыборкаДетальныеЗаписи.ДатаДокумента, "ДЛФ=Д") + 
						Символы.ПС + " Рассчитать?";
		КонецЦикла;			
	КонецЕсли;
	
	Возврат Результат;
 
КонецФункции
//МОЯ ВСТАВКА-

 

Вступайте в нашу телеграмм-группу Инфостарт

Начисление по больничному листу загрузка больничных Уволен отпуск УПП 1.3

См. также

Зарплата Роли и права Системный администратор Бухгалтер 1С v8.3 Бухгалтерский учет Управление правами 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

Расширение позволяет максимально полно ограничить доступ пользователей к данным по заработной плате, а именно закрывает доступ к документам начисления и выплаты заработной платы, не позволяет просматривать бухгалтерские отчеты по счету учета зарплаты а также убирает зарплатные проводки из журнала проводок. Расширение запрещает просматривать платежные документы на выплату зарплаты, так же не доступны регламентные отчеты в ПФР и ИФНС. Расширение предлагает готовые настроенные профили "Бухгалтер без зарплаты", "Только просмотр без зарплаты".

5940 руб.

27.05.2021    46077    354    107    

278

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

16800 руб.

01.11.2012    100354    119    1    

130

Адаптация типовых решений 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

31800 руб.

29.06.2023    9139    27    15    

35

Перенос данных 1C Зарплата Бюджетный учет Программист Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    64416    172    145    

141

Загрузка и выгрузка в Excel Зарплата Кадровый учет Бухгалтер 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "Зарплата и Управление Персоналом, редакция 3.1"/"Зарплата и кадры государственного учреждения, редакция 3.1" на платформе 8.3.

6000 руб.

15.07.2015    67455    108    51    

112

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение позволяет автоматически заполнять отдельные реквизиты загружаемых банковских документов, основываясь на известных значениях реквизитов и тексте назначения платежа. Простая настройка, широкие возможности анализа назначения платежа без написания кода и сложных шаблонов.

9600 руб.

17.06.2025    1202    3    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. user847517 3 22.07.22 13:47 Сейчас в теме
Дата увольнения является последним рабочим днем. Так что период нужно сдвигать на 1 день.
user1252779; +1 Ответить
2. Vinzor 116 26.07.22 09:49 Сейчас в теме
По пересечению с "Отпуском". Мы у себя это реализовали по данным регистра расчетов "Основные начисления", учитывая пересечение даты начала и окончания болезни с датами начала и окончания периода действия отпусков. Это более точно.
user1252779; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация