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

26.11.19

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Установить номер в кадровых документах:
.epf 8,72Kb
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

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

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

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

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

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

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

См. также

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

Подключаемый модуль для миграционного учета в конфигурациях 1С:ЗУП и 1С:ЗУП КОРП, по запросу можно адаптировать под 1С:УТ и ERP. Подсистема миграционного учета содержит в себе справочники, документы, отчеты, регистры, которые позволяют вести учет патентов, хранить историю тарифов и отслеживать оплаты. Добавлена интеграция с МВД - возможность автоматической проверки сотрудников по реестру контролируемых лиц (подключение обсуждается отдельно).

52000 руб.

03.07.2025    5332    11    1    

11

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

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

85400 руб.

05.10.2022    14568    17    8    

17

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

Предлагаем расширить возможности конфигурации 1С:УНФ 3.0 в части ведения кадрового учета. С помощью данного расширения в конфигурацию будут добавлены новые документы: "Отпуск" и "Командировка". Документы облегчат работу кадровика и расчетчика, а также повысят эффективность работы за счет оптимизации и упрощения процесса ведения учета.

36600 руб.

31.10.2024    4215    4    0    

3

Зарплата Кадровый учет Бухгалтер Пользователь 1С 8.3 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если не хотите ставить тяжёлую ЗУП? Нужен только табель и начисление по своим правилам? Рекомендуем этот модуль подключается к УТ, получаете табель, начисление и создание Расходный кассовый ордер/Списание безналичных денежных средств без типовой ЗУП

20740 руб.

27.04.2026    1671    3    0    

1

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

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

25000 руб.

06.03.2026    2758    4    0    

5

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

Расширение для интеграции hh.ru для 1С:ЗУП. Позволит автоматизировать часть рутинных операций HR менеджера, рекрутера, сохранение истории взаимодействия с кандидатами в 1С:ЗУП

12200 руб.

24.12.2025    1761    1    0    

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


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


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

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

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

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

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

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

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

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

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

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

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

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


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


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