![]() |
![]() |
![]() |
|
V8. Регистры сведений. Есть вопросы по целесообразности применения. | ☑ | ||
---|---|---|---|---|
0
UShAG_Lis
29.08.04
✎
17:04
|
С переодическими и подчиненными регистратору все ясно. Мне не понятно, когда имеет смысл применять регистр вместо подчиненного справочника.
У Волшебника в книге "Разработка ...8.0" глава 8 вообще начинается с примера, Измерение: Спр.ФизЛица, Ресурс: Перечисление.РаботаетНеРаботает. Почему предлагается создать регистр, а не создается реквизит у того же справочника? |
|||
1
Тот
29.08.04
✎
17:17
|
А как ты историю будешь видеть? Когда работал, когда нет. Есть ведь люди - неделю работает - неделю пьёт...
|
|||
2
UShAG_Lis
30.08.04
✎
10:08
|
Перефразирую вопрос. Не понятно, когда применять НЕпериодический регистр сведений. Чем он лучше подчиненного справочника?
|
|||
3
Nikulin
30.08.04
✎
11:03
|
Задание прям с сертификации.
Предлогается вести учет по FIFO LIFO с возможностью переключения лишь раз в год.
Экзаменатор сразу же проверил как реализован этот переключатель.
Я сделал на непериодическом регистре сведений. это его удовлетворило.
И ни строчки кода.
|
|||
4
romix
30.08.04
✎
12:07
|
(2) Регистр сведений лучше подчиненного справочника тем, что он нормально формируется документами. Удалил документ - сами удалились и движения в регистре. Провел - они опять появились. Со справочниками - геморно, да и на той же сертификации сразу обругают и заставят (в следующий раз) юзать регистры.
В 7-ке меня, например, очень напрягает, что их нет - приходится выеживаться разными способами. Поюзаешь рег. остатков - получается нехорошая штука: база растет каждый месяц как снежный ком (на сертификации опять же пошлют учиться). Рег. сведений от этого эффекта свободны. Так что я их хочу в 7-ке (нужны достаточно часто), а их там и нет. :-)
|
|||
5
Foma
30.08.04
✎
15:35
|
для (4) метод "УстановитьРеквизитСправочника" в 7.7 (в 8-ке, наверняка, есть то-то подобное), поэтому пример не тот. приведи, плз, нужный пример, иначе не могу понять твой ответ.
|
|||
6
romix
30.08.04
✎
17:49
|
(5) Скажу короче: делать на справочниках то, что можно делать на регистрах, НЕЛЬЗЯ. Это связано с необходимостью согласовывать доки и (движения регистров), когда правят доки. Так вот, регистр при этом исправляется сам, а в справочнике для этого нужно писать большой объем достаточно "криворукого" кода.
|
|||
8
427
30.08.04
✎
22:24
|
. .
"V8. Есть вопросы по целесообразности применения." АкакиеНаку вопросы. Пока нет целесообразности применения вообще. |
|||
9
Волшебник
30.08.04
✎
22:37
|
(2) Он не лучше, он другой. Для каждой задачи - свое решение. Есть статья на ИТС что-то типа "Выбор прикладных объектов для решения определенных задач", там есть пара отличий табличной части, подчиненного справочника и регистра сведений. В моих раздаточных материалах для Мастер-класса была спецтабличка по этим трем понятиям.
(3) Неверно. Регистр сведений должен быть периодическим. (4) Регистры сведений бывают неподчиненные регистратору, т.е. без привязки к документам. (5) Подобного в 8.0 нет, потому что нет периодических реквизитов справочников. (6) Верно. |
|||
10
427
30.08.04
✎
23:05
|
(6,9) неверно. на справочниках МОЖНО сделать тоже самое, что и на регистрах... И справочник будет правиться якобы сам (естественнно, с помощью кода)...
Но - получение итогов будет далеко не оптимальным по времени... Это да... Но если сделать некриворукими руками не-"криворукий" код - то работать будет. |
|||
11
Волшебник
30.08.04
✎
23:06
|
(10) Неверно. На текстовых файлах МОЖНО делать то же самое, что и на справочниках. И текстовый файл будет правиться якобы сам (естественнно, с помощью кода)... и т.д.
|
|||
12
427
30.08.04
✎
23:37
|
Опять таки неверно... К тому же передергивание
Справочник позволяет сэмулировать регистр штатными методами... Но - медленно |
|||
13
Волшебник
30.08.04
✎
23:38
|
(12) В принципе все можно хранить в строковой константе неограниченной длины.
|
|||
14
mszsuz
31.08.04
✎
00:50
|
(4) >Так что я их хочу в 7-ке (нужны достаточно часто), а их там и нет...
А вот почитай статью из "Коллективного разума": http://1c.proclub.ru/modules/kb/article.php?storyid=30 |
|||
15
romix
31.08.04
✎
15:04
|
(9) >(4) Регистры сведений бывают неподчиненные регистратору, т.е. без привязки к документам.
Не могу понять, зачем это сделали? Им что, проблем мало? (имхо) Хотел это спросить, когда читал книгу по 8-ке. |
|||
16
romix
31.08.04
✎
15:05
|
(14) Выдержка из статьи: "Ресурс (в терминах v8) соответсвует РесурсуСведений (реквизит V7), даее псевдоРесурс"
Я правильно понимаю, что автор статьи предлагает забить на "геометрический" рост таблиц остатков? На сертификации это же вроде бы заворачивают? (минус 2 балла)? |
|||
17
SnarkHunter
31.08.04
✎
15:10
|
Что такое "геометрический" рост?
|
|||
18
romix
31.08.04
✎
15:18
|
(17) Ну это как гомерический хохот...
Короче, когда регистр остатков не выводится в 0, а регистрируются только приращения остатков (без их уменьшения). |
|||
19
SnarkHunter
31.08.04
✎
15:24
|
Про рост понятно... И сразу было понятно... При чем тут "геометрический"? Почему не линейный или экспоненциальный?
|
|||
20
romix
31.08.04
✎
16:29
|
(19) Движения + каждый месяц в таблицу остатков добавляются записи остатков за прошлые месяцы.
Первый месяц: 1(дв)+1(ост) 2 Второй месяц: 1(дв)+1+1(ост) 3 Третий месяц: 1(дв)+1+1+1(ост) 4 И т.д. Ой, действительно линейный (я был не прав)... Ну все равно это "как снежный ком", т.е. ситуация неприемлемая. |
|||
21
Asmody
31.08.04
✎
16:41
|
(15) сразу вспоминается ЗначенияСвойствОбъектов из УТ... на фига тут документ? >;))
|
|||
22
romix
01.09.04
✎
09:51
|
(21) Ну, для порядка... С периодическими константами/реквизитами вроде бы в этом основной гемор: юзера наколбасят, сначала документами, потом ручками, а потом поди разгребай за ними. Я бы запретил все подобные вещи, и разрешил только строго документами...
|
|||
23
Asmody
01.09.04
✎
10:47
|
(22) наколбасят... а ты им меню "Операции" не давай...
|
|||
24
romix
01.09.04
✎
14:21
|
(23) Через обработку и наколбасят, которая константы выставляет
на указанную дату. Дату, конечно же, указывать забывают, а 1С это проглатывает (ставит по умолчанию текущую). С реквизитами спр - то же самое. Имхо надо запрещать правки период. реквизитов, не привязанные к документам. А в типовой 1С они как раз разрешены (специально, наверное...). :-) |
|||
25
Nikulin
01.09.04
✎
15:17
|
(9) Мдя.. конечноже я напутал.. Естественно периодический (периодичностью год) :)
|
|||
26
serezhenko
09.09.04
✎
17:11
|
(6)
Вот пример: В типовой УТ персональные настройки пользователя хранятся в регистре сведений НастройкиПользователей. При этом разработчики "выеживались" с формой элемента справочника пользователи. На франчайзинговой конфе справшивал как лучше в такой ситуации - ответ: как проще обращаться к данным, так и делай. Так проще обратиться к реквизитам. ИМХО Регистры сведений (ну кроме случая с периодикой) имеет смысл делать при необходимости отслеживания уникальности по "ключу" (комбинации измерений). |
|||
27
Ёж
09.09.04
✎
18:21
|
(26) Я тоже довыёживался...
|
|||
28
Z1
09.09.04
✎
18:38
|
"Я правильно понимаю, что автор статьи предлагает забить на "геометрический" рост таблиц остатков? На сертификации это же вроде бы заворачивают? (минус 2 балла)? "
(romix) Ты ничего не понял из статьи. Там кстати есть и пример использования. Можешь сам убедиться что нет никакого геометрического роста базы и вообще нет понятия закрытия региста V7 если у тебя в регистре содержаться Только реквизиты. Минус два бала за сертификацию за такой метод - ну мне это знаешь как-то не грозит. Не давай неправильных советов другим. Регистр сведений v7 работает и его функциональность практически идентична рег сведений на v8. Кстати с помощью регистров сведений v7( v8 ) временые зависимости от двух и более велечин. (all) всем кто работает с v7 советую разобраться и понять статью из (14). |
|||
29
romix
09.09.04
✎
19:18
|
(28) Скачал, посмотрел структуру регистра. Ну я это часто использую для выборки (все в Измерениях). А как там сделать получение последних состояний? ОбратныйПорядок()+ВыбратьДвижения()?
|
|||
30
Z1
09.09.04
✎
19:22
|
(29) Ну я тебя точно не понимаю. Переведи с русского на русский :)
|
|||
31
romix
09.09.04
✎
19:30
|
(+29) У меня была задача: есть электромеханики, есть лифты (2400, возможно будет больше). Документом происходит закрепление определенных лифтов за определенным механиком. Для расчета з/п механиков надо получить выборку: все лифты по всем механикам на 1 число указанного месяца. Так вот, через периодические реквизиты это решается. А через такую схему - я долго думал, но не понял, как сделать оптимально (чтобы не строить гигантскую таблицу в памяти).
|
|||
32
Z1
09.09.04
✎
19:54
|
(31) Не совсем понятно что ты хранишь в этом "регистре"
если база dbf тогда Рег.Обратныйпорядок(1); Цикл по сотрудникам Рег.УстановитьФильтр(Сотрудник); цикл по лифтам Рег.УстановитьФильтр(Лифт) Рег.ВыбратьДвижения(, Дата1); Пока Рег1.ПолучитьДвижение() = 1 здесь твой результат; Прервать; КонецЦикла; // по регистру КонецЦикла; // по лифтам КонецЦикла; // по сотрудникам если база sql можно написать прямой запрос select и top(1) |
|||
33
romix
09.09.04
✎
20:25
|
(32) В принципе реально, но тут же такая кора с быстродействием...
SQL-прекрасно, но не хочется ручками туда лезть... |
|||
34
Z1
09.09.04
✎
20:42
|
(33) Коры никакой нет. Ты же отбираешь отфильтрованные движения.
Фильтр делает только один шаг по индексу для каждой пары сотрудник,лифт. |
|||
35
romix
09.09.04
✎
20:46
|
(34) А вроде бы верно! Я попробую и так и так сделать, и результат напишу...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |