|
Нумерация | ☑ | ||
---|---|---|---|---|
0
Foxmara
27.08.18
✎
17:04
|
УНФ, последний релиз. Платформа 8.3.12.1529. Нужно сделать свою нумерацию, причем нумерация должна идти от КРОНТРАГЕНТА. т.е. у каждого контрагента ID - 3 цифры (уникальный не подойдет, он длинный). далее документы (событие), договора и пр. тоже ID, формируется на основании ID контрагента + 3 цифры. Как реализовать можно? Просто добавить поле можно даже в режиме предприятия, но оно не будет а) нужной длины б) автоматически нумероваться.
|
|||
1
Пуля
27.08.18
✎
17:06
|
Нумеровать что будем?
|
|||
2
hhhh
27.08.18
✎
17:08
|
(0) вопрос-то в чем? находишь в общем модуле, где формируется префикс документа, подменяешь этот кусок на свое формирование префикса.
|
|||
3
Джинн
27.08.18
✎
17:10
|
(1) Приходные кассовые ордера и счета-фактуры.
|
|||
4
Numerus Mikhail
27.08.18
✎
17:10
|
(0) а если контрагентов станет больше 999?
|
|||
5
Aleksey
27.08.18
✎
17:10
|
Нужно обязательно нумеровать по контрагентам или подойдет префикс в печатной форме с ID контрагента?
|
|||
6
dezss
27.08.18
✎
17:10
|
подписка
ПриУстановкеНовогоНомера а дальше как напишешь) |
|||
7
vova1122
27.08.18
✎
17:12
|
Не совсем понятно как должен формироваться номер документа. Опишите на примере
|
|||
8
Михаил Козлов
27.08.18
✎
17:22
|
Спугнули.
|
|||
9
dezss
27.08.18
✎
17:23
|
(7) ну у них не может быть больше 1000 контрагентов. И на каждого не больше 1000 одного вида дока.
Разделять предлагаю оригинально...дефисом))) |
|||
10
Aleksey
27.08.18
✎
17:51
|
(9) разово может быть и не может быть, а вот за 2-3 года, кто то ушел, кто то пришел
|
|||
11
hhhh
27.08.18
✎
19:07
|
(10) можно не только цифры, но и буквы разрешить в ИД. Тогда в 3х знаках где-то до 300000 контрагентов.
|
|||
12
Cyberhawk
27.08.18
✎
19:12
|
Номер объекта делаешь числовым заданной длины. Профит.
|
|||
13
Cyberhawk
27.08.18
✎
19:12
|
*объекта МД
|
|||
14
Aleksey
28.08.18
✎
00:05
|
(11) На самом деле меньше. Так как визуально некоторые буквы и цифры похоже, а значит такую неопределенность нужно исключить (например буква О и цифра 0). Так же исключаем регистр (большие и маленькие буквы). Исключаем труднопроизносимые символы (например й, ъ,ь). Если мы добавим английский алфавит, то исключаем одинаковое написание русский и английских букв, например та же буква А. Ну и само собой спецсиволы идут лесом (*,:,^ и т.п.)
|
|||
15
azernot
28.08.18
✎
00:21
|
Когда коту нечего делать, он лижет...
Когда у бухгалтера нет других проблем, он начинает заботиться о нумерации.. |
|||
16
GreyK
28.08.18
✎
02:39
|
(0) Надеюсь следующий вопрос от "бухого" будет про сквозную нумерацию кадровых документов, это классика.
|
|||
17
Foxmara
28.08.18
✎
08:15
|
Нумеровать по контрагентам обязательно. В идее все от КА строится.
Директор (не бух) клянется, что больше 1000 не понадобится.. номер (ID) у КА от 0 до 999. номер Заказа = (ID КА) + 3 цифры номер договора = номер Заказа номер Счета = (ID Заказа) + 3 цифры номер КП = (ID КА) + префикс (КП) + 3 цифры |
|||
18
dezss
28.08.18
✎
09:27
|
(17) тогда беги оттуда...это однодневка)))
шутка... так не понятно, в чем именно у тебя проблема? |
|||
19
seevkik
28.08.18
✎
09:30
|
(17) ну хоть документы продаж и счет-фактуры не трогаете, но я бы прислушался к (18)
|
|||
20
dezss
28.08.18
✎
09:35
|
Я вообще не понимаю зачем люди меняют нумерацию...
вот нафига? если нужно что-то по конкретному контрагенту, делай отбор/сортировку в списке, зачем накладывать на номер/код какие-то еще функции, кроме обеспечения уникальности? |
|||
21
Пуля
28.08.18
✎
09:44
|
глянь модуль ПрефиксацияОбъектовКлиент вроде в нем номера строятся
|
|||
22
Foxmara
31.08.18
✎
12:32
|
В общем задачу решил совсем просто. Поскольку достаточно 3 цифр - просто взял последние из номеров справочника и документа.
для справочника контрагент: &НаКлиенте Процедура Расш1_ПослеЗаписиПосле(ПараметрыЗаписи) //Добавлено создание ИД Если НЕ ЗначениеЗаполнено(Объект.ИДКонтрагента) Тогда Объект.ИДКонтрагента = Прав(Объект.Код, 3); КонецЕсли; // конец обработки КонецПроцедуры Это для заказа: &НаСервере Процедура Расш1_ПослеЗаписиНаСервереПосле(ТекущийОбъект, ПараметрыЗаписи) КонтрагентЗак = Объект.Контрагент; ОбъектКА = КонтрагентЗак.ПолучитьОбъект(); Если НЕ ЗначениеЗаполнено(Объект.ИДЗаказПокупателя) Тогда Объект.ИДЗаказПокупателя = ОбъектКА.ИДКонтрагента + Прав(Объект.Номер, 3); КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |