По теме из базы знаний
- Перенос данных Сотрудников и Физических лиц из ЗУП 3.1(2.5) в БП 2.0 (БП 3.0)
- Перенос кадровой информации из ЗУП 2.5 / ЗУП 3.0 / ЗУП 3.1 в БП 3.0. Перенос отражения ЗП и начисления ОО из ЗУП 3.0 / ЗУП 3.1 в БП 3.0
- Расчетный листок для 1С8.3: ЗУП 3.1, ЗИКГУ 3.1
- Перенос кадровых данных из ЗУП 2.5 в БП 3.0
- Нумерация кадровых приказов поcле полного переноса данных ЗУП 2.5 - ЗУП 3.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) well-wisher, открыл демо базу и сделал дополнительно кадровые документы отпуск и командировку (приемы на работу там были). Все нормально нумеруется. Для каждого документа своя нумерация... Если Вы вручную исправляли, то автонумерация может перестать работать... Настройку не нашел (может не сильно упорствовал в этом), но факт возможности раздельной нумерации на лицо в демо базе, так что это возможно... Как найдете, - напишите, может кому еще будет интересен этот вопрос.
Тоже столкнулся с отсутствием данной опции в ЗУП 3.0.
Возможно, кому-нибудь понадобиться следующий код, помогающий решить задачу:
Возможно, кому-нибудь понадобиться следующий код, помогающий решить задачу:
//Добавляем общий модуль с признаком "Сервер".
//Добавляем подписку на событие вида "ПриУстановкеНовогоНомера",
//В подписке на событие описываем объекты участвующие объекты:
//ПриказОПриеме, КадровыйПеревод, Увольнение, ПриказОПриемеСписком, КадровыйПереводСписком, УвольнениеСписком
Процедура УстановкаНомераПоКадровымДокументамПриУстановкеНовогоНомера(Источник, СтандартнаяОбработка, Префикс) Экспорт
//получаем максимальный последний кадровый номер
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| МАКСИМУМ(НомераТЗ.Номер) КАК Номер
|ИЗ
| (ВЫБРАТЬ
| МАКСИМУМ(ПриемНаРаботу.Номер) КАК Номер
| ИЗ
| Документ.ПриемНаРаботу КАК ПриемНаРаботу
| ГДЕ
| ПриемНаРаботу.Организация = &Организация
| И ГОД(ПриемНаРаботу.Дата) = &Год
|
| ИМЕЮЩИЕ
| НЕ МАКСИМУМ(ПриемНаРаботу.Номер) ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| МАКСИМУМ(Увольнение.Номер)
| ИЗ
| Документ.Увольнение КАК Увольнение
| ГДЕ
| Увольнение.Организация = &Организация
| И ГОД(Увольнение.Дата) = &Год
|
| ИМЕЮЩИЕ
| НЕ МАКСИМУМ(Увольнение.Номер) ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| МАКСИМУМ(КадровыйПеревод.Номер)
| ИЗ
| Документ.КадровыйПеревод КАК КадровыйПеревод
| ГДЕ
| КадровыйПеревод.Организация = &Организация
| И ГОД(КадровыйПеревод.Дата) = &Год
|
| ИМЕЮЩИЕ
| НЕ МАКСИМУМ(КадровыйПеревод.Номер) ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| МАКСИМУМ(УвольнениеСписком.Номер)
| ИЗ
| Документ.УвольнениеСписком КАК УвольнениеСписком
| ГДЕ
| УвольнениеСписком.Организация = &Организация
| И ГОД(УвольнениеСписком.Дата) = &Год
|
| ИМЕЮЩИЕ
| НЕ МАКСИМУМ(УвольнениеСписком.Номер) ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| МАКСИМУМ(КадровыйПереводСписком.Номер)
| ИЗ
| Документ.КадровыйПереводСписком КАК КадровыйПереводСписком
| ГДЕ
| КадровыйПереводСписком.Организация = &Организация
| И ГОД(КадровыйПереводСписком.Дата) = &Год
|
| ИМЕЮЩИЕ
| НЕ МАКСИМУМ(КадровыйПереводСписком.Номер) ЕСТЬ NULL
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| МАКСИМУМ(ПриемНаРаботуСписком.Номер)
| ИЗ
| Документ.ПриемНаРаботуСписком КАК ПриемНаРаботуСписком
| ГДЕ
| ПриемНаРаботуСписком.Организация = &Организация
| И ГОД(ПриемНаРаботуСписком.Дата) = &Год
|
| ИМЕЮЩИЕ
| НЕ МАКСИМУМ(ПриемНаРаботуСписком.Номер) ЕСТЬ NULL) КАК НомераТЗ
|
|ИМЕЮЩИЕ
| НЕ МАКСИМУМ(НомераТЗ.Номер) ЕСТЬ NULL"
;
Запрос.УстановитьПараметр("Организация", Источник.Организация);
Запрос.УстановитьПараметр("Год", Год(Источник.Дата));
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда //если начало года и первый кадровый док в системе, тогда присваивается стандартный номер.
СтандартнаяОбработка = Ложь;
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
НомерБезНолейИПрефикса = Число(ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Выборка.Номер, Истина, Истина)); // "КР00-000010" --> 10
НомерБезНолейИПрефикса = НомерБезНолейИПрефикса + 1;
Источник.Номер = Префикс + СтроковыеФункцииКлиентСервер.ДополнитьСтроку(Строка(НомерБезНолейИПрефикса), 6, "0" ,"Слева");
КонецЕсли;
КонецПроцедуры
Показать
(12)
СПАСИБО, Евгений! Очень вовремя. Для ERP 2.0
//НомерБезНолейИПрефикса = Число(ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Выборка.Номер, Истина, Истина)); // "КР00-000010" --> 10
НомерБезНолейИПрефикса = Число(ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Выборка.Номер, Истина, Истина)); // "КР00-000010" --> 10
//Добавляем общий модуль с признаком "Сервер".
КонецПроцедуры
КонецПроцедуры
СПАСИБО, Евгений! Очень вовремя. Для ERP 2.0
//НомерБезНолейИПрефикса = Число(ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(Выборка.Номер, Истина, Истина)); // "КР00-000010" --> 10
НомерБезНолейИПрефикса = Число(ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Выборка.Номер, Истина, Истина)); // "КР00-000010" --> 10
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот