Вход | Регистрация
 

ЗУП 3.1 Префиксы и суффиксы в кадровых документах

ЗУП 3.1 Префиксы и суффиксы в кадровых документах
Я
   KnightAlone
 
16.01.19 - 11:38
Вот и мне прилетела задачка, аля хотим суффиксы в номерах документов. Поизучал данный вопрос по темам на форуме, думаю смогу отстоять вариант - делаем через префикс, на печать выводим в виде суффикса. В чем возник вопрос - в 3.1 нет нигде типовой возможности указать префикс для документа?
Нашел функцию ПользовательскийПрефикс в общем модуле ПрефиксацияОбъектовКлиентСервер, судя по ней в конфе есть понятие ПользовательскийПрефикс. Взял командировку, ни в модуле объекта, ни в модуле менеджера, ни в реквизитах упоминаний префикса не нашел. Я правильно понимаю, что вариант тут только такой - берем подписку УстановитьПрефиксИБИОрганизацииНомеруДокументаЗарплатаКадрыРасширенная и соответственно в процедуре этой подписки ручками прописываем свой код, который для нужных документов будет устанавливать свой пользовательский префикс?
 
 
   KnightAlone
 
1 - 16.01.19 - 12:39
в процедуре Процедура УстановитьПрефикс типовой код 

ШаблонПрефикса = "[ОР][ИБ]-[Префикс]";
ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации);
ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы);
ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", Префикс);

заменил на 

    ШаблонПрефикса = "[ОР][ИБ]-[ПользовательскийПрефикс][Префикс]";
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы);
    ПользовательскийПрефикс = "";
    Если Источник.Метаданные().ПолноеИмя() = "Документ.ПриемНаРаботу" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Увольнение" 
        ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПеревод" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПереводСписком"
        ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Отгул" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.ИзменениеОплатыТруда" Тогда
        ПользовательскийПрефикс = "ЛС";    
    ИначеЕсли Источник.Метаданные().ПолноеИмя() = "Документ.Командировка" Тогда    
        ПользовательскийПрефикс = "К";
    КонецЕсли;
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ПользовательскийПрефикс]", ПользовательскийПрефикс);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", Префикс);

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


    ШаблонПрефикса = "[ОР][ИБ]-[Префикс]";
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы);
    ПользовательскийПрефикс = "";
    Если Источник.Метаданные().ПолноеИмя() = "Документ.ПриемНаРаботу" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Увольнение" 
        ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПеревод" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.КадровыйПереводСписком"
        ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.Отгул" ИЛИ Источник.Метаданные().ПолноеИмя() = "Документ.ИзменениеОплатыТруда" Тогда
        ПользовательскийПрефикс = "ЛС";    
    ИначеЕсли Источник.Метаданные().ПолноеИмя() = "Документ.Командировка" Тогда    
        ПользовательскийПрефикс = "К";
    КонецЕсли;
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", ПользовательскийПрефикс);

проверил, вроде и так тоже работает
   Мыш
 
2 - 16.01.19 - 12:55
(0) Общие модули:
ПрефиксацияОбъектовКлиентСерверПереопределяемый
ПрефиксацияОбъектовПереопределяемый
   Мыш
 
3 - 16.01.19 - 12:57
И вообще: Конфигуратор, Ctrl+Shift+C, Ctrl+Alt+M, переопределяемый
   2S
 
4 - 16.01.19 - 13:01
(0) мы через регистр рисовали такую задачу
Автогенерация номера по видам кадровых документов. Плюс история.
   KnightAlone
 
5 - 16.01.19 - 17:35
в общем там вынос мозга, на общий префикс спереди согласились. в процессе перенумерации уже созданных наткнулся на конструкцию вида 8/1. выяснилось, что часть документов вносят задним числом, так как офис на 2 части разделен и часть доков приносят позже, и эти документы вносят через префикс. вносить по человечески говорят не могут, похоже придется копаться и писать свой механизм автонумерации, либо слать всех лесом и искать место с вменяемыми кадровиками...
   xraf
 
6 - 16.01.19 - 23:38
(0) Я что-то особо заморачиваться не стал с подобной задачей, подключил расширение и там в модуле документа сделал присвоение нужного номера
   SleepyHead
 
7 - 17.01.19 - 05:10
(0) Автоматизируя бардак, вы получаете автоматизированный бардак. (с)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует