|
Регистр сведений, ограничение уникальности
|
Я
|
|
rowvg 26.03.21 - 11:00 | В SQL Server на таблицу можно наложить любое количество ограничений уникальности. Как такое же сделать для регистра сведений 1С? То есть есть РС с тремя измерениями, непериодический. Платформа 1С не позволит создать 2 записи с тремя одинаковыми ключевыми полями. А если мне нужно еще дополнительное ограничение уникальности, заключающееся в том чтобы нельзя было создать 2 записи с 2 совпадающими ключевыми полями. Как это можно сделать в 1С? В транзакции. |
Ненавижу 1С 1 - 26.03.21 - 11:03 | ( 0) никак, либо еще один регистр с ДВУМЯ измерениями, либо подумать, а зачем требовать уникальность ТРЕХ, если ДВА из них уже уникальны?
лучше подумать над второй альтернативой |
Малыш Джон 2 - 26.03.21 - 11:04 | ( 0) 1. Если нельзя делать совпадающие по двум измерениям, значит их можно заменить одним, хранящим все сочетания этих двух
2. Если лень думать/лень делать/легаси, то делать запись , проверять задвоение, если есть, то удалять |
fisher 3 - 26.03.21 - 11:05 | ( 0) Никак. Но требование странное. Возможно, тебе нужен РС с двумя измерениями и третьим полем в качестве реквизита. |
fisher 4 - 26.03.21 - 11:07 | Многие новички часто воспринимают РС в качестве самого простого объекта, максимально близкого к "простой табличке".
Это не так. РС достаточно специфичен. Ближе всего к "простой табличке" справочник.
|
rowvg 5 - 26.03.21 - 11:11 | ( 2) Требования поменялись к существующему РС. Легче всего наложить еще одно ограничение уникальности и все. Так делается в SQL Server. Иначе придется менять структуру РС. |
rowvg 6 - 26.03.21 - 11:13 | ( 2) А как это сделать в транзакции? Чтобы не удалять потом запись, а отменять саму транзакцию? |
Малыш Джон 7 - 26.03.21 - 11:15 | ( 6) в транзакции тебе такой метод даст кучу блокировок |
rowvg 8 - 26.03.21 - 11:17 | Спасибо, тогда придется переносить одно измерение в ресурс.
|
rowvg 9 - 26.03.21 - 11:18 | ( 7) А какие блокировки: на ожидании или взаимоблокировки? И почему? |
Ёпрст 10 - 26.03.21 - 11:22 | ( 8) надо не в ресурс , а в реквизит тогда уж |
Ёпрст 11 - 26.03.21 - 11:22 | хотя..монопенисуально будет
|
rowvg 12 - 26.03.21 - 11:24 | Подумал немного - нельзя убрать третье измерение. Тогда затрутся записи прежних лет когда пустые наборы записывать буду с отбором только по двум измерениям.
|
rowvg 13 - 26.03.21 - 11:25 | 12+ Вернее вся логика работы РС полетит.
|
rowvg 14 - 26.03.21 - 11:27 | Спасибо всем, надо подумать
|
acht 15 - 26.03.21 - 11:29 | ( 12) Выставить отказ из обработчика перед записью? |
hhhh 16 - 26.03.21 - 11:29 | ( 12) ну это и ежу понятно. Что надо сначала создать ресурс, потом обработкой скопировать измерение в ресурс, а потом уже удалять измерение. |
Ёпрст 17 - 26.03.21 - 11:30 | ( 12) че тут думать то ? Пихай в третье измерение всегда одинаковое значение, хоть пустуюссылку, хоть предопределенное значение справочника и привет. Вот и будет тебе всегда уникальность по 2 измерениям. |