|
ЗУП 3.1 Префиксы и суффиксы в кадровых документах | ☑ | ||
---|---|---|---|---|
0
KnightAlone
16.01.19
✎
11:38
|
Вот и мне прилетела задачка, аля хотим суффиксы в номерах документов. Поизучал данный вопрос по темам на форуме, думаю смогу отстоять вариант - делаем через префикс, на печать выводим в виде суффикса. В чем возник вопрос - в 3.1 нет нигде типовой возможности указать префикс для документа?
Нашел функцию ПользовательскийПрефикс в общем модуле ПрефиксацияОбъектовКлиентСервер, судя по ней в конфе есть понятие ПользовательскийПрефикс. Взял командировку, ни в модуле объекта, ни в модуле менеджера, ни в реквизитах упоминаний префикса не нашел. Я правильно понимаю, что вариант тут только такой - берем подписку УстановитьПрефиксИБИОрганизацииНомеруДокументаЗарплатаКадрыРасширенная и соответственно в процедуре этой подписки ручками прописываем свой код, который для нужных документов будет устанавливать свой пользовательский префикс? |
|||
1
KnightAlone
16.01.19
✎
12:39
|
в процедуре Процедура УстановитьПрефикс типовой код
ШаблонПрефикса = "[ОР][ИБ]-[Префикс]"; ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации); ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы); ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", Префикс); заменил на ШаблонПрефикса = "[ОР][ИБ]-[ПользовательскийПрефикс][Префикс]"; ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации); ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы); ПользовательскийПрефикс = ""; Если Источник.Метаданные().ПолноеИмя() = "Документ.ПриемНаРаботу" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Увольнение" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПеревод" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПереводСписком" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Отгул" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.ИзменениеОплатыТруда" Тогда ПользовательскийПрефикс = "ЛС"; ИначеЕсли Источник.Метаданные().ПолноеИмя() = "Документ.Командировка" Тогда ПользовательскийПрефикс = "К"; КонецЕсли; ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ПользовательскийПрефикс]", ПользовательскийПрефикс); ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", Префикс); работает. вот только не въеду в логику, вроде для документа префикс в базе нигде задать нелья, может вообще сделать вот так: ШаблонПрефикса = "[ОР][ИБ]-[Префикс]"; ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации); ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы); ПользовательскийПрефикс = ""; Если Источник.Метаданные().ПолноеИмя() = "Документ.ПриемНаРаботу" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Увольнение" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПеревод" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПереводСписком" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Отгул" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.ИзменениеОплатыТруда" Тогда ПользовательскийПрефикс = "ЛС"; ИначеЕсли Источник.Метаданные().ПолноеИмя() = "Документ.Командировка" Тогда ПользовательскийПрефикс = "К"; КонецЕсли; ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", ПользовательскийПрефикс); проверил, вроде и так тоже работает |
|||
2
Мыш
16.01.19
✎
12:55
|
(0) Общие модули:
ПрефиксацияОбъектовКлиентСерверПереопределяемый ПрефиксацияОбъектовПереопределяемый |
|||
3
Мыш
16.01.19
✎
12:57
|
И вообще: Конфигуратор, Ctrl+Shift+C, Ctrl+Alt+M, переопределяемый
|
|||
4
2S
16.01.19
✎
13:01
|
(0) мы через регистр рисовали такую задачу
Автогенерация номера по видам кадровых документов. Плюс история. |
|||
5
KnightAlone
16.01.19
✎
17:35
|
в общем там вынос мозга, на общий префикс спереди согласились. в процессе перенумерации уже созданных наткнулся на конструкцию вида 8/1. выяснилось, что часть документов вносят задним числом, так как офис на 2 части разделен и часть доков приносят позже, и эти документы вносят через префикс. вносить по человечески говорят не могут, похоже придется копаться и писать свой механизм автонумерации, либо слать всех лесом и искать место с вменяемыми кадровиками...
|
|||
6
xraf
16.01.19
✎
23:38
|
(0) Я что-то особо заморачиваться не стал с подобной задачей, подключил расширение и там в модуле документа сделал присвоение нужного номера
|
|||
7
SleepyHead
гуру
17.01.19
✎
05:10
|
(0) Автоматизируя бардак, вы получаете автоматизированный бардак. (с)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |