|   |   | 
| 
 | ЗУП 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) Автоматизируя бардак, вы получаете автоматизированный бардак. (с)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |