Предупреждения при загрузке больничных: Сотрудник уволен больше месяца назад, Сотрудник в месяце регистрации в отпуске. УПП 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.х Молдова Россия Казахстан Бухгалтерский учет Платные (руб)

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

9675 руб.

27.05.2021    54599    463    127    

329

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

122000 руб.

19.08.2020    29225    27    3    

28

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

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

18800 руб.

01.11.2012    105963    131    1    

140

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

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

32330 руб.

29.06.2023    11814    36    15    

42

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

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

85400 руб.

11.07.2025    5334    3    1    

3

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

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

12200 руб.

28.07.2016    69611    190    158    

156

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.

21960 руб.

26.10.2021    20482    29    13    

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