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

1С:Предприятие ::

Метки: 

Префиксы в справочнике

Я
   Мандалай
 
28.11.17 - 10:00
Добрый день.
Кто-нибудь реализовывал префиксацию элементов справочника по принципу: если в нужной группе то нужный префикс, а если нет, то с нулей начинается.
 
 
   Волшебник
 
Модератор
1 - 28.11.17 - 10:00
Это артикул. Префиксация кодов нужна для распределённых баз.
   AlexMee
 
2 - 28.11.17 - 10:06
(0)     //Если ПустаяСтрока(RuCode) Тогда

    //    Запрос = Новый Запрос;

    //    Запрос.Текст= "ВЫБРАТЬ

    //    |    МАКСИМУМ(ПОДСТРОКА(СотрудникиОрганизаций.RuCode, 3, 5)) КАК МаксимальныйКод

    //    |ИЗ

    //    |    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций";

    //    Рез = Запрос.Выполнить().Выбрать();

    //    Если Рез.Следующий() Тогда

    //        Попытка

    //            МаксимальныйКод=Число(Рез.МаксимальныйКод);

    //        Исключение

    //            МаксимальныйКод=0;

    //        КонецПопытки;

    //    Иначе

    //        МаксимальныйКод=0;

    //    КонецЕсли;

    //    

    //    МаксимальныйКод = МаксимальныйКод+1;

    //    RuCode="RU"+Формат(МаксимальныйКод,"ЧЦ=5; ЧВН=; ЧГ=0");

    //КонецЕсли;
   AlexMee
 
3 - 28.11.17 - 10:07
(0) вот счетчик, только проверку на группу сделай и все
   Мандалай
 
4 - 28.11.17 - 10:09
(3)Хм, прикольно, спасибо.
А если в качестве префикса подставить "00"?
   Serg_1960
 
5 - 28.11.17 - 10:21
"Простота хуже воровства, если она не от ума, а от заумия."

Наверное некоторые не в курсе, как разработчики платформы мучительно долго искали верные алгоритмы режимов автонумерации... и тут пришёл AlexMee и всё разрулил :)

PS: при многопользовательском режиме работы не всё так просто и очевидно.
   Волшебник
 
Модератор
6 - 28.11.17 - 10:23
Код лучше присваивать при записи
   Serg_1960
 
7 - 28.11.17 - 10:27
PSS: хех.. в типовых алгоритмах всё нужное автору уже есть. Тема решается одной строкой кода, максимум - тремя :)
   Мандалай
 
8 - 28.11.17 - 10:28
Я префикс определяю ПриУстановкеНовогоКода, остальное платформа сама делает.
   AlexMee
 
9 - 28.11.17 - 10:31
(7)
ты про это?
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    
    ОбщегоНазначенияЗК.ДобавитьПрефиксОрганизации(ЭтотОбъект, Префикс);
    ОбщегоНазначенияЗК.ДобавитьПрефиксУзла(Префикс);
    
    // получить новый номер документа по совокупности кадровых документов

    ПроцедурыУправленияПерсоналом.ПриУстановкеНовогоНомераКадровогоДокумента(СтандартнаяОбработка, ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Организация, "ЕдиныйНумераторКадровыхДокументов"), Номер, Префикс, Дата);
    //Алена +

    Префикс="у-";
    //Алена -

КонецПроцедуры
   Волшебник
 
Модератор
10 - 28.11.17 - 10:32
(9) Алена жжот.
 
  Рекламное место пустует
   Мандалай
 
11 - 28.11.17 - 10:37
(7)Колись давай... интригу развел, мхатовскую паузу выдержал, теперь давай развязку.
   Serg_1960
 
12 - 28.11.17 - 11:25
В типовых конфигурациях за установку кодов справочника и номеров документов отвечают подписки на события. У них есть общая часть - вызов функции, которая определяет и присваивает префиксы (организации и узла) - вот там легко установить "свои правила" префиксации. Хоть в одну,  хоть в три строки :) Проверка нужного вида, нужного родителя и установка своего префикса. Всё просто.

PS: сказал бы более конкретно, но конфигурация не озвучена.


Список тем форума
Рекламное место пустует   Рекламное место пустует
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует