|
Префиксы в справочнике | ☑ | ||
---|---|---|---|---|
0
Мандалай
28.11.17
✎
10:00
|
Добрый день.
Кто-нибудь реализовывал префиксацию элементов справочника по принципу: если в нужной группе то нужный префикс, а если нет, то с нулей начинается. |
|||
1
Волшебник
модератор
28.11.17
✎
10:00
|
Это артикул. Префиксация кодов нужна для распределённых баз.
|
|||
2
AlexMee
28.11.17
✎
10:06
|
(0) //Если ПустаяСтрока(RuCode) Тогда
// Запрос = Новый Запрос; // Запрос.Текст= "ВЫБРАТЬ // | МАКСИМУМ(ПОДСТРОКА(СотрудникиОрганизаций.RuCode, 3, 5)) КАК МаксимальныйКод // |ИЗ // | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций"; // Рез = Запрос.Выполнить().Выбрать(); // Если Рез.Следующий() Тогда // Попытка // МаксимальныйКод=Число(Рез.МаксимальныйКод); // Исключение // МаксимальныйКод=0; // КонецПопытки; // Иначе // МаксимальныйКод=0; // КонецЕсли; // // МаксимальныйКод = МаксимальныйКод+1; // RuCode="RU"+Формат(МаксимальныйКод,"ЧЦ=5; ЧВН=; ЧГ=0"); //КонецЕсли; |
|||
3
AlexMee
28.11.17
✎
10:07
|
(0) вот счетчик, только проверку на группу сделай и все
|
|||
4
Мандалай
28.11.17
✎
10:09
|
(3)Хм, прикольно, спасибо.
А если в качестве префикса подставить "00"? |
|||
5
Serg_1960
28.11.17
✎
10:21
|
"Простота хуже воровства, если она не от ума, а от заумия."
Наверное некоторые не в курсе, как разработчики платформы мучительно долго искали верные алгоритмы режимов автонумерации... и тут пришёл AlexMee и всё разрулил :) PS: при многопользовательском режиме работы не всё так просто и очевидно. |
|||
6
Волшебник
модератор
28.11.17
✎
10:23
|
Код лучше присваивать при записи
|
|||
7
Serg_1960
28.11.17
✎
10:27
|
PSS: хех.. в типовых алгоритмах всё нужное автору уже есть. Тема решается одной строкой кода, максимум - тремя :)
|
|||
8
Мандалай
28.11.17
✎
10:28
|
Я префикс определяю ПриУстановкеНовогоКода, остальное платформа сама делает.
|
|||
9
AlexMee
28.11.17
✎
10:31
|
(7)
ты про это? Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс) ОбщегоНазначенияЗК.ДобавитьПрефиксОрганизации(ЭтотОбъект, Префикс); ОбщегоНазначенияЗК.ДобавитьПрефиксУзла(Префикс); // получить новый номер документа по совокупности кадровых документов ПроцедурыУправленияПерсоналом.ПриУстановкеНовогоНомераКадровогоДокумента(СтандартнаяОбработка, ПроцедурыУправленияПерсоналом.ЗначениеУчетнойПолитикиПоПерсоналуОрганизации(глЗначениеПеременной("глУчетнаяПолитикаПоПерсоналуОрганизации"), Организация, "ЕдиныйНумераторКадровыхДокументов"), Номер, Префикс, Дата); //Алена + Префикс="у-"; //Алена - КонецПроцедуры |
|||
10
Волшебник
модератор
28.11.17
✎
10:32
|
(9) Алена жжот.
|
|||
11
Мандалай
28.11.17
✎
10:37
|
(7)Колись давай... интригу развел, мхатовскую паузу выдержал, теперь давай развязку.
|
|||
12
Serg_1960
28.11.17
✎
11:25
|
В типовых конфигурациях за установку кодов справочника и номеров документов отвечают подписки на события. У них есть общая часть - вызов функции, которая определяет и присваивает префиксы (организации и узла) - вот там легко установить "свои правила" префиксации. Хоть в одну, хоть в три строки :) Проверка нужного вида, нужного родителя и установка своего префикса. Всё просто.
PS: сказал бы более конкретно, но конфигурация не озвучена. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |