Имя: Пароль:
1C
1С v8
Размещение товара. Как выбрать наименьшее из зол
Ø (Волшебник 09.08.2022 15:37)
,
0 alarm2020
 
09.08.22
12:36
Дана простая с виду ситуация. За каждым товаром закреплена одна определенная ячейка склада. В одной ячейке не может быть более одного товара, один товар не может лежать более, чем в одной ячейке. В любой СУБД это решается элементарно (типа, раз галочка, два галочка). Но 1С нам не дает полноценно управлять индексами. Поэтому возникает вопрос. Если полноценное решение недоступно, то какое 1С-овское решение можно считать меньшим из зол? Что бы вы выбрали?
1 АгентБезопасной Нацио
 
09.08.22
12:40
"Когда вы говорите, Иван Васильевич, впечатление такое, что вы бредите."©
2 unenu
 
09.08.22
12:42
РС, измерения: товар, ячейка.

ну можно еще 100500 таблиц запилить и продавать эту туфту за 100500 р.
3 mikecool
 
09.08.22
12:44
(1) +1
4 mikecool
 
09.08.22
12:44
и ветка под закрытие как бы...
5 Garykom
 
гуру
09.08.22
12:47
(0) "один товар не может лежать более, чем в одной ячейке"

чушь
6 Garykom
 
гуру
09.08.22
12:49
Если товар и ячейка это справочники
То размещение логично сделать РН измерения товар, ячейка, ресурс количество
И добавить проверку при размещении что если уже есть не нулевое кол-во в ячейке то другой товар нельзя в нее положить
7 alarm2020
 
09.08.22
12:52
(1) Э... нет. Вот в (2) это действительно бред. А у меня вопрос по делу
8 mistеr
 
09.08.22
12:54
(0) Например, регистр сведений с измерениями Товар, Ячейка.

Еще поясни, какое решение ты считаешь "полноценным"? На низком уровне СУБД, когда при попытке оприходовать товар пользователю вылезает простыня на тарабарском?
9 alarm2020
 
09.08.22
12:54
(4) Это решение позволяет положить в одну ячейку несколько товаров. И наоборот один и тот же товар положить в несколько ячеек
10 Garykom
 
гуру
09.08.22
12:54
(7) у тебя плохие знания "любой СУБД"
и тем более плохие знания 1С

иначе не писал бы подобный бред: "В любой СУБД это решается элементарно (типа, раз галочка, два галочка). Но 1С нам не дает полноценно управлять индексами."
11 alarm2020
 
09.08.22
12:55
(8) Это не годится
12 СеменовСемен
 
09.08.22
12:55
(7) без кода проверки  не обойтись
13 alarm2020
 
09.08.22
12:56
(10) В любой СУБД есть уникальные индексы
14 Garykom
 
гуру
09.08.22
12:58
(13) Ты индексы с ключами не попутал?
15 mistеr
 
09.08.22
12:58
(11) А ты пробовал?
16 alarm2020
 
09.08.22
13:18
(15) А что там пробовать? Вы предложили абсолютно бессмысленную конструкцию
17 vdementiev
 
09.08.22
13:21
Может быть, ТС имел ввиду систему адресного хранения типа https://42clouds.com/ru-ru/manuals/adresnoe-khranenie-na-sklade-pri-pomoshchi-1s.html
18 mistеr
 
09.08.22
13:26
(16) Значит, ты плохо описал задачу. Попробуй еще раз.
19 Ненавижу 1С
 
гуру
09.08.22
13:30
Автор имел ввиду возможность введения ограничений "для одной ячейки не более одного товара" и "для одного товара не более одной ячейки" на уровне платформы (индексов и т.д.).
Платформа на таком уровне действительно не предоставляет средств таких ограничений. Либо нужен код с блокировкой записей, либо:

ДВА регистра сведений: в одном измерение ячейка, а ресурс товар, в другом - наоборот. Ну и контроль непротиворечивости данных (чтобы записи были в обоих регистрах).
20 mistеr
 
09.08.22
13:35
(19) Ну раз ты такой телепат, то поясни еще, почему (2) не годится.
21 Ненавижу 1С
 
гуру
09.08.22
13:37
(20) потому что в (2) гарантируется только пара (Товар, Ячейка). Соответственно один и тот же товар (с разными ячейками) и одна и таже ячейка (с разным товаром) могут повторяться.
22 Kassern
 
09.08.22
13:39
(21) ну могут и могут, это ведь хорошо. Можно отдельной функцией это проверять. Зато когда потребуется сделать несколько товаров в одной ячейке, ничего переделывать не придется, а лишь изменять параметры учета (какую-нить галку проставить)
23 Ненавижу 1С
 
гуру
09.08.22
13:40
(22) хорошо/плохо это относительные понятия, но мы же говорим про условия задачи
24 Kassern
 
09.08.22
13:41
из опыта могу сказать, что был подобный момент. Мол товар единичный и несколько штук одного товара быть не может по бизнес - логике предприятия. Всю конфу и сайт запилили под эту логику, вырезав множественный учет товара напрочь. В итоге все было норм, до того момента, когда хозя решил, а давайте ка добавим еще и фабричные линейки товаров в продажу и все пошло по одному месту))
25 alarm2020
 
09.08.22
13:52
(14) Нет, не попутал. Речь об индексах
26 alarm2020
 
09.08.22
13:53
(20) Ответь себе на простой вопрос. Чем (2) отличается от простого добавления реквизита "ячейка" в справочник товаров?
27 alarm2020
 
09.08.22
13:56
(20) Да и еще один вопрос. Скажи что есть в (19) и нету в (0)? Это к вопросу о "телепатии"
28 alarm2020
 
09.08.22
13:57
(19) Два регистра в данном случае лучшее решение?
29 Ненавижу 1С
 
гуру
09.08.22
13:59
(28) не лучшее, это опять все относительно
30 alarm2020
 
09.08.22
14:07
(29) Добавить в справочник товаров индексированное поле и контролировать его уникальность. Это решение можно сравнить с решением на основе двух регистров?
31 Kassern
 
09.08.22
14:09
(26) а как вы собираетесь вести историю перемещений товара из ячейки в ячейку, если это будет реквизит номенклатуры?
32 СеменовСемен
 
09.08.22
14:10
(26) а если потом товар будет в 2х ячейках?
33 alarm2020
 
09.08.22
14:12
(31) А зачем она мне? Долгими зимними вечерами вспоминать: а вот было времечко, когда товар 1 лежал в ячейке 4?
34 alarm2020
 
09.08.22
14:12
(32) А если не будет?
35 СеменовСемен
 
09.08.22
14:15
(34) ага, наклепают такую архитектуры, а потом мучайся.
Хотя понятно что у тебя чисто теоретические задачи.
Нужно 2 уникальных индекса. Но в 1с на 1таблицу 1 уникальный индекс. Значит в твоем теоретическом решении нужно 2 таблицч
36 Kassern
 
09.08.22
14:16
(33) у вас есть опыт работы с адресным хранением? На складе есть МОЛ, которые подписывают накладные с номером и датой, где перечень товара перемещается из одних ячеек в другие. Все это дело документируется. Завтра появится вопрос, при ревизии ячеек на складе, а где товар из ячейки 4? А вы будете потом долгими зимними вечерами искать кто последний перемещал туда товар))
37 alarm2020
 
09.08.22
14:17
(35) Задача практическая. Как раз сейчас автоматическим складом занимаюсь
38 СеменовСемен
 
09.08.22
14:19
(38) ну так нужно делать расширяемую архитектуру
39 Kassern
 
09.08.22
14:19
(33) как вы думаете, почему склад хранится не в номенклатуре реквизитом, а в отдельных регистрах? Почему остаток и цена товара хранится не в реквизитах номенклатуры?
40 СеменовСемен
 
09.08.22
14:20
Я за рн: ячейка - товар - количество
41 alarm2020
 
09.08.22
14:22
(36) Нет особой необходимости перемещать из ячейки в ячейку. А в тех редких, гипотетических случаях, когда такое потребуется МОЛы подпишут два документа вместо одного, да и все
42 Kassern
 
09.08.22
14:22
как ответите на этот вопрос, поймете зачем ячейку лучше вынести из реквизитом номенклатуры. Ее вы можете в реквизитах использовать, если товар всегда лежит там и никогда не переместится, а если и каким-то чудом переместится, то вам не нужна вообще история, кто и зачем это сделал, вы будете знать лишь последнее изменение.
43 alarm2020
 
09.08.22
14:23
(40) Итого три решения: рс, рн и реквизит
44 СеменовСемен
 
09.08.22
14:24
(41) а подпиька например?
45 СеменовСемен
 
09.08.22
14:24
(44) когда с верхних полок достают вниз
46 Kassern
 
09.08.22
14:25
(43) РС - это справочно, для истории. РН - если нужны остатки в разрезе ячеек, реквизит - это значение постоянные для конкретной номенклатуры
47 alarm2020
 
09.08.22
14:26
(42) Для консультанта вы рассуждаете чересчур непрактично. Никому эта история не нужна. Если ячейка хранения меняется, то просто меняется реквизит. Разумеется, с проверкой на нулевой остаток.
48 Garykom
 
гуру
09.08.22
14:26
(37) >Задача практическая. Как раз сейчас автоматическим складом занимаюсь

Мне искренне жаль бесполезно потраченные ресурсы клиента
49 Kassern
 
09.08.22
14:27
(47) я не со стороны консультанта рассуждаю, а со стороны разработчика и архитектора. У меня большой опыт общения с заказчиками на прямую и с их хотелками. Есть опыт работы с адресным хранением и поэтому прекасно понимаю, что может быть дальше. Можете делать как вам угодно, не вам же потом с этим разбираться))
50 СеменовСемен
 
09.08.22
14:27
Можно и в реквизите хранить.
Это будет такой справочный вмс.
Товар лежит ... ну наверное в этой ячейке
51 АгентБезопасной Нацио
 
09.08.22
14:28
(47) а если остаток ненулевой, то ячейку у товара никак не сменить... пИчаль.
52 alarm2020
 
09.08.22
14:28
(40) А, нет, рн не решение. РН он и так будет.
53 СеменовСемен
 
09.08.22
14:28
(52) с ячейками?
54 alarm2020
 
09.08.22
14:29
(51) Так вынь и всунь, какая печаль?
55 alarm2020
 
09.08.22
14:29
(53) С ячейками, конечно
56 СеменовСемен
 
09.08.22
14:30
(55) те нужно хранить ячейку по умолчанию?
57 СеменовСемен
 
09.08.22
14:30
Это уже совсем другой вопрос
58 Kassern
 
09.08.22
14:33
(54) в 2х словах хотя бы, что хранить на складе собираетесь, какие бизнес-процессы там планируются.
59 АгентБезопасной Нацио
 
09.08.22
14:36
(50) можно вероятностный подход применить: примерно такой товар лежит примерно там-то... а-ля гейзненберг
60 alarm2020
 
09.08.22
14:38
(58) Всунул и вынул. Вот и все "бизнес-процессы". Что вы огород городите на пустом месте? Склад автоматический, ячейки жестко закреплены за товаром.
61 АгентБезопасной Нацио
 
09.08.22
14:41
(60) ну тогда никаких глупостей типа регистров не нужно. храните количество прямо в реквизите справочника. склад-то ведь всегда один, правда? Да и появится второй - не беда, заведете реквизит под количество на втором складе!
62 alarm2020
 
09.08.22
14:42
(61) РН нужен. Речь вообще не об этом.
63 Kassern
 
09.08.22
14:58
(60) вы так и не ответили, что такое храните на складе, чтобы "Всунул и вынул. Вот и все" работало. Ревизии есть на складе? Перемещения? Буферные ячейки возврата/приема?
64 trad
 
09.08.22
15:03
(0) уникальный индекс заменить на обычный индекс + контроль уникальности в ПередЗаписью объекта
65 alarm2020
 
09.08.22
15:23
(63) Вы уходите в сторону. Какое все это имеет отношение к вопросу?
66 Kassern
 
09.08.22
15:26
(65) Самое прямое, во всех этих процессах будет использоваться ячейка и если вы коряво ее учтете в системе, то потом столкнетесь с большим геморроем, ну или кто там после вас придет.
67 ptiz
 
09.08.22
15:27
+ к тому, что делать надо сразу нормально, и не вестись на фразы: "зуб даю, всегда будет один товар в одной ячейке!"
68 alarm2020
 
09.08.22
15:28
(66) Есть ли жизнь на Марсе?
69 Kassern
 
09.08.22
15:28
(68) я так понимаю ветку можно закрывать?
70 АгентБезопасной Нацио
 
09.08.22
15:33
(69) рано. Еще не раскрыта тема двух китайцев Вынь и Всунь.
71 alarm2020
 
09.08.22
15:37
(69) Я просто обращаю ваше внимание на то, что вы отвечаете не на тот вопрос, который вам поставили. Я напоминаю, что вопрос о том, чем заменить отсутствие уникальных индексов в 1С
72 Kassern
 
09.08.22
15:39
(71) Читайте внимательно https://its.1c.ru/db/metod8dev/content/1590/hdoc и выберите, что вам ближе