![]() |
|
Регистр сведений или накоплений для штучных позиций? | ☑ | ||
---|---|---|---|---|
0
DTX 4th
12.12.19
✎
11:06
|
Маркировка обуви. Смотрю, как сделано в типовых... Наворочено там, конечно, ужас, но это другой вопрос.
Смысл такой. Каждой паре обуви присваивается уникальный штрихкод. И надо постоянно следить за его нахождением (склад) и статусом (выведен из оборота). Хочется сделать регистр накопления, но статус в нём хранить не получится. Отсюда вывод - делаем РС. Норм? В УТ11 так и сделано. Только не пойму, почему регистр сведений независимый, но с измерением "ДокументОснование" (тот же регистратор, если я правильно понял). Отсюда ещё один вопрос. Два измерения: ДокументРегистратор, Штрихкод Ресурс - Статус Как получить последний статус по штрихкоду? |
|||
1
Фрэнки
12.12.19
✎
11:11
|
Так он периодический должен быть. Оттого и РС.
Но можно и на накоплениях сделать, только придется каждый раз все движения в запросах выбирать и сортировать опять же по дате. Не в ресурс ставить статус, а в реквизит у регистра накопления. По РС можно выбирать из среза последних на актуальную дату. |
|||
2
dka80
12.12.19
✎
11:14
|
При таком устройстве регистра ты по простому не получишь последний статус,т.к. срез последних тебе вернет все записи по измерениям. Это не регистр накопления.
Зачем ДокументРегистратор в измерения? Он точно там нужен? Может его в ресурсы засунуть или вообще в реквизиты? |
|||
3
DTX 4th
12.12.19
✎
11:24
|
(2) Вот я таким вопросом из задался.
Подумал, может я чего не знаю, и можно как-то по-модному делать срез по одном измерением. Наверн, сделаю подчиненный регистратору тогда, с одним измерением. (1) Разумеется, он периодический) В общем, спасиб, всё-таки лыжи не ехали) Если никто ничего лучше не предложит, буду делать РС с одним измерением |
|||
4
Фрэнки
12.12.19
✎
11:42
|
(3) угу. Оно хоть и на одном измерении, но за счет периодичности позволит множество событий записывать с разным статусом в ресурсах.
Измерений я бы составил два Номенклатура и Штрихкод. И вроде документом основание является тот документ, от которого ШК появился. Он затем повторяется как и Номенклатура и позволит в любом срезе последних увидеть, например, что это было со ссылкой на конкретное Поступление-партию по конкретной Номенклатура. Ну а дальше можно и Ссылку на документ установивший статус. Если поставить только ШК, то где-то будет еще храниться отдельно связь, а к кому этот ШК записали? |
|||
5
DTX 4th
12.12.19
✎
11:59
|
(4) ШК - Элемент справочник ШтрихкодыУпаковокТовара (Сделал по типу УТ11)
Там реквизит Номенклатура. Вроде логично. А делать одно измерение для документа основание, которое потом будет повторятся.. Ну хз. Очень легко в ногу себе выстрелить. Проще ещё один РС завести, но смысла пока особого не вижу. |
|||
6
Фрэнки
12.12.19
✎
12:08
|
(5) ДокОснование - это не измерение, а ресурс.
И ресурсов можно сделать несколько, чтоб не бегать по множеству таблиц с одной и той же парой Номенклатура+ШК А как лазить каждый раз через реквизит ШК, если в этом справочнике будут овердофига элементов? Периодический Измерения Номенклатура ШК Ресурсы Статус Реквизиты ДокОснованиеШК ДокОснованиеСтатуса з.ы. в РС между реквизитами и ресурсами разница практически нет - только визуально показывает, что у Ресурса как бы приоритет у информации выше. |
|||
7
Фрэнки
12.12.19
✎
12:09
|
И подумай еще в сторону того, что большом числе ШК рано или поздно они будут висеть гроздьями на выбранной Номенклатуре - их придется как-то отличать друг от друга.
|
|||
8
DTX 4th
12.12.19
✎
12:28
|
(6) >А как лазить каждый раз через реквизит ШК, если в этом справочнике будут овердофига элементов?
Не понял. Обычное левое соединение? (7) Ну и пусть висят, пользователь же не будет с ними работать. Какая разница, будут они гроздью висеть в РС или в дополнительном справочнике? Не пойму, зачем выносить номенклатуру в измерение, если она есть внутри ШК Там же один раз вяжется всё это дело с номенклатурой, и дальше отвязывать не нужно будет |
|||
9
Фрэнки
12.12.19
✎
12:47
|
Ну... А если потом окажется, что где-то в запросах придется "через точку" и вылезут тормоза?
А без точки не будет получаться, так как больше этой инфы нигде нет. |
|||
10
DTX 4th
12.12.19
✎
12:49
|
(9) Так точка влияет на производительность только в случае составных типов и кривых рук :) Я про выбор не через ВЫРАЗИТЬ)
А так индекс накинуть на реквизит и тот же РС только в профиль |
|||
11
Cyberhawk
12.12.19
✎
12:51
|
(2) "по простому не получишь последний статус,т.к. срез последних тебе вернет все записи по измерениям" // Ну так по периоду-то можно отсортировать же
|
|||
12
H A D G E H O G s
12.12.19
✎
12:51
|
Давайте я вам все расскажу:
Смотрите, есть 4 разных пути: 1) Полностью независимый регистр сведений, прямо как типовой 1С АкцизныеМаркиЕГАИС, но в котором есть измерение Документ, стоящее вторым, следом за измерением Марка, чтобы можно было отменять движения. Это самый здравый путь в плане быстродействия, но он потребует компетенций от разработчиков. 2) РС, подчиненный регистратору, непериодический. Получить текущий статус марки мы можем лишь залезая ЛевымСоединением в регистратор, чтобы получить дату документа и отсортировать по ней, либо... денормализовав данные и вынеся Дату документа в Измерение, придя к 3) Варианту - периодическому регистру сведений с периодичностью Секунда. Однако, нам не важна дата, когда сменился статус марки, нам важен сам статус, поэтому нам все же лучше вариант: 4) периодическому регистру сведений с периодичностью ПоПозицииРегистратора. |
|||
13
DTX 4th
12.12.19
✎
13:01
|
(11) Если номенклатура одна, то всё ок. Если массив - беда. Вложенный запрос, группировка и т.д.
(12) Почему первый вариант самый здравый? В нём статус марки, который лежит в ресурсе, можно будет получить только через гланды. Зачем отказывать от СрезаПоследних? |
|||
14
H A D G E H O G s
12.12.19
✎
13:02
|
(13) Все лежит в Измерениях
|
|||
15
H A D G E H O G s
12.12.19
✎
13:03
|
(13) Пока СрезПоследних формируется платформой через ВложенныйПодзапрос, а не через отдельную ВТ - он опасен
|
|||
16
DTX 4th
12.12.19
✎
13:16
|
(14) Первое правило оптимизации - не оптимизируй)
Немного смысла в этом есть, согласен (15) Можно пример? |
|||
17
palsergeich
12.12.19
✎
13:20
|
(16) Большой регистр с несколькими измерениями - боль
|
|||
18
DTX 4th
12.12.19
✎
13:25
|
(17) Несколько измерений это сколько? Три уже много?
Странно, что не придумали ещё что-то подобного, как и у регистров накопления. Тут я вроде наоборот предлагаю только одно оставить) |
|||
19
ptiz
12.12.19
✎
13:26
|
Я сделал так для фармы:
1) РС ИсторияУпаковок - подчиненный регистратору, по позиции регистратора (но срезы использовать не планирую). Измерение: Упаковка (справочник) Ресурсы: Состояние, МестоДеятельности Документ-регистратор фиксирует изменения состояния упаковки в системе маркировки. 2) В событии ПриЗаписи этого регистра анализирую всю историю по упаковке и пишу последние актуальные данные (МестоДеятельности, Статус) в реквизит справочника Упаковок. |
|||
20
H A D G E H O G s
12.12.19
✎
13:29
|
(17) С чего бы?
|
|||
21
H A D G E H O G s
12.12.19
✎
13:29
|
(19) Мои поздравления. Вы свелосипедили ИтогиСрезаПоследних :-)
|
|||
22
DTX 4th
12.12.19
✎
13:30
|
(18) >Странно, что не придумали ещё что-то подобного, как и у регистров накопления.
Ладно, я понял. Это частный случай. (19) Зачем писать в справочник, если можно использовать срез? |
|||
23
Cyberhawk
12.12.19
✎
13:30
|
(16) Потому что почти каждый соединяется со срезом последних "на лету", а не через предварительное помещение среза в ВТ.
А время выполнения соединения с вложенным запросом слишком волатильно, в отличие от ВТ. |
|||
24
pechkin
12.12.19
✎
13:31
|
срез последних не нужно делать
нужно делать коррелированый подзапрос соединение |
|||
25
H A D G E H O G s
12.12.19
✎
13:33
|
(24) Сколько человек из числа 1Сников ты встречал, кто знает, что это такое?
|
|||
26
pechkin
12.12.19
✎
13:35
|
я и сам кстати до недавнего времени не знал что 1с так умеет
|
|||
27
H A D G E H O G s
12.12.19
✎
13:35
|
(16)
ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены ПОМЕСТИТЬ ВременнаяТаблица ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дат, Номенклатура = &Ном) КАК ЦеныНоменклатурыСрезПоследних http://prntscr.com/q9rtli |
|||
28
H A D G E H O G s
12.12.19
✎
13:36
|
(26) Я бы отнес это к грязным хакам. Конструктор такое не сумеет сделать, но сумеет переварить.
|
|||
29
ptiz
12.12.19
✎
13:36
|
(21) Практически да.
Только анализ истории более хитрый и значения - сразу в справочник. |
|||
30
pechkin
12.12.19
✎
13:36
|
(28) в конструкторе и имеющие нельзя написать и что теперь?
|
|||
31
H A D G E H O G s
12.12.19
✎
13:37
|
(30) Можно.
|
|||
32
DTX 4th
12.12.19
✎
13:37
|
(24) Что это? Пример?
|
|||
33
pechkin
12.12.19
✎
13:38
|
(31) как? от руки в конструкторе писать не предлагать
|
|||
34
pechkin
12.12.19
✎
13:39
|
|ИЗ
| Документ.УпаковочныйЛист.АкцизныеМарки КАК УпаковочныйЛистАкцизныеМарки | ЛЕВОЕ СОЕДИНЕНИЕ Документ.УпаковочныйЛист.Товары КАК Товары | ПО (Товары.ИдентификаторСтроки = УпаковочныйЛистАкцизныеМарки.ИдентификаторСтроки) | И (Товары.Ссылка = УпаковочныйЛистАкцизныеМарки.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.алкАкцизныеМаркиЕГАИС КАК АкцизныеМаркиЕГАИС | ПО (АкцизныеМаркиЕГАИС.АкцизнаяМаркаЕГАИС = УпаковочныйЛистАкцизныеМарки.АкцизнаяМарка) | И (АкцизныеМаркиЕГАИС.Период В | (ВЫБРАТЬ ПЕРВЫЕ 1 | Рег.Период | ИЗ | РегистрСведений.алкАкцизныеМаркиЕГАИС КАК Рег | ГДЕ | Рег.АкцизнаяМаркаЕГАИС = УпаковочныйЛистАкцизныеМарки.АкцизнаяМарка | И Рег.Период < &Дата | УПОРЯДОЧИТЬ ПО | Рег.Период УБЫВ)) |
|||
35
H A D G E H O G s
12.12.19
✎
13:40
|
(34) Ахахах. КТ-шечка. С их офигенным помарочным.
|
|||
36
d4rkmesa
гуру
12.12.19
✎
13:41
|
(0) Да ладно, срез последних без ВТ - почти типовой запрос. ЗУП примерно из таких запросов на 50% и состоит, по крайней мере старый, а в новом, суть та же, но красивая реализация.
|
|||
37
H A D G E H O G s
12.12.19
✎
13:42
|
(33) Ладно, ты победил. В Условии, после мышечного добавления поля, нужно дописать агреггирующую функцию.
|
|||
38
DTX 4th
12.12.19
✎
13:43
|
(27) Посмотрю. Спасибо
Что за прога так умеет? (34) Ужс. Следующие программисты офигеют Было бы интересно посмотреть на сравнение производительности Если порядок тот же, то лучше отдать предпочтение читабельному запросу |
|||
39
H A D G E H O G s
12.12.19
✎
13:47
|
(38)
1) MS SQL Profiler 2) Все нормально с производительностью, мы это пользуем в дин списках, для аггрегации подчиненной таблицы. |
|||
40
DTX 4th
12.12.19
✎
13:47
|
(27) Смысл в том, что 1 лишняя выборка? Или что-то страшнее?
|
|||
41
pechkin
12.12.19
✎
13:48
|
(35) у нас от них только названия остались
|
|||
42
H A D G E H O G s
12.12.19
✎
13:48
|
(40) Забейте.
|
|||
43
H A D G E H O G s
12.12.19
✎
13:49
|
(41) Что за фирма то?
|
|||
44
pechkin
12.12.19
✎
13:50
|
(40) тогда делай рег сведений с итогами и юзай типовой функционал
|
|||
45
pechkin
12.12.19
✎
13:50
|
(43) это коммерческая информация
|
|||
46
DTX 4th
12.12.19
✎
13:51
|
(42) По скрину запрос сложно читать
Уже качаю SSMS - интересно разобраться |
|||
47
H A D G E H O G s
12.12.19
✎
13:54
|
(45) Скучно с вами, Анатолий Печкин.
|
|||
48
DTX 4th
12.12.19
✎
13:55
|
(34) Смысл ясен. Где использовать - не очень =\
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |