Установка номера в кадровых документах

26.11.19

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

Устанавливает следующий номер в заданном формате по организации.

Скачать файлы

Наименование Файл Версия Размер
Установить номер в кадровых документах:
.epf 8,72Kb
1
.epf 8,72Kb 1 Скачать

Внешняя кнопка, при нажатии на которую устанавливается номер документу.

Документ перед установлением номера записывается!

Обработка определяет группу документов

Чтобы использовать у себя, нужно немного модифицировать код в обработке.

Обработка может быть примером как делать "внешние кнопки".

Проверено на релизе: ЗУП 3.1.6-10.

ЗУП 3.1 внешняя кнопка нумерация

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

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

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

19900 руб.

01.04.2020    140630    678    352    

232

Перенос данных из Парус 10 в ЗГУ ред.3

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

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

60000 руб.

05.10.2022    9212    9    8    

10

Дополнительные соглашения. Групповое формирование и печать для 1С: ЗУП 3.1 ПРОФ и КОРП

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

Групповое формирование и печать Дополнительных соглашений для 1С: Зарплата и управление персоналом ПРОФ и КОРП + 8 печатных форм: Индексация заработной платы, Удаленная работа и предупреждение о COVID-19, Выход из удаленной работы, Кадровый перевод, Кадровый перевод списком, Назначение индивидуальной системы начислений, Переименование филиала, Приказ "Совмещение должностей", Приказ "Совмещение исполнения обязанностей"

18000 руб.

24.03.2023    4390    2    0    

4

Загрузка данных по сотрудникам и физическим лицам из файла XLS (xlsx, mxl, ods) в ЗУП/ЗиКГУ редакция 3.1

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

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

6000 руб.

15.07.2015    63336    92    48    

97

Перенос кадровых данных, зарплаты из Excel + скрипты для выгрузки в Excel из Парус 8

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

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

9600 руб.

19.01.2023    5742    2    2    

3

Рабочее место кадровика - редактор штатного расписания

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

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

3000 руб.

26.10.2018    16982    7    0    

11

Уведомление о трудовой деятельности иностранного гражданина в 1С:ЗУП 3.1

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

Печать из ЗУП уведомления о трудовой деятельности для безвизового иностранного гражданина. С 7 января 2024 года безвизовые иностранцы должны уведомлять по утвержденной форме территориальный орган МВД России о ведении трудовой деятельности. Расширение позволит выполнить распечатку уведомления напрямую из программы ЗУП 3.1

3600 руб.

22.02.2024    450    1    0    

3
Отзывы
8. t278 56 05.04.21 10:12 Сейчас в теме
Общий модуль
Функция СведенияОВнешнейОбработке() Экспорт
	Назначения = Новый Массив ;
	Назначения.Добавить("Документ.ПриемНаРаботу") ;	
	
	ПараметрыРегистрации = Новый Структура ;
	ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
        ПараметрыРегистрации.Вставить("Назначение",Назначения);


В форме
 &НаКлиенте 
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	
	НомерД ="";
	Для Каждого Док Из ОбъектыНазначенияМассив цикл				
		ВыполнитьНаСервере(Док,НомерД);		
	КонецЦикла;	
	ОбновитьИнтерфейс();	
КонецПроцедуры	


&НаСервере
Процедура ВыполнитьНаСервере(Док,НомерД)
	 д = док.ссылка.ПолучитьОбъект();
	Запрос = Новый Запрос;
		
	Текст =  "ВЫБРАТЬ
	         |	КадровыеДокументы.Ссылка КАК Ссылка,
	         |	КадровыеДокументы.Дата КАК Дата,
	         |	КадровыеДокументы.Номер КАК ПолныйНомер,
	         |	КадровыеДокументы.Тип КАК Тип,
	         |	ПОДСТРОКА(КадровыеДокументы.Номер, 6, 11) КАК Номер
	         |ИЗ
	         |	ЖурналДокументов.КадровыеДокументы КАК КадровыеДокументы
	         |ГДЕ
	         |	КадровыеДокументы.Дата >= &Дата
	         |	И КадровыеДокументы.Номер ПОДОБНО &Номер" ;
	типДокумента = ТипЗнч(Д);
	
	Если типДокумента = Тип("ДокументСсылка.Отпуск")  
		Или типДокумента = Тип("ДокументОбъект.ОтпускаСотрудников")
		или типДокумента = Тип("ДокументОбъект.ОтпускБезСохраненияОплаты")
		или типДокумента = Тип("ДокументОбъект.ОтпускПоУходуЗаРебенком")
		ТОгда 
		Запрос.УстановитьПараметр("Номер","%ЛК25%");
		Префикс = "ЛК25-";
	ИначеЕсли типДокумента = Тип("ДокументОбъект.Увольнение")
		или типДокумента = Тип("ДокументОбъект.УвольнениеСписком")
		или типДокумента = Тип("ДокументОбъект.ПриемНаРаботу")
		или типДокумента = Тип("ДокументОбъект.ПриемНаРаботуСписком")
		или типДокумента = Тип("ДокументОбъект.ИндексацияЗаработка")
		или типДокумента = Тип("ДокументОбъект.КадровыйПеревод")
		или типДокумента = Тип("ДокументОбъект.КадровыйПереводСписком") Тогда
		Запрос.УстановитьПараметр("Номер","%ЛС25%");		
		Префикс = "ЛС25-";
	КонецЕсли;
	
		
	Запрос.Текст = Текст;
	Запрос.УстановитьПараметр("Дата",НачалоГода(Д.Дата));
	
	ТЗ = запрос.Выполнить().Выгрузить();
	НомерМакс = 0;
	Если ТЗ.Количество()=0 Тогда
	иначе
		Для Каждого Стр Из ТЗ цикл			
			Попытка
				НомерМакс = Макс(НомерМакс,Число(Стр.Номер));
			Исключение
				// могут быть другие символы
				КонецПопытки; 
		КонецЦикла; 		
	КонецЕсли;  
	
	Если  типДокумента = Тип("ДокументОбъект.ИндексацияЗаработка")  Тогда
		Текст =  "ВЫБРАТЬ
		|	ИндексацияЗаработка.Ссылка КАК Ссылка,
		|	ИндексацияЗаработка.Дата КАК Дата,
		|	ИндексацияЗаработка.Номер КАК ПолныйНомер,
		|	ПОДСТРОКА(ИндексацияЗаработка.Номер, 6, 11) КАК Номер
		|ИЗ
		|	Документ.ИндексацияЗаработка КАК ИндексацияЗаработка
		|ГДЕ
		|	ИндексацияЗаработка.Дата >= &Дата
		|	И ИндексацияЗаработка.Номер ПОДОБНО &Номер" ;
		
		Запрос.Текст = Текст;
		ТЗ = запрос.Выполнить().Выгрузить();
		
		Если ТЗ.Количество()=0 Тогда
		иначе
			Для Каждого Стр Из ТЗ цикл				
				Попытка
				НомерМакс = Макс(НомерМакс,Число(Стр.Номер));
			Исключение
				// могут быть другие символы
				КонецПопытки;
			КонецЦикла; 		
		КонецЕсли;
	КонецЕсли;
	
	НомерМакс = НомерМакс +1;
	Д.Номер = Префикс + СтрЗаменить(Строка(НомерМакс),Символы.НПП,"");
	НомерД = Д.Номер;
Д.Записать();	
КонецПроцедуры
Показать
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dock 44 26.11.19 11:07 Сейчас в теме
1) неплохо было бы вынести "префикс" в отдельную переменную - что бы изменять только в одном месте.
2) хорошо было бы и вынести в настройки - что бы была возможность поправить без изменения кода
3) ну идеально было бы сделать расширение и перехватить событие "при установке номера", что бы не нужно было отдельно нажимать кнопочку.

Хотя ведь можно и просто правильно настроить префиксы, и использовать типовой функционал... но это уже так... ;)
2. t278 56 26.11.19 11:13 Сейчас в теме
(1)Соглашусь со всеми пунктами.

У нас нумерация учитывает группу документов. В этой группе нумерация должна идти по порядку. Из-за этого от префиксов отказались.
Год назад, решили на данном примере по практиковать "внешнюю кнопку".

Универсальную штучку, не желания делать (
3. dock 44 26.11.19 11:36 Сейчас в теме
(2) Про универсальность никто и не говорит... только перфекционизм и ничего более! :)
Сама обработка появилась явно из-за того, что требуется некоторое изменение типового алгоритма нумерации.

некоторые комментарии к своим же комментариям:
1) отдельная переменная: судя по коду, явно будет минимум две переменных.
ПрефиксГруппыДокументовОтпуска и ПрефискГруппыДокументовОстальные

В данном случае, это не универсальность, а упрощение разработки: меньше вариантов ошибиться. Особенно если придется изменять.

2) вынести в настройки - тут да, приближение к универсальности. Спорное предложение.

3) а вот расширение и перехват события (кстати, может я и ошибся, и стоит перехватывать другое событие...) - это упрощение сопровождения: пользователи они же такие... пользователи...
Ещё забудут кнопочку нажать, или вообще не увидят её существование - и держи заявочку: "Караул! у меня номер документа неправильный!" :)

З.Ы. Как же хочется придраться к закомментированной строчке с Сообщить()... но не буду, сдержусь :)
4. t278 56 26.11.19 15:47 Сейчас в теме
(3) Сообщить() это способ отладки ( . Сколько там закомментированно пока разобрался.

Нажать кнопку, это облегчение для пользователя. Или руками номер вносить, или автоматом. Отдел кадров про неё знают, а пользоваться их прерогатива.)
5. dock 44 27.11.19 08:22 Сейчас в теме
(4)
Сообщить() это способ отладки (

При работе с УФ нужно забыть про "Сообщить()" !
Только правильный код! Только хардкор! :)

Сообщение = Новый СообщениеПользователю;
...
Сообщение.Сообщить();
6. nkp14108 94 30.11.19 10:17 Сейчас в теме
7. t278 56 30.11.19 14:16 Сейчас в теме
8. t278 56 05.04.21 10:12 Сейчас в теме
Общий модуль
Функция СведенияОВнешнейОбработке() Экспорт
	Назначения = Новый Массив ;
	Назначения.Добавить("Документ.ПриемНаРаботу") ;	
	
	ПараметрыРегистрации = Новый Структура ;
	ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
        ПараметрыРегистрации.Вставить("Назначение",Назначения);


В форме
 &НаКлиенте 
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	
	НомерД ="";
	Для Каждого Док Из ОбъектыНазначенияМассив цикл				
		ВыполнитьНаСервере(Док,НомерД);		
	КонецЦикла;	
	ОбновитьИнтерфейс();	
КонецПроцедуры	


&НаСервере
Процедура ВыполнитьНаСервере(Док,НомерД)
	 д = док.ссылка.ПолучитьОбъект();
	Запрос = Новый Запрос;
		
	Текст =  "ВЫБРАТЬ
	         |	КадровыеДокументы.Ссылка КАК Ссылка,
	         |	КадровыеДокументы.Дата КАК Дата,
	         |	КадровыеДокументы.Номер КАК ПолныйНомер,
	         |	КадровыеДокументы.Тип КАК Тип,
	         |	ПОДСТРОКА(КадровыеДокументы.Номер, 6, 11) КАК Номер
	         |ИЗ
	         |	ЖурналДокументов.КадровыеДокументы КАК КадровыеДокументы
	         |ГДЕ
	         |	КадровыеДокументы.Дата >= &Дата
	         |	И КадровыеДокументы.Номер ПОДОБНО &Номер" ;
	типДокумента = ТипЗнч(Д);
	
	Если типДокумента = Тип("ДокументСсылка.Отпуск")  
		Или типДокумента = Тип("ДокументОбъект.ОтпускаСотрудников")
		или типДокумента = Тип("ДокументОбъект.ОтпускБезСохраненияОплаты")
		или типДокумента = Тип("ДокументОбъект.ОтпускПоУходуЗаРебенком")
		ТОгда 
		Запрос.УстановитьПараметр("Номер","%ЛК25%");
		Префикс = "ЛК25-";
	ИначеЕсли типДокумента = Тип("ДокументОбъект.Увольнение")
		или типДокумента = Тип("ДокументОбъект.УвольнениеСписком")
		или типДокумента = Тип("ДокументОбъект.ПриемНаРаботу")
		или типДокумента = Тип("ДокументОбъект.ПриемНаРаботуСписком")
		или типДокумента = Тип("ДокументОбъект.ИндексацияЗаработка")
		или типДокумента = Тип("ДокументОбъект.КадровыйПеревод")
		или типДокумента = Тип("ДокументОбъект.КадровыйПереводСписком") Тогда
		Запрос.УстановитьПараметр("Номер","%ЛС25%");		
		Префикс = "ЛС25-";
	КонецЕсли;
	
		
	Запрос.Текст = Текст;
	Запрос.УстановитьПараметр("Дата",НачалоГода(Д.Дата));
	
	ТЗ = запрос.Выполнить().Выгрузить();
	НомерМакс = 0;
	Если ТЗ.Количество()=0 Тогда
	иначе
		Для Каждого Стр Из ТЗ цикл			
			Попытка
				НомерМакс = Макс(НомерМакс,Число(Стр.Номер));
			Исключение
				// могут быть другие символы
				КонецПопытки; 
		КонецЦикла; 		
	КонецЕсли;  
	
	Если  типДокумента = Тип("ДокументОбъект.ИндексацияЗаработка")  Тогда
		Текст =  "ВЫБРАТЬ
		|	ИндексацияЗаработка.Ссылка КАК Ссылка,
		|	ИндексацияЗаработка.Дата КАК Дата,
		|	ИндексацияЗаработка.Номер КАК ПолныйНомер,
		|	ПОДСТРОКА(ИндексацияЗаработка.Номер, 6, 11) КАК Номер
		|ИЗ
		|	Документ.ИндексацияЗаработка КАК ИндексацияЗаработка
		|ГДЕ
		|	ИндексацияЗаработка.Дата >= &Дата
		|	И ИндексацияЗаработка.Номер ПОДОБНО &Номер" ;
		
		Запрос.Текст = Текст;
		ТЗ = запрос.Выполнить().Выгрузить();
		
		Если ТЗ.Количество()=0 Тогда
		иначе
			Для Каждого Стр Из ТЗ цикл				
				Попытка
				НомерМакс = Макс(НомерМакс,Число(Стр.Номер));
			Исключение
				// могут быть другие символы
				КонецПопытки;
			КонецЦикла; 		
		КонецЕсли;
	КонецЕсли;
	
	НомерМакс = НомерМакс +1;
	Д.Номер = Префикс + СтрЗаменить(Строка(НомерМакс),Символы.НПП,"");
	НомерД = Д.Номер;
Д.Записать();	
КонецПроцедуры
Показать
Оставьте свое сообщение