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

26.11.19

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

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

Файлы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

85400 руб.

05.10.2022    13872    16    8    

17

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

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

52000 руб.

03.07.2025    4306    5    1    

7

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

«Кадровый монитор руководителя» — готовое расширение для 1С:ЗУП и 1С:ERP, которое превращает кадровые данные в наглядные дашборды для руководителя, HRD и HR-аналитика. Решение помогает в реальном времени контролировать укомплектованность штата, плановый и фактический ФОТ, динамику увольнений и другие ключевые HR-показатели без ручной сборки отчетов. Аналитика работает в интерфейсе «1С:Аналитика», устанавливается без доработок типовой конфигурации и позволяет быстро получить целостную картину по персоналу в одном окне.

91500 руб.

17.11.2025    4224    2    0    

1

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

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

25000 руб.

06.03.2026    1175    1    0    

3

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

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

21960 руб.

24.03.2023    7219    6    0    

8

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

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

12200 руб.

24.12.2025    1124    1    0    

2

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

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

20740 руб.

27.04.2026    779    3    0    

1

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

Устали вручную отслеживать, кто и когда уходит в отпуск, и постоянно напоминать руководителям и сотрудникам, вручную формировать и рассылать поздравления сотрудникам? С помощью обработки «Автоматическая рассылка уведомлений о скором начале отпуска, остатке отпусков и поздравлений с днем рождения для 1С: ЗУП 3.1» вы сможете централизованно, точно и своевременно информировать всех участников кадрового процесса.

6100 руб.

17.12.2025    819    1    2    

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


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


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

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

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

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

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

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

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

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

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

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

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

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


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


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