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

20.07.22

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

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

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

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

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

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

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

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

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

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


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

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

 

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

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

См. также

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

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

5940 руб.

27.05.2021    49058    392    119    

300

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

Расширение для создания и настройки обмена с консолидированной базой ЗУП. Код разработки под определенные требования проекта.

84000 руб.

11.07.2025    1246    2    0    

1

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

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

31800 руб.

29.06.2023    10087    30    15    

38

SALE! 50%

Зарплата Регламентированный учет и отчетность Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Здравоохранение, медицина, стоматология Россия Платные (руб)

Подсистема (расширение) конфигурации Зарплата и кадры государственного учреждения, редакция 3.1 для формирования формы №30 федерального статистического наблюдения "Сведения о медицинской организации" в редакции Приказов Росстата I) от 30.12.2020 №863, II) от 27.12.2022 N 985, III) от 25.12.2023 N 681 и IV) от 29.11.2025 №594.

18000 12600 руб.

26.10.2021    18628    23    13    

19

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

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

12000 руб.

28.07.2016    66170    176    148    

144

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9000 руб.

02.08.2023    6755    24    5    

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