Установка номера

1. danjer74 4 29.10.21 10:01 Сейчас в теме
Дорого времени суток! Подскажите, пожалуйста такой момент. Есть регистр накопления, куда попадают заказы из поступления товаров и услуг. У каждого заказа есть свой номер, но есть еще и заказы без номера. который надо присваивать. Есть идея собирать все "наши" заказы (их количество из регистра) и следующему номеру присваивать Количество+1. Вопрос вот какой - если документ будут проводить несколько человек, количество может получиться ошибочным. Не совсем понятно, как сделать так, чтобы количество было правильным - я думаю в сторону блокировки, но не знаю как наложить ее на регистр накопления. Надо добиться уникальности номеров.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ImHunter 333 29.10.21 10:12 Сейчас в теме
(1) На регистр накопления блокировка и не нужна. Вы ведь меняете номер в самом заказе.
Это не ответ на ваш вопрос. Пока это так, примечание, к размышлению.
3. TokarevV 35 29.10.21 10:16 Сейчас в теме
1. Что значит попадают заказы из поступления товаров? При проведении поступления создаётся ещё какой-то заказ?
2. Может в документе сразу этот номер присваивать? Это ведь не реквизит номер, правильно?
3. Зачем количество собирать? Не проще тогда искать наибольший номер?
4.Что значит документ будут проводить несколько человек? Разные документы будут проводить одновременно несколько человек? Тогда блокировку придётся накладывать на весь регистр и это сильно замедлит работу (если конечно у вас не 2 человека работают).
5. danjer74 4 29.10.21 10:53 Сейчас в теме
Суть в чем - номер заказа - идентификатор строки думаю собирать так: "ou"+максимальный номер
(3)
1. Номер должен присвоиться в строке ТЧ документа
2. В моем регистре номер заказа - измерение
3. Да, так проще, безусловно
4. Документ проводит один человек - максимальный номер в регистре, допустим, 3. В документе поступления номер присвоится 4, но данных в регистре еще нет. В этот момент создает еще один человек поступление. Максимальный номер все равно будет 3. Так в этом документе номер должен быть уже 5. Вот эту ситуацию я и хочу избежать.
6. TokarevV 35 29.10.21 12:22 Сейчас в теме
(5) В этой логике блокировать измерение - номер заказа бесполезно (они разные всё время), тогда получается, что надо блокировать весь регистр (может другие есть какие измерения, по которым можно частично включить блокировку на регистр). При проведении документа, блокируем регистр, находим последний номер, заполняем табличную часть, проводим документ, снимаем блокировку.
2. Не проще будет номер составлять из 2-х частей, первая часть - номер документа, через дефис (к примеру) номер строки табличной части. Тогда не надо будет запрашивать последний номер, и всегда они будут разными.
3. И вообще не понятна работа всего механизма, зачем номера, что с ними потом делать, может можно без них обойтись.
9. starjevschik 30.10.21 22:32 Сейчас в теме
(5)
Документ проводит один человек - максимальный номер в регистре, допустим, 3. В документе поступления номер присвоится 4, но данных в регистре еще нет. В этот момент создает еще один человек поступление. Максимальный номер все равно будет 3. Так в этом документе номер должен быть уже 5. Вот эту ситуацию я и хочу избежать.

регистр просто не нужен. Бери последний номер из таблицы документа. Номер присваивай при записи. Все.
Если зачем-то все же нужен регистр, то туда записывать после записи документа.
4. Pixar0000 29.10.21 10:21 Сейчас в теме
но есть еще и заказы без номера. который надо присваивать

здесь "криво" поставленная задача - что значит без и номер нужно присваивать? регистр накопления какой стороной к номерам заказов?
7. comptr 35 29.10.21 12:56 Сейчас в теме
Хотите получить простые номера без префиксов (1,2,3...) - делайте константу, в которой храните последний выданный номер:
Получаете константу, блокируете, читаете значение, увеличиваете на 1 (это ваш новый номер заказа), записываете, разблокируете.

Если предполагаете, что в будущем у номеров появлятся префиксы, то вместо константы заводите регистр сведений, где в качестве измерений выступают объекты, определяющие префикс, сам префикс при этом лучше хранить там же, для ускорения получения номера.
8. danjer74 4 30.10.21 21:10 Сейчас в теме
Для заказов нашел решение - тип строка, префикс + универсальная дата в милисекундах
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот