Имя: Пароль:
1C
1С v8
Посоветуйте как изменить структуру регистра в этом случае ...
0 Cerera
 
10.04.13
10:38
Был регистр:  
 ПараметрыЗарпаты
Измерения:
 НижнийИнтервал
 ВерхнийИнтервал
Ресурс: Коэффициент

в нём задавались инетервалы
0 - 20
20 -30
30 -40
и т.п.

А потом в запросе этот регистр соединялся с другим регистром по поподанию показателя  второго регистра в диаппазон вот так:

Вот так это выглядело:

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПараметрыУдержанияАКБ.СрезПоследних({(&ВыбКонПериода)}, ) КАК ПараметрыУдержанияАКБСрезПоследних
ПО КоличествоАКБ.ЧислоАКБ >= ПараметрыУдержанияАКБСрезПоследних.НижняяГраницаИнтервалаАКБ
               И КоличествоАКБ.ЧислоАКБ < ПараметрыУдержанияАКБСрезПоследних.ВерхняяГраницаИнтервалаАКБ


И всё работало прекрасно и всех устраивало, но потом всё изменилось.
Интервалы сузились. Стали вида:
0 - 20
20 - 25
25 - 30
и тогда при соединении конечно же началось задваивание для некоторых случаев, например, число 21 стало попадать в диаппазон
20 - 30
и 20 - 25
поскольку интервалы - это измерения регистра сведений.
И теперь вопрос: Что мне сейчас делать?
Цена деления то поменялась.
Самый глупый вариант - это оставить внешне документ как есть, но при проведении писать значение для всех подмножеств чисел интервала
0-1    - 20
1-2    - 20
2-3    - 20
2-4    - 20
...

Но это же глупо. Надо лучше перепроектировать регистр. Но по какому признаку подскажите? в ресурсы чтоли интервалы засунуть? И создать Постоянное измерение. Но тогда неуникальность значений будет...
1 В тылу врага
 
10.04.13
10:39
убрать 20-30
2 wise
 
10.04.13
10:41
(0)интервалы НЕ должны пересекаться !
3 Cerera
 
10.04.13
10:41
(1)ну это для одной только ситуации. а если они захотят задним  числом сформировать отчет чтобы по старым параметрам рассчитывался то ваше решение уже не подойдет.
4 Godofsin
 
10.04.13
10:41
периодический регистр сведений?
5 Cerera
 
10.04.13
10:42
(4)периодический
6 Cerera
 
10.04.13
10:42
(2)просто РС периодический. и данные имеют свою актуальность
7 Cerera
 
10.04.13
10:43
а руководство может вообще придумать новые интервалы:
типа 25-27
27-30
8 Cerera
 
10.04.13
10:43
тут както надо выборку делать чтобы только последнее попадание в интервал бралось
9 Фокусник
 
10.04.13
10:44
(7) Путь руководство придумает такие интервалы:
0 - 19
20 - 24
25 - 30

;)
10 Fragster
 
гуру
10.04.13
10:44
ресурс "использование"
11 Fragster
 
гуру
10.04.13
10:45
чтобы можно было периодами выключать интервалы
12 В тылу врага
 
10.04.13
10:45
должен быть:
1. справочник ИнтервальныеПолитики с ТЧ Интервал - вот тут и заполняем интервалы
2. периодический РС ДействияИнтервальныхПолитик с реусрсом Политика - тут заполняем историю
13 Cerera
 
10.04.13
10:48
(10)(11)ну ведь если выключишь старый интервал то он не будет попадать в отчет сформированный за прошлый год
14 Cerera
 
10.04.13
10:49
А как бы реализовать чтобы выбирались все интервалы в которые попадает число по диаппазону и из них уже выбрать самый старший по периоду
15 КонецЦикла
 
10.04.13
10:50
(0) Делай для минимального шага (единица) и не ипи моск
1 - 20
2 - 20
...
(12) Справочник будет размножаться, будут пересечения, разработчик сам запутается несмотря на историю изменений
16 Бледно Золотистый
 
10.04.13
10:50
Может просто ЧислоАКБ - Коэффициент

1 - 2
2 - 2
3 - 2
4 - 2
5 - 2

6 - 5
7 - 5
и т.д.
17 SherifSP
 
10.04.13
10:51
(14) Только ресурсы
18 Cerera
 
10.04.13
10:53
(15)для минимального шага это не круто. потому что интервалы могут быть от 100 до 10 000
19 cw014
 
10.04.13
10:55
Добавь реквизит "действует до" и дату, потом проверяй на вхождения в нее
20 cw014
 
10.04.13
10:55
(19) А может и не реквизит, а измерение
21 Cerera
 
10.04.13
10:56
(20)получается мы должны при проведении нового документа, менять старые записи?
22 cw014
 
10.04.13
10:59
(21) Не, наверное лучше так. Добавить Ресурс типа булева, "действует". При проведении нового документа собирай старые записи с "действует=истина" и записывай записи  с "действует=ложь". Следом клади новые записи, которые действуют = истина.

А в запросе получая срез последних, можно отобрать по ресурсу "действует"
23 Cerera
 
10.04.13
11:00
(22)а что же делать если за прошлый год отчет захотят сформировать, а "действует" будет у старых записей регистра ложью?
24 Fragster
 
гуру
10.04.13
11:51
(13) дык используй в отчете за прошлый год те интервалы, которые были включены за прошлый год
25 Fragster
 
гуру
10.04.13
11:51
либо разделитель вариантов интервалов сделай, если одновременно несколько вариантов должно быть
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.