Имя: Пароль:
1C
1С v8
Внутренние документы и другая нумерация
, ,
0 perester
 
31.10.17
10:37
Доброго времени суток!
У меня есть несколько внутренних документов, которые чаще всего создаются на основании других, сейчас нумерация обыкновенная, захотелось сделать так чтобы номер внутренних документов был равен документу основанию + "/" + порядковый номер дока, типа 123456/00, 123456/01, это сделал,
Но если документ создан не на основании какого-либо документа то его номер становится типа 123456/02, можно ли сделать так чтобы нумерация созданных на основании документов не была связана с нумерацией несвязанных?
1 Cyberhawk
 
31.10.17
11:04
Я не против
2 perester
 
31.10.17
11:22
(1) глядишь в самую суть)
Как можно сделать? Создать регистр сведений где есть номер последнего записанного без основания и читать его? Сделать запрос где пустой документоснование, выбрать максимальный? Или как лучше можно сделать?
3 D3O
 
31.10.17
11:26
(2) главное при использовании РС не забыть прописать программные блокировки на его чтение. шоб дублей не возникало
4 D3O
 
31.10.17
11:28
(2) а с запросами со временем будет замедляться...
да и в РС можно Организацию запихать, год...
5 Serg_1960
 
31.10.17
12:03
(2) Нумерация "связанных" - с символом "/", это ты уже сделал (с твоих слов). Сделай для "несвязанных", по тому-же алгоритму, номера с символом "-". Как пример: "12345-00".
6 mistеr
 
31.10.17
12:12
(0) Ты сначала придумай, как эта нумерация должна работать.

Допустим, у тебя последний номер 123456/02 и нужно создать несвязанный док. Если ты возьмешь номер "123457-что-то-там", а завтра нужно будет создать связанный на основании 123457, что будешь делать?

Сделай, например, префиксы для связанных и несвязанных.
7 Cyberhawk
 
31.10.17
12:28
(2) Объект метаданных "Нумератор" уже смотрел?
8 perester
 
31.10.17
16:52
(4) сделал запросом типа выбрать максимум(номер) из документы где документоснование есть нулл, он максимум очень быстро даже на заполненных данных выдает
(5) ну, я сначала простым циклом на пустоезначение делал, в перспективе этот метод был бы очень долгим, сейчас так же на запрос переделал, такой же как и выше, но где документоснование = &докоснование
(6) на основании этих доков ничего не создается, или я не понял мысль (
(7) первым делом посмотрел, я так понял он обеспечивает сквозную нумерацию, а не даёт мне вписывать любой понравившийся номер, поэтому-то и спросил, про более изящный метод, но как обычно хуяк-хуяк получилось)
9 mistеr
 
01.11.17
00:50
(8) Ты не понял мысль. В номере "123456/02" часть 123456 это номер документа основания. Для независимого дока что будет на этом месте? Что бы ты не взял, через какое-то время может появиться док-основание с таким номером и будет конфликт. Поэтому нужно разделить пространство номеров для зависимых и независимых.
10 h-sp
 
01.11.17
02:30
(8) используй префиксы. 123456/ - префикс когда документ основание, 000000/  - префикс для всех прочих документов
11 mistеr
 
01.11.17
09:41
(10) Так ему длины номера не хватит