![]() |
![]() |
![]() |
|
Регистр Правил !? Ø |
☑ | ||
---|---|---|---|---|
0
PavelGP
09.02.05
✎
06:21
|
В статье на "Итланде" встретил такое понятие как "регистры Правил" и это касалось 1С 7.7, может кто подскажет ..что это такое?
Может новинка в 25 релизе ? |
|||
1
PavelGP
09.02.05
✎
06:48
|
Не уж то не кто не знает ..!?
|
|||
2
aKomper
09.02.05
✎
06:50
|
Дай ссылку почитать
|
|||
3
PavelGP
09.02.05
✎
06:53
|
||||
4
aKomper
09.02.05
✎
06:55
|
О, это тема! Давно такое хотел замутить, вот есть что почитать теперь.
|
|||
5
PavelGP
09.02.05
✎
07:02
|
Так это что объект методанных..!?
|
|||
6
aKomper
09.02.05
✎
07:03
|
В 7.7 - нет, не слышал что-то. Хочу делать на обычных справочниках
|
|||
7
Wasya
09.02.05
✎
07:06
|
А почитать не судьба? Регистр правил - это понятие введенное авторами. Он реализуется на обычном регистре.
|
|||
8
aKomper
09.02.05
✎
07:10
|
(7) - В 7.7 на регистрах?
|
|||
9
Zerg
09.02.05
✎
07:30
|
(8) А что, а 7.7 нету регистров?
|
|||
10
aKomper
09.02.05
✎
07:37
|
(9) - Регистры в 7.7? Счас, надо поискать, не видел че-то я их там никогда :-)
|
|||
11
Wasya
09.02.05
✎
07:41
|
в v8 реализуется на регистре сведений.
|
|||
12
PavelGP
09.02.05
✎
07:43
|
11 Про 8.0 все понятно ..Регистр сведений озднозначно ..
а вот в 7.7 только на справочниках и хитроумного кода помоему так! |
|||
13
Zerg
09.02.05
✎
07:44
|
(10) Ну поищи
|
|||
14
aKomper
09.02.05
✎
07:46
|
(0) спрашивает про 7.7, а не 8. В 7.7 то, что написано в (3), на регистрах реализовать, конечно, можно, но бессмысленно, по-моему, в большинстве случаев, поскольку придется еще и документ для установки прав лабать. А на справочниках все просто и удобно, как и сделано, опять же, в (3). Просмотрите ее, пожалуйста, все, кто тут чего-то пишет. Тема интересная, может, кто что подскажет по реализации такой вещи?
|
|||
15
Z1
09.02.05
✎
10:57
|
(0) Основная идея статьи управление выполнением программы на основании данных.
(12) Регистр сведений легко делается и в v7. смотри http://www.mista.ru/articles1c/hare/article.76.html<br>(14)Регистр лучше чем справочник. Отменил проедение документа и нет правила |
|||
16
aKomper
09.02.05
✎
11:03
|
(15) - Я это же поставил как недостаток. Можно документами изменять и периодические реквизиты справочников, для чего тут регистр тогда?
|
|||
17
Item
09.02.05
✎
11:11
|
Имхо, справочник и только, поскольку будет работать вне зависимости от установленных компонент.
|
|||
18
aKomper
09.02.05
✎
11:14
|
(17) - Точно говоришь, как это я мог такое забыть? Проклятый склероз :-)
|
|||
19
Lee
09.02.05
✎
11:14
|
(14) - что имеено интересует в реализации? все уже давно реализованно (демку можно скачать с сайта фирмы КИНТ) в вообще несложно создать отдельную конфигурацию "ресгитры правил" которая будет прикручивается к любой конфе мин за 30 мин.
(15) - Регистр лучше чем справочник, но хуже чем документ (по том простой причине что он не нужен впринципе) |
|||
20
Z1
09.02.05
✎
11:15
|
(16) Читай статью из 15. Регистры сведений гораздо лучше чем переодич.
реквизиты справочников ( ИМНО) как по логическому представлению так и физической реализацией и в dbf и sql. На регистрах сведений элементарно строятся регистры правил. |
|||
21
aKomper
09.02.05
✎
11:17
|
(20) - речь идет о 7.7. Откуда там регистры сведений?
|
|||
22
корум
09.02.05
✎
11:20
|
Хорошая статья. Полгода как у меня такая вещь работает.
Сделана на справочнике + 50 строк кода в глобальном модуле (для одного "регистра правил") |
|||
23
Z1
09.02.05
✎
11:21
|
(19) Основная идея регистра (и в том числе и регистра правил)
Это Отношение ( функция ) на множестве документов ( видах документов) ( множестве проведенных документов). |
|||
24
Z1
09.02.05
✎
11:29
|
(21) читай ссылку из 15
Статья называется "Регистры сведений на v7" |
|||
25
aKomper
09.02.05
✎
11:42
|
Регистр сведений как объект метаданных отсутствует в 7.7. Я говорил именно об этом, а вот с чем ты не согласен, я так и не понял.
|
|||
26
Lee
09.02.05
✎
11:43
|
(23) - Если речь идет о регистрах накопления (v7 нет регистров сведений), то у данных регистров ресурс может быть только числом а у регистра правил рерус может быть любой так что в v7 регистры накопления для реализации регистров правил отпадают. В документе же все реализовать гораздо проще и лучше чем на справочнике т.к. в документе есть табличная часть которая почти идеально подходит для реализации РП.
|
|||
27
Item
09.02.05
✎
11:47
|
Реализация на справочнике:
1. Длина кода = 0 2. Длина наименования = 0 3. Реквизит Идентификатор, строка, сортировка // идентификатор записи 4.5.6... Реквизит <Измерение>, любой тип, доступный отбору (необязательно) Ключевой вопрос - формирование уникального идентификатора записи, для измерений конкретного типа справочника, документа, и др. ссылок это строка, полученная путем сложения шестисимвольных идентификаторов измерений, полученных из внутреннего значения и сжатых в 36-ти значное представление _SrtToID(). Дли количества таких измерений не более четырех можно в качестве идентификатора использовать код справочника. Таким образом реализуется быстрый доступ к записи по набору измерений, а также контроль уникальности записи в регистре-справочнике. В общем случае при использовании любых типов данных строится универсальная функция ВнутрИдентификтор(Значение, Тип, Длина, Точность), а длина реквизита Идентификатор подбирается с учетом длины представлений значений этих типов. Недостатки: длинные строки не поддаются реализации, Достоинства: логика, скорость, ресурсы любого типа, периодические измерения не требуют дополнителього кода. |
|||
28
Z1
09.02.05
✎
11:52
|
(25) Да я со всем согласен. Мысль регистр сведений из v8 легко реализуется
на платформе v7 c помощью регистров накоплений v7 ( или регистров оборотов). (26) Постулат (определение) : регистрах накопления (v7) без измерений и ресурсов только с реквизитами - это регистр сведений на v7. ( Реквизит регистра накопления может быть любым объектом v7) |
|||
29
Item
09.02.05
✎
11:52
|
(27) сори.. в последней строке - "периодические ресурсы"
|
|||
30
aKomper
09.02.05
✎
11:58
|
А что за демка на КИНТе? Я слил, но там ДЛЛ-ка, хотел не парить голову и содрать код, теперь вот придется парить, все-таки..
|
|||
31
Lee
09.02.05
✎
12:00
|
(28) Теория с практикой порой расходятся :) Попробуйтереализовать РП на справочниках, документах и регистрах и сами увидите что лучше.
|
|||
32
Палыч
09.02.05
✎
12:02
|
Вопрос ко всем: для какой цели используете регистры правил?
(Можно просто перечислить назначение и общее количество регистров). |
|||
33
Lee
09.02.05
✎
12:02
|
(30) dll которая там есть к РП отношения ни какого не имеет.
|
|||
34
Item
09.02.05
✎
12:05
|
(31) Я привел реализацию регистра сведений, регистр правил это немного другое понятие. Но в общем не спорю, поскольку на регистрах и документах не делал.
|
|||
35
Item
09.02.05
✎
12:07
|
(32) Почитайте
часть1: itland.ru/lib/index.php?id=48 часть2: itland.ru/lib/index.php?id=247 |
|||
36
Item
09.02.05
✎
12:11
|
(28)
> Постулат (определение) : > регистрах накопления (v7) без измерений и ресурсов > только с реквизитами - это регистр сведений на v7. А как таки быть с уникальность набора измерений и ручным изменением регистра? |
|||
37
Z1
09.02.05
✎
12:13
|
(31) У меня давно работает логика регистров правил на регистре сведений в v7.
Кратко постановка задачи ( попробуйте свои подходы) Есть поставщики, склады, товары ( могут быть и группы товаров одна цена на всю группу товаров). Для некоторых таких троек мы задаем спец цены . Цены естественно меняются во времени. Этот регистр вычисляется при проведении определенных документов - разных типов документов. Если отменим проведение документа то регистр пропадет. проведем сново появиться. Минус Ваших решений придеться писать свой аналог включить выключить правило. Я же не говорю что нельзя реализовать но на мой взгляд сложнее. Опять же все зависит от задачи. (ИНМО) - на v7 Регистры Правил лучше всего реализовывать с помощью регистра накоплений содержащий только реквизиты ( такой регистр я называю регистром сведений v7 - он очень близок к регистру сведений v8). |
|||
38
Палыч
09.02.05
✎
12:18
|
(35)
Я читал http://www.itland.ru/lib/index.php?id=48<br>http://www.itland.ru/lib/index.php?id=247<br> и еще вот это: http://www.itland.ru/lib/index.php?id=341<br>Меня интересует для чего ПРАКТИЧЕСКИ применяется эта технология. |
|||
39
aKomper
09.02.05
✎
12:23
|
(37) - меня смущает одно - методы получения итогов из регистров и справочников. Мне не нужно динамически менять правила, их нужно записать один раз и применять для документов, вот и все, что треба, как видите, все просто
|
|||
40
Item
09.02.05
✎
12:25
|
(31) включить выключить правило - для справочника действует УстановитьРеквизитСправочника() в применении к периодическому ресурсу, хотя проблема лишней записи остается. Но здесь мы с вами смешали в кучу вышеназваннон достоинство периодического реквизита v7 и понятие регистра сведений. Разве в v8 проведение документа поддерживает откат изменений РС? Интересуюсь искренне, поскольку практики в v8 не имею.
|
|||
41
Item
09.02.05
✎
12:27
|
(40) читать в заголовке не 31 а 37
|
|||
42
Z1
09.02.05
✎
12:39
|
(40) Я не против периодического реквизита v7 ( для простых отношений)но посмотрите как периодич. реквизиты реализованы на уровне базы данных в v7 -все в одной неуправляемой таблице.
Опять сложное отношение (см 37) уже не сделаешь на переодич элементах справочника v7. |
|||
43
Item
09.02.05
✎
12:50
|
(42) Да, реализованы худо. Но посмотрите как работает регистр сведений в v8 - юзер открыл и внес что надо. А как в принципе реализовать уникальность набора измерений и ручное изменение в регистре накопления v7?
|
|||
44
Lee
09.02.05
✎
13:12
|
(38) Вообщето в статьях были примеры для чего применяются РП. Возможно надо прочитать еще раз...
|
|||
45
Палыч
09.02.05
✎
13:16
|
(44)
А вот язвить не надо! Сам ты для чего используешь сабж? |
|||
46
Lee
09.02.05
✎
13:24
|
(45) Вообщето я не язвил а говорил вполне серьезно (в каждой статье есть пример использования).
Вот только несколько применений 1.Права доступа 2.Установка значений реквизитов документов (Типов цен, скидок и т.д.) |
|||
47
СевероВосток
09.02.05
✎
13:37
|
(43) Для контроля уникальности набора реквизитов есть чУдная процедура (в таблице значений) - свертка.
|
|||
48
Палыч
09.02.05
✎
13:41
|
(46)
Ну возьмем, хотя бы, права доступа. Для своей базы я с ходу могу придумать штук 30 различных наборов детерминатов и еще неизвестно сколько появится по ходу работы. Т.е. в базу надо будет добавить 30 справочников. Вот я о чем. |
|||
49
Lee
09.02.05
✎
13:50
|
(48) Разумеется нет.
Существует 3 вида РП 1.Служебный (детерминанты и корни нам известны) 2.Системный (детерминанты и корни нам известны, но сам РП строится на таблице mlx так данные в нем не аргегатного типа, например РП склонения слов) 3.Произвольный (детерминанты и корни нам НЕ известны) так вот для описанной выше задачи используется произвольный РП - он один, вне зависимости сколько измерений и ресурсов вы придумаете. |
|||
50
СевероВосток
09.02.05
✎
13:57
|
to Палыч:
Преимущества технологии "Регистров правил" становятся наиболее очевидны в тиражных продуктах. В "доработанных под клиента" конфигурациях логику можно (опять же до определенного момента) прописывать в коде. Тиражный продукт должен удовлетворять множеству различных требований (правил) клиентов, причем непротиворечивым образом. Поскольку конфигурация "Учет. Анализ. Управление" (КИНТ) одна и та же для всех клиентов, то естественно, что регистры правил в ней широко используются. Один из примеров (практических!). Выбор типовой операции в документе (какие движения и проводки должен сделать документ). В текущем релизе УАУ детерминант РП "Установка ТОП" состоит из 12(!) измерений. Не поленюсь перечислить (без расшифровки семантики): Приоритет, Направление, Вид документа, Товар, Категория товара, ОС, Фирма, Контрагент, Подразделение, Бизнес-цикл, Категория клиента, Префикс УРБД. Данный набор определяет контекст, от значения которого зависит выбор операции в документе. Не существует альтернативы регистрам правил для решения подобных задач (а их множество, если оглядеться повнимательнее) в общем виде. |
|||
51
Item
09.02.05
✎
14:00
|
(47) Боюсь, что вы не поняли.
Регистр сведений суть функциональная зависимость от нескольких аргументов, и значение каждого ресурса определено однозначно. А вот при использовании движений регистра v7 два документа могут установить два значения одного и того же ресурса. Вот я и спрашиваю сторонников регистров: как вы решаете эту проблему? |
|||
52
СевероВосток
09.02.05
✎
14:09
|
(51) Я вообще не сторонник ни регистров, ни справочников, ни документов :).
В (47) я лишь намекнул на то, что в принципе любой из этих объектов можно выгрузить в ТЗ и проконтролировать уникальность детерминанта через операцию свертки. |
|||
53
Палыч
09.02.05
✎
14:11
|
(49,50)
Ага! Но как обобщить детерминанты из различных областей логики программы: скажем, от склонения фамилий и выбора печатной формы документа до разграничения прав на выдачу наличности из кассы и товаров со склада? 90% элементов детерминантов - не пересекаются! зы: я имею ввиду не тиражное решение |
|||
54
Z1
09.02.05
✎
14:20
|
(51) До конца не понимаю зачем нужна одназначность.
Если есть в измерении время то это не совсем наверное правильно. Если нет времени то тогда действительно регистры сведений нужно реализовывать в v7 на справочниках. Но даже приведенные в этой ветке примеры ( Права доступа, Установка значений реквизитов документов ) зависят от времени. Для меня понятие в понятии Регистр явно или неявно связано со временем. В Ваших задачах наверное по другому, поэтому мы вкладываем разный смысл в одинаковые термины. |
|||
55
Item
09.02.05
✎
14:24
|
(53) В третьей статье из итланда, на которую вы мне указали, по картинкам:)можно полагать, что все регистры правил реализованы автором одним справочником плюс служебными подчиненными.
|
|||
56
СевероВосток
09.02.05
✎
14:37
|
(53) А для чего надо обобщать детерминанты? Они не пересекаются и... правильно делают. Каждый РП имеет свой (уникальный) детерминант.
Или я не понял вопроса? |
|||
57
Item
09.02.05
✎
14:39
|
(51) В том то и дело, что по определению не может быть в регистре сведений две записи с одинаковым набором измерений. И время как специфическое измерение не является исключением. Точно так в v7 нельзя установить два разных значения периодического реквизита на одну дату (один документ).
Вот и получается, что для реализации РС, требующего регистрацию изменений документами, регистр накопления v7 подходит, а для всех прочих РС, даже периодических, но не требующих регистрации, НЕ БУДЕТ РАБОТАТЬ, в отличие от того же справочника. |
|||
58
LostGen
09.02.05
✎
14:50
|
Заинтересовало. Где взять демо-конфу с РП на "пощупать-поизучать"?
|
|||
59
СевероВосток
09.02.05
✎
14:56
|
to Палыч:
Сопоставил (53) и (48) и понял, что вам не хотелось бы создавать 30 справочников, реализующих различные пользовательские детерминанты. Ок, вопрос понятен. В УАУ (там РП на справочниках) справочники не размножаются по причине использования подчиненных (и еще каких-то хитрых механизмов вроде ссылочного детерминанта). Но вообще, последние веяния - реализация пользовательских РП на документах (реализовано). Один РП - один документ (сами правила - в табличной части). --- По поводу реализации в V8. Не уверен, что регистры сведений впрямую подойдут для реализации РП. |
|||
60
Палыч
09.02.05
✎
14:58
|
(54)
Согласен! Продолжим рассуждение: в статьях на итланде приведена лишь идея (весьма полезная) с иллюстрациями. Единственный пример реального ее использования - "Учет. Анализ. Управление" от КИНТ-а (если ошибаюсь, примеры, пожалста, в студию). Вопросы технической реализации РП оставим, пока, в стороне. Как мы уже выяснили, область применения РП довольно обширна: от RLS до описания бухгалтерских проводок. Так вот, когда я себе представляю конфигурацию хотя бы только с RLS на РП, то вижу этакого "монстра", в котором количество справочников РП сравнимо (если не превышает) количество "основных" справочников. Пока я ничего не утверждаю - плохо это или хорошо. Просто хочу услышать мнение аудитории, особенно имеющих практический опыт в этом вопросе. |
|||
61
Палыч
09.02.05
✎
15:00
|
(60) было для (56)
|
|||
62
Wasya
09.02.05
✎
15:02
|
(55) неправ. Там журнал документов и открытый документ.
|
|||
63
Палыч
09.02.05
✎
15:11
|
Насчет реализации: для меня пока актуальны 7.7, SQL и 1С++, поэтому, думаю, достаточно в конфигураторе завести справочник и потом обращаться с ним как с обычной SQL-ной таблицей.
|
|||
64
Item
09.02.05
✎
15:17
|
(62) Научите меня еще различать пиктограммы на дочерних окнах и панелях инструментов.
|
|||
65
Item
09.02.05
✎
15:24
|
Кстати, вне зависимости от способа реализации, для обработки большого объема данных РС в отчетах красиво смотрится метод Запрос.Получить(Группировка1, Группировка2,..) в запросе с группировками по измерениям без итогов. Прям как для этого создан.
|
|||
66
Wasya
09.02.05
✎
15:38
|
(65) в этом весь смысл. Нужная информация получается простейшим запросом.
|
|||
67
Wasya
09.02.05
✎
15:45
|
(62) Облажался. Действительно справочники.
|
|||
68
Item
09.02.05
✎
15:48
|
(66) Когда дело касается всего одной записи, например при пересчете строки документа нужно бысто найти запись по измерениям и выдать значение ресурса, то запрос по всему РС в этом случае - просто расточительство. Потому-то в реализации и нужен некий ИД записи, "естественный" или искуственный.
|
|||
69
СевероВосток
09.02.05
✎
15:49
|
(60) Насчет "монстра".
Вспомнил, что вначале служебные РП в УАУ реализовывались именно как отдельные справочники. А потом, когда их количество перевалило за десяток, спохватились и свели все служебные РП в пару справочников. |
|||
70
Палыч
09.02.05
✎
16:12
|
(69)
А, ну вот... |
|||
71
reminder
09.02.05
✎
17:24
|
(60) Реально алгоритмы подобного рода нужны при действительно сложной
задаче. Например такое я делал для того чтобы сделать перевод с одного плана счетов на другой (Украина) не только остатки но и движения за полгода. Делалось это еще в 2000 году, статей Дмитрия Малюгина я правда не читал ж)) А идею взял из старой старой проги файрвола AtGuard, где он сам динамически всплывает с предложением задать набор атрибутов типа порт, ИПвходящий, TCP/UDP и так далее, а на выходе дается либо Разрешить либо Нет. У меня же было так: первичными атрибутами являлись атрибуты стандартной бух проводки (СчетДебет, СубконтоДебет1, ... СчетКредит, ..., Суммма. Иногда входящий набор был не только 1 проводкой, а серией проводок, то есть Атомом считалось более одной проводки. А выход был последовательным преобразованием входа в выход (функциями, а не только жесткими детерминантами). Делал на документах. Перехватил стандартную Операция.Записать и при проведении любого документа перебирались документы ПравилаПереноса и если правила не находилось то всплывал НовыйДокумент с уже заданными входящими параметрами и предлагал выбрать (настроить) выход. Если же правило было - конвертировалось по нему. За неделю простого проведения разных документов динамически заполнили все правила и вуаля ж)) Насколько целесообразно это применять в простой конфигурации тут вопрос. Больше этот алгоритм мне лично никогда не потребовался ж)) А если вопрос в коэффициенте угла пальцев дык есть более интересные способы повеселиться ж)) |
|||
72
Палыч
10.02.05
✎
07:28
|
(71)
Ха! Чё-та все сложные, блин, задачи попадаются ;-) И где вы простые берете? ;-) |
|||
73
СевероВосток
10.02.05
✎
08:45
|
to Палыч
Кстати, было бы неплохо, если бы кто-нибудь сподвигнулся создать в 1С++ класс такой - РП... :) |
|||
74
Палыч
10.02.05
✎
09:25
|
(73)
Да класс-то не проблема. Идея должна созреть! зы: Посмотрел я УАУ. Действительно "тиражное" решение. |
|||
75
СевероВосток
10.02.05
✎
09:27
|
(74) А почему "тиражное" в кавычках?
|
|||
76
Палыч
10.02.05
✎
09:37
|
Ну в смысле, оно действительно ТИРАЖНОЕ, читай - требует доработки ;-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |