Решение проблемы автоматического утверждения расчета кадровиком документов. Разграничение прав кадровиков и расчетчиков. ЗУП 3.1

20.07.18

Учетные задачи - Кадровый учет

Статья посвящена тем, кто столкнулся с проблемой автоматической установки "Расчет утвердил". Также рассматривается решение проблемы с отображением ФОТ и оклада у кадровика. Добавление роли ЧтениеДанныхДляНачисленияЗарплатыРасширенная кадровику без последствий для расчетчика.

Вечная проблема – выяснение, кто прав, между кадровиками и бухгалтерией. Наверняка  есть организации, где этой проблемы не существует, но я еще такой компании не встречал. Проблемы обостряются после перехода с ЗУП 2.5 на ЗУП 3.1.

Дело в том, что разработчик конфигурации убрал разделение между документами кадровыми и документами начисления. Грубо говоря – в ЗУП 3.1 кадровый документ это документ и для расчетчика. То есть и расчетчики, и кадровики пользуются одними и теми же документами. Кадровик видит свою часть, которая необходима ему для работы, а расчетчик видит свою часть. Разработчик поделил функциональность и дал возможность регулировать ее в «Профиле групп доступа»(Ролями). Все бы ничего, но есть небольшие проблемы:

  1. Кадровикам нужен доступ к печати «Справки расчета».
  2. Кадровикам нужна возможность изменять начисления в кадровых переводах.
  3. Кадровикам нужна возможность посмотреть начисляемый ФОТ и размер аванса.

Все эти возможности у кадровиков есть, но только при включенных ролях «ЧтениеДанныхДляНачисленияЗарплатыРасширенная» или «ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная».  Вроде бы добавь в «Профиль групп доступа» кадровику эти роли и все будет работать, а нет!  

При включении любой из этих ролей в набор прав «Кадровика» появляется одна особенность – в некоторых документах автоматически рассчитывается средний заработок и устанавливается галочка «Расчет утвердил». То есть при включенных ролях кадровик,  формируя отпуск сотруднику, при создании самого документа автоматом устанавливается галочка «Расчет утвердил», а так же рассчитывается средний заработок, плюс открывается вкладка «Начислено (подробно)».  Далее расчетчик в своем списке документов уже видит, что документ рассчитан (документ не выделен жирным цветом) и не обрабатывает его. Так же бывает так, что расчетчик, рассчитав зарплату за месяц (Бывает хуже, если уже выплатили зарплату),  обнаруживает, перерасчет некоторых сотрудников (Оказывается, что кадровики задним числом провели отпуск или командировку или же оклад поменяли кому либо). Расчетчик в недоумении откуда разность в начислении и выплате щелкает по всем отчетам и ищет источник возникшей проблемы, тратя на это кучу времени и сил в дальнейших выяснениях отношений с кадрами. На мой взгляд - это не совсем правильно.

При выключенных ролях «ЧтениеДанныхДляНачисленияЗарплатыРасширенная» или «ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная». Ситуация в ЗУП 3.1 такова: кадровик создает приказ о переводе сотрудника на другую должность. Так же кадровику требуется увеличить оклад, но кадровик не видит вкладку «Оплата труда». В данной ситуации изменить оклад может только расчетчик, потому что у него вышеперечисленные роли как раз включены в «Профиль групп доступа». Я согласен с тем, что нужно подстраиваться под программу и изменять сам процесс работы кадровиков и расчетчиков, но по разным причинам не всегда это удается.

Такая же ситуация и с другими документами.

Решение:

  1. Включить кадровикам роль  «ЧтениеДанныхДляНачисленияЗарплатыРасширенная» и обязательно отключить роль «ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная» .
  2. Если конфигурация на поддержке, то снять ее с поддержки. Снять с поддержки рекомендую только один общий модуль, дабы обновлять было в дальнейшем легче. С поддержки снимаем общий модуль «ЗарплатаКадрыРасширенный».
  3. Далее открываем общий модуль «ЗарплатаКадрыРасширенный», ищем в нем функцию «ПраваНаМногофункциональныйДокумент», в конце функции, перед строкой «Возврат ПраваНаДокумент;» добавляем строки:
	//alex.swon.2+
	Если Пользователи.РолиДоступны("ЧтениеНачисленнойЗарплатыРасширенная", , Ложь) И НЕ Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная", , Ложь) тогда
		Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПриемНаРаботу") ИЛИ ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПриемНаРаботуСписком")
			ИЛИ ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.КадровыйПеревод") ИЛИ ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.КадровыйПереводСписком") тогда
			ПраваНаДокумент.ПолныеПраваПоРолям = Истина;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ЧтениеБезОграничений = Истина;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений = Истина;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеКадровыхДанных = Истина;
		Иначе
			ПраваНаДокумент.ПолныеПраваПоРолям = Ложь;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ЧтениеБезОграничений = Ложь;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений = Ложь;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеКадровыхДанных = Истина;
		КонецЕсли;
	КонецЕсли;
	//alex.swon.2-

Итоговый код функции:

Функция ПраваНаМногофункциональныйДокумент(Объект) Экспорт 
	
	МногофункциональныеДокументы = ЗарплатаКадрыРасширенныйКлиентСервер.ТипыМногофункциональныхДокументов();
	ОписаниеДокумента = МногофункциональныеДокументы.Получить(ТипЗнч(Объект.Ссылка));
	
	ДанныеДляПроверкиОграничений = ДанныеДляПроверкиОграниченийНаУровнеЗаписейМногофункциональногоДокумента(Объект);
	ИспользуетсяРасчетЗарплаты = ПолучитьФункциональнуюОпцию("ИспользоватьРасчетЗарплатыРасширенная");
	ПолныеПраваНаДокумент = ИспользуетсяРасчетЗарплаты И ПолныеПраваНаМногофункциональныйДокумент(Объект.Ссылка);
	
	ЧтениеБезОграничений = Ложь;
	ИзменениеБезОграничений = Ложь;
	
	Если ПолныеПраваНаДокумент Тогда 
		ИзменениеБезОграничений = Не ЕстьОграниченияНаУровнеЗаписейПоВидуУчета("Изменение", ОписаниеДокумента.ВидУчета, ДанныеДляПроверкиОграничений);
		ЧтениеБезОграничений = ИзменениеБезОграничений;
		Если Не ЧтениеБезОграничений Тогда
			ЧтениеБезОграничений = Не ЕстьОграниченияНаУровнеЗаписейПоВидуУчета("Чтение", ОписаниеДокумента.ВидУчета, ДанныеДляПроверкиОграничений);
		КонецЕсли;
	КонецЕсли;	
		
	ИзменениеКадровыхДанных = ИзменениеБезОграничений;
	Если Не ИзменениеКадровыхДанных Тогда
		ИзменениеКадровыхДанных = Не ЕстьОграниченияНаУровнеЗаписейПоВидуУчета("Изменение", "КадровыеДанные", ДанныеДляПроверкиОграничений);
	КонецЕсли;
	
	ПраваНаДокумент = Новый Структура(
		"ПолныеПраваПоРолям, 
		|ОграниченияНаУровнеЗаписей"); 
	ПраваНаДокумент.ПолныеПраваПоРолям = ПолныеПраваНаДокумент;
	
	ОграниченияНаУровнеЗаписей = Новый Структура(
		"ЧтениеБезОграничений, 
		|ИзменениеБезОграничений, 
		|ИзменениеКадровыхДанных");
		
	ОграниченияНаУровнеЗаписей.ЧтениеБезОграничений = ЧтениеБезОграничений;
	ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений = ИзменениеБезОграничений;
	ОграниченияНаУровнеЗаписей.ИзменениеКадровыхДанных = ИзменениеКадровыхДанных;
	
	ПраваНаДокумент.ОграниченияНаУровнеЗаписей = ОграниченияНаУровнеЗаписей;
	
	Если ОбщегоНазначения.ПодсистемаСуществует("ЗарплатаКадрыКорпоративнаяПодсистемы.УправленческаяЗарплата") Тогда
		Модуль = ОбщегоНазначения.ОбщийМодуль("УправленческаяЗарплата");
		Модуль.ПриПолученииПравНаМногоФункциональныйДокумент(ПраваНаДокумент, ОписаниеДокумента, ДанныеДляПроверкиОграничений);
	КонецЕсли;
	
	//alex.swon.2+
	Если Пользователи.РолиДоступны("ЧтениеНачисленнойЗарплатыРасширенная", , Ложь) И НЕ Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная", , Ложь) тогда
		Если ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПриемНаРаботу") ИЛИ ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.ПриемНаРаботуСписком")
			ИЛИ ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.КадровыйПеревод") ИЛИ ТипЗнч(Объект.Ссылка) = Тип("ДокументСсылка.КадровыйПереводСписком") тогда
			ПраваНаДокумент.ПолныеПраваПоРолям = Истина;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ЧтениеБезОграничений = Истина;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений = Истина;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеКадровыхДанных = Истина;
		Иначе
			ПраваНаДокумент.ПолныеПраваПоРолям = Ложь;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ЧтениеБезОграничений = Ложь;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеБезОграничений = Ложь;
			ПраваНаДокумент.ОграниченияНаУровнеЗаписей.ИзменениеКадровыхДанных = Истина;
		КонецЕсли;
	КонецЕсли;
	//alex.swon.2-
	
	Возврат ПраваНаДокумент;									
										
КонецФункции

4. Далее в этом же модуле ищем процедуру «УстановитьВторогоОтветственногоВМногофункциональныхДокументах». В конце процедуры перед строкой «УстановитьПредупреждающуюНадписьВМногофункциональныхДокументах(Форма, ОписаниеДокумента.РеквизитСостояние);» добавляем строки:

//alex.swon.2+
	//Включим РОЛЬ ЧтениеНачисленнойЗарплатыРасширенная и уберем возможность установки "Рассчитал" в кадровых документов
	Если ПолныеПраваНаДокумент И Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная", , Ложь) Тогда
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.РеквизитСостояние, "Доступность", Истина);
		Если Форма.Объект[ОписаниеДокумента.РеквизитСостояние] Тогда 
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.ВторойОтветственный, "Доступность", Истина);
			Если Не ЗначениеЗаполнено(Форма.Объект[ОписаниеДокумента.ВторойОтветственный]) Тогда 
				Форма.Объект[ОписаниеДокумента.ВторойОтветственный] = ПользователиКлиентСервер.ТекущийПользователь();
			КонецЕсли;	
		Иначе 
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.ВторойОтветственный, "Доступность", Ложь);
			Если ЗначениеЗаполнено(Форма.Объект[ОписаниеДокумента.ВторойОтветственный]) Тогда 
				Форма.Объект[ОписаниеДокумента.ВторойОтветственный] = Неопределено;
			КонецЕсли;	
		КонецЕсли;
	Иначе 
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.РеквизитСостояние, "Доступность", Ложь);
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.ВторойОтветственный, "Доступность", Ложь);
		Форма.Объект[ОписаниеДокумента.РеквизитСостояние] = Ложь;
	КонецЕсли;
	//alex.swon.2-

Итоговый код всей процедуры

Процедура УстановитьВторогоОтветственногоВМногофункциональныхДокументах(Форма, ПолныеПраваНаДокумент) Экспорт 
	
	Если Не Форма.ПолучитьФункциональнуюОпциюФормы("ИспользоватьРасчетЗарплатыРасширенная") Тогда
		Возврат;
	КонецЕсли;
	
	МногофункциональныеДокументы = ЗарплатаКадрыРасширенныйКлиентСервер.ТипыМногофункциональныхДокументов();
	ОписаниеДокумента = МногофункциональныеДокументы.Получить(ТипЗнч(Форма.Объект.Ссылка));
	
	//alex.swon.2+
	//Включим РОЛЬ ЧтениеНачисленнойЗарплатыРасширенная и уберем возможность установки "Рассчитал" в кадровых документов
	Если ПолныеПраваНаДокумент И Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная", , Ложь) Тогда
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.РеквизитСостояние, "Доступность", Истина);
		Если Форма.Объект[ОписаниеДокумента.РеквизитСостояние] Тогда 
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.ВторойОтветственный, "Доступность", Истина);
			Если Не ЗначениеЗаполнено(Форма.Объект[ОписаниеДокумента.ВторойОтветственный]) Тогда 
				Форма.Объект[ОписаниеДокумента.ВторойОтветственный] = ПользователиКлиентСервер.ТекущийПользователь();
			КонецЕсли;	
		Иначе 
			ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.ВторойОтветственный, "Доступность", Ложь);
			Если ЗначениеЗаполнено(Форма.Объект[ОписаниеДокумента.ВторойОтветственный]) Тогда 
				Форма.Объект[ОписаниеДокумента.ВторойОтветственный] = Неопределено;
			КонецЕсли;	
		КонецЕсли;
	Иначе 
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.РеквизитСостояние, "Доступность", Ложь);
		ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.ВторойОтветственный, "Доступность", Ложь);
		Форма.Объект[ОписаниеДокумента.РеквизитСостояние] = Ложь;
	КонецЕсли;
	//alex.swon.2-
	
	УстановитьПредупреждающуюНадписьВМногофункциональныхДокументах(Форма, ОписаниеДокумента.РеквизитСостояние);
	
КонецПроцедуры	

Готово.

Теперь у кадровиков есть возможность :

  1. Создавать Кадровые перемещения с возможностью указания начислений.
  2. Печатать справку расчет при увольнении сотрудника.
  3. Видеть ФОТ, оклад и размер аванса сотрудника.
  4. Создавать командировки и отпуска без изначально установленной галочки «Расчет утвердил» и без автоматического расчета среднего заработка.
  5. Доступ к отчетам по начислению заработной платы.

Проверено на платформе                               8.3.11.3034

Версия конфигурации ЗУП                               3.1.5.129

ЗУП 3.1. Автоматическая установка (Убрать) "Расчет утвердил". ЧтениеДанныхДляНачисленияЗарплатыРасширенная и ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная для кадровиков.Разграничение прав между кадровиками и расчетчиками.

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    147099    649    360    

235

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

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

60000 руб.

05.10.2022    10771    12    8    

14

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

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

6000 руб.

15.07.2015    64899    98    49    

102

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

Обработка больше предназначена как основа для своей разработки, чем как универсальное решение. Но можно использовать и как готовое решение для небольшой организации. Переносит данные из файла Excel в ЗУП, по аналогии как данные переносятся из ЗУП 2.5.

7200 руб.

19.01.2023    6426    4    4    

5

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

Внешняя печатная форма выводит Трудовой договор или в документ Microsoft Word (должен быть установлен!) или стандартно в табличный документ MXL. Позволяет выводить любые произвольные и типовые начисления, назначенные в приказе, а также множество кадровых данных сотрудника. Возможно использовать до 3х шаблонов договоров и, например, вместо Договора МОЛ подключить Трудовой договор на неполный рабочий день (с количеством ставок 0.25, 0.33, 0.5 и т.п.)

4000 руб.

07.07.2020    20296    18    20    

19

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

Редактор штатного расписания / просмотрщик данных по позиции или сотруднику. Можно выделить несколько позиций и создать для них документ изменение ШР, включая действия копирование позиции (новая) / закрыть позицию / изменить позицию. Позволяет просматривать документы утверждения / изменения ШР. Видеть историю занятых позиций выделенной позиции. Для выделенного сотрудника можно посмотреть кадровую историю. Для выделенного сотрудника можно посмотреть историю изменения начислений. На форму для выделенной позиции выводится вся информация по этой позиции (начисления, график и т.д. - все, что заполнено). При открытии документа - регистратора по ШР(изменение или утверждение) сразу попадаем на текущую позицию, а не на 1 строку. При открытии документа кадровой истории по сотруднику - регистратора (прием или перевод списком) сразу попадаем на строку с данным сотрудником, а не на 1 строку.

3600 руб.

26.10.2018    17363    8    0    

12

Загрузка и выгрузка в Excel Кадровый учет Программист Бухгалтер Платформа 1С v8.3 Конфигурации 1cv8 Бухгалтерский учет Платные (руб)

Обработка позволяет загрузить из структурированного файла данные по физическим лицам, сотрудникам. Предусмотрено создание документов "Прием на работу". Данные загружаются не только в справочники и документы, но и в регистры сведений. Обработка разработана для конфигураций "1С-Камин: Зарплата 5.0"/"1С-КАМИН: Зарплата для бюджетных учреждений. Версия 5.5" на платформе 8.3.

2000 руб.

28.12.2016    26043    8    1    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. yegorovnv 1 11.04.18 08:56 Сейчас в теме
Ничего не понимаю зачем весь этот огород. Дело в том, что в типовом ЗУПе 3 есть разделение. Кадровики и расчетчики прекрасно сосуществуют рядом, не мешая друг другу. При расчете документа расчетчиками кадровики уже ничего не могут поменять в документе.
Включите функцию "Использовать многофункциональность документов".
Мне кажется, что вы вашей статьей собьете с толку новичков, которые ищут информацию по данной теме.
serge_msk; zaika007; Winstoncuk; opkc; +4 Ответить
5. leaderonex 41 11.04.18 16:44 Сейчас в теме
В идеальной организации взаимодествие между кадровиками и расчетчиками происходит именно так, как вы описали. Но позвольте уточнить такой момент: - Как кадровику, не включая роли ЧтениеДанныхДляНачисленияЗарплатыРасширенная, можно распечатать "Справку расчет" или изменить начисление в документе "Кадровый перевод сотрудника"?
А если вы все же включили роль, то как боретесь с моментом, когда после проведения кадровиком документа "Больничный лист", автоматически происходит расчет и в документе устанавливается галочка "Расчет утвердил"?
26. zaika007 77 04.03.21 12:18 Сейчас в теме
2. leaderonex 41 11.04.18 12:19 Сейчас в теме
В идеальной организации взаимодествие между кадровиками и расчетчиками происходит именно так, как вы описали. Но позвольте уточнить такой момент: - Как кадровику, не включая роли ЧтениеДанныхДляНачисленияЗарплатыРасширенная, можно распечатать "Справку расчет" или изменить начисление в документе "Кадровый перевод сотрудника"?
А если вы все же включили роль, то как боретесь с моментом, когда после проведения кадровиком документа "Больничный лист", автоматически происходит расчет и в документе устанавливается галочка "Расчет утвердил"?
3. Mx00 249 11.04.18 13:33 Сейчас в теме
Константин, с интересом прочитал статью, мне скоро тоже придется решать эту задачу, но снимать с поддержки базу очень не хочется... я обычно пытаюсь решить такие задачи с помощью расширений, не рассматривали ли вы такой подход?
например включить роль ЧтениеДанныхДляНачисленияЗарплатыРасширенная и снимать признак "Расчет утвердил" при закрытии документа?
вопрос рассматривали ли вы такой подход к решению проблемы?
4. leaderonex 41 11.04.18 16:39 Сейчас в теме
Если снять признак с включенной ролью ЧтениеДанныхДляНачисленияЗарплатыРасширенная, то документ не проводится, ругается на то, что расчет не утвержден.
7. leaderonex 41 12.04.18 09:09 Сейчас в теме
(3)Через расширения не пытался... Сейчас прорабатываю этот вариант.
6. MuxaH 12.04.18 04:36 Сейчас в теме
Мы тоже через расширение эту проблему разрулили - зачем с поддержки снимать...
8. leaderonex 41 12.04.18 11:10 Сейчас в теме
(6) Можете описать Ваш вариант решения? Я думаю, что многим будет полезно и интересно
9. Mx00 249 12.04.18 12:58 Сейчас в теме
(6) да-да, все замерли в надежде :-)
Михаил, поделитесь расширением!
28. NikiforovVA 19 05.04.23 08:41 Сейчас в теме
10. MuxaH 13.04.18 06:44 Сейчас в теме
Да пожалуйста, описываю.
1. Включаем Многофункциональность документов (Константы -> Использовать многофункциональность документов)
2. У кадровиков вообще убираем роль ДобавлениеИзменениеНачисленнойЗарплатыРасширенная. Я им оставил профиль Старший кадровик - в кадровых перемещениях начисления добавлять могут. И Табельщик - чтобы табели проводить могли.
3. Создаем свой профиль для кадровика, обзываем по желанию. Там даем ему роли: Чтение выплаченной зарплаты, Чтение начисленной зарплаты. Это надо, чтоб они могли печатать справку-расчет.
4. Создаем расширение, Добавляем в него документ Увольнение, Увольнение списком. У расширения сразу отключаем Безопасный режим, чтоб можно было менять модуль менеджера. Собственно в расширении в Модуле менеджера для обоих документов добавляем процедуру
&После("ДобавитьКомандыПечати")
Процедура НашеРасш_ДобавитьКомандыПечати(КомандыПечати) Экспорт
	Если КомандыПечати.Найти("ПФ_MXL_Т61") = Неопределено Тогда
		// Записка-расчет при увольнении.
		КомандаПечати = КомандыПечати.Добавить();
		КомандаПечати.Обработчик = "ЗарплатаКадрыКлиент.ВыполнитьКомандуПечати";
		КомандаПечати.МенеджерПечати = "Обработка.ПечатьКадровыхПриказовРасширенная";
		КомандаПечати.Идентификатор = "ПФ_MXL_Т61";
		КомандаПечати.Представление = НСтр("ru = 'Записка-расчет при увольнении (Т-61)'");
		КомандаПечати.Порядок = 20;
		КомандаПечати.ФункциональныеОпции = "РаботаВХозрасчетнойОрганизации";
		КомандаПечати.ДополнительныеПараметры.Вставить("ТребуетсяЧтениеБезОграничений", Истина);
		КомандаПечати.ПроверкаПроведенияПередПечатью = Истина;
	КонецЕсли;	
КонецПроцедуры
Показать


Оно добавляет команду печати записки-расчета вне зависимости от наличия роли ДобавлениеИзменениеНачисленнойЗарплатыРасширенная.

5. Потом я ещё расширял модуль менеджера документа Командировка:
&Вместо("ПолныеПраваНаДокумент")
Функция НашеРасш_ПолныеПраваНаДокумент() Экспорт 
	
        //Возврат Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная, ЧтениеНачисленнойЗарплатыРасширенная", , Ложь);
	Возврат Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная", , Ложь);
	
КонецФункции
Показать


Т.к. разделение функций на тот документ почему-то не действовала для профиля Аудитор - вроде как он должен только читать документы, а при наличии роли ЧтениеНачисленнойЗарплатыРасширенная он тоже вовсю мог их утверждать. Но может в последних релизах это уже и поправили.

6. Собственно всё. Кадровики видят свои данные, расчетные данные не видят. Документы (под кадровиком) проводятся только по кадровым регистрам, а расчетчики уже утверждают расчет, при необходимости.
IronDain; ixijixi; user1648066; pavlov_a; korppinen; Mx00; +6 Ответить
11. leaderonex 41 13.04.18 10:24 Сейчас в теме
Спасибо большое Михаил Кравченко (MuxaH) за то, что поделился своим вариантом.
Не мог бы ты описать, как ты решил остальные моменты, на которые влияют включенные роли "ЧтениеДанныхДляНачисленияЗарплатыРасширенная" ИЛИ "ДобавлениеИзменениеНачисленнойЗарплатыРасширенная" :
1. Отражение Оклада, ФОТ и Аванса в карточке сотрудника. Ведь без включенной одной из этих ролей данные не доступны кадровику.
2. При создании документа "Кадровое перемещение", нет возможности установить новые начисления или же изменить старые.
3. Командировку поправил, а как дело обстоит с отпусками? с больничными?.
4. Иногда кадровику требуется смотреть расчетные листы. Но при выключенных ролях это не возможно. Как этот момент решил?
13. Mx00 249 13.04.18 17:00 Сейчас в теме
12. MuxaH 13.04.18 13:10 Сейчас в теме
1.- 2. Да так же, формы в расширениях можно курочить как твоей душе угодно. Сначала ищешь типовой код, который скрывает от кадровика нужные данные. Создаешь корректировки в расширении. Даже описанный тобой в статье подход (исправление общих модулей) можно расширением без снятия с поддержки разрулить. А с начислениями кадровики настроили штатное расписание, при выборе позиции все начисления сразу встают в ТЧ, они её не смотрят даже. Да и профилю Старший кадровик доступно изменение начислений.
3. Отпуска, больничные нормально разграничивались, с командировками почему-то такая проблема всплыла.
4. На расчетки давал роль Аудитор. Как раз для пользователей с такой ролью и всплыла проблема, что они утверждать могли Командировки.
14. leaderonex 41 13.04.18 17:01 Сейчас в теме
Согласен, что можно расширениями все сделать. Но...
В моем решении нужно только снять с поддержки 1 модуль и добавить десятка два строк кода, а ты предлагаешь изменить кучу форм документов, справочников и отчетов в расширениях.
Согласен, что можно сделать и по моему сценарию и без снятия с поддержки, с помощью расширения. Но только в платформе 8.3.11 расширения еще не поддерживают общие модули. Можно обойти этот момент, создав обработку в расширении. Использовать модуль менеджера обработки, как общий модуль. Но все равно придется создавать расширения форм и припиливать к ним обработчики из модуля обработки.
1. Вариант с расширениями - очень затратный по времени. Этот вариант не подойдет тем, кому нужно сделать "Сейчас"...
2. В случае, если разработчик изменит какую либо из форм, то придется допиливать расширения каждый раз. Ты скажешь, - "Ну и общий модуль разработчик может изменить". Конечно, может, но вероятность изменения куда меньше, нежели вероятность изменения одной из множества форм: справочника, документа или отчета. В случае же изменения одного модуля, его легко при обновлении можно поправить, так как там исправлений в коде не много.
3. В твоем варианте решения, ты предлагаешь кадровикам все изменения начислений использовать из штатного расписания. Такой вариант не каждому кадровику понравится. Может быть ты умеешь лучше убеждать людей, которые работают в программе, что твои варианты правильнее, но у меня такого дара к сожалению нет. И убедить кадровиков делать иначе, нежели они привыкли как в ЗУП 2.5 у меня не получалось.
Согласен, что оба варианта решения этих проблем имеют шанс на существование. Какой вариант выбрать решать Вам форумчане.
Я лишь описал как я решил эти проблемы.
15. MuxaH 16.04.18 05:14 Сейчас в теме
(14) Я не предлагаю менять кучу форм, я предлагаю те же 2 десятка строк кода подписать в расширении. А 8.3.11 уже вовсю изменение модулей в расширении поддерживает. У меня ещё 8.3.10 стоит.
1. По временным затратам - не соглашусь. Неудобство только в сравнении при обновлении измененного и типового модуля.
2. Соглашусь, но я и не настаиваю на изменении форм.
3. Это не вариант решения, это так кадровики упростили себе работу. Пока штатку настраивали - так же в перемещениях назначали/убирали начисления, просто я не понимаю зачем им роль ДобавлениеИзменениеНачисленнойЗарплатыРасширенная, и без неё всё прекрасно редактируется.

Но дело хозяйское. Сейчас в 8.3.12 уже можно в расширениях и свои объекты добавлять, и движения по типовым регистрам делать, но лично мне страшно - как оно себя поведёт при отключении расширения. Но тем не менее, за расширениями будущее, как говорят на :)
16. leaderonex 41 16.04.18 08:43 Сейчас в теме
3. У кадровиков убираем роль "ДобавлениеИзменениеНачисленнойЗарплатыРасширенная" и оставляем только "ЧтениеДанныхДляНачисленияЗарплатыРасширенная"
17. almas 258 22.05.18 16:57 Сейчас в теме
проверьте публикацию.
мне кажется у вас пункт 2 и 4 одинаковый листинг в обоих процедурах в публикации.
18. leaderonex 41 20.07.18 10:26 Сейчас в теме
(17)Исправил. Извиняюсь, за этот момент.
19. ivan65 04.09.18 14:03 Сейчас в теме
где правда говорим
Включить кадровикам роль «ЧтениеДанныхДляНачисленияЗарплатыРасширенная» и обязательно отключить роль «ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная» .

а пишем
//Включим РОЛЬ ЧтениеНачисленнойЗарплатыРасширенная и уберем возможность установки "Рассчитал" в кадровых документов
Если ПолныеПраваНаДокумент И Пользователи.РолиДоступны("ДобавлениеИзменениеНачисленнойЗарплатыРасширенная", , Ложь) Тогда
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(Форма.Элементы, ОписаниеДокумента.РеквизитСостояние, "Доступность", Истина);
20. leaderonex 41 04.09.18 17:14 Сейчас в теме
(19)Именно так и делаем, как написано в моей публикации. Отключаем роль "ДобавлениеИзменениеДанныхДляНачисленияЗарплатыРасширенная" кадровику и включаем только "ЧтениеДанныхДляНачисленияЗарплатыРасширенная"
21. ElenkaLisenka 25 30.07.19 13:30 Сейчас в теме
В кадровом переводе все равно на вкладке оплаты стоит галочка "Перевод утвержден" и отладка в ваш исправленный модуль в процедуру УстановитьВторогоОтветственногоВМногофункциональныхДокумента­х не заходит.
22. leaderonex 41 31.07.19 01:27 Сейчас в теме
(21) Проверьте релиз вашей ЗУП. Все работало, но на версии 3.1.5.129
29. Tolyas 46 14.04.23 18:37 Сейчас в теме
(22) В релизе 3.1.24.408 у документа "Кадровый перевод" нет реквизита ВторойОтветсвенный, решение работать перестало, к сожалению.
23. Dimbayyyy 196 06.03.20 08:45 Сейчас в теме
Была похожая проблема с документом "Премия". Данный документ заводил планово-финансовый отдел (далее ПФО), после чего с ним работали расчетчики. Расчетчикам было важно знать утвержден документ или нет (в форме списка отслеживали по жирности), но после проведения у ПФО автоматом ставилась галка "Расчет утвержден" и имя текущего пользователя (без данной галки документ не проводился). Вылечилось отключением роли "Чтение начисленной зарплаты расширенная" для профиля группы доступа ПФО. (Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.13.76) )
24. пользователь 26.03.20 15:51
Сообщение было скрыто модератором.
...
25. CD_SVEN 29.01.21 10:28 Сейчас в теме
А как потом после проведения документа кадровиком вернуть значение
Форма.Объект[ОписаниеДокумента.РеквизитСостояние] = Ложь;
в значение ИСТИНА???
27. Jedi_u2 25.03.22 08:21 Сейчас в теме
спасибо! пригодилась статья.
30. Tolyas 46 14.04.23 18:43 Сейчас в теме
(27) настроили доступ кадровикам к начислениям в Кадровом перемещении?
31. Jedi_u2 15.04.23 15:25 Сейчас в теме
(30) нет, они передумали)))))
32. Velxeor2 20.06.23 14:55 Сейчас в теме
Если кому поможет.. у Кадровиков автоматом ставилась галочка "Расчет утвердил" в кадровых документах. Кроме ролей "Добавление и изменение начисленной зарплаты" и "Добавление и изменение начисленной зарплаты расширенная" так же убрал Роль "Удаленный доступ (OData)".
33. config 198 16.05.24 11:20 Сейчас в теме
Просто убрать у кадровиков профиль "Старший кадровик-расчетчик" решает проблему с галкой "Расчет утвердил". Кадровики распечатывают приказы без установки этой галочки
Оставьте свое сообщение