Здравствуйте. Подскажите пожалуйста какая маска должна быть, чтобы нумерация шла типа "число-текущий год". К примеру такого вида, 0001-15
Благодарю
Нравится
Уточните, для какого объекта, существующего или вами созданного, на какой конфигурации и версии сайта вы хотите это сделать?
Но, если вы про существующие системные настройки, к примеру "Маска кода контрагента", "Маска номера обращения", и.т.д. То следует понимать, где они используются, и как именно, что бы определить, что в них можно писать, а чего нет.
Используются же они в событиях сохранения объектов, к примеру, если вы откроете, Account из пакета Base
и посмотрите его события
то увидите что за генерацию кода ответственно действие процесса "GenerateSequenseNumberUserTask" из пакета Base, в момент сохранения объекта.
Там же можно почитать его методы и увидеть что он всего лишь берет последний числовой код, и применяет к нему указанную в системной настройке маску, методом из c#:
https://msdn.microsoft.com/ru-ru/library/system.string.format(v=vs.110)…
string.Format(sysSettingsCodeMask,sysSettingsLastNumber);
Следовательно, все возможности маски, ограничены маской c# метода «String.Format» к обычному числу. И нет никакой возможности, там появится текущей дате, цифрам года, и.т.д.
Вам нужно писать свой механизм авто-нумерации при создании объекта и там писать логику формирования номера такой, какой вы ее хотите видеть.
Так же можно попробовать написать свою логику создания автоинкрементного номера с числами года в схеме страницы, следует только понимать что тогда, вы будете резервировать номер в момент создания новой карточки, и если ее не сохранить, номер будет уже "использован" но не сохранен в системе, это приведет к "дырам" в нумерации. Если это не критично, то можете пойти этим путем.