|
v8.2: Выбор источника для хранения записей - Справочник vs РегистрСведений? | ☑ | ||
---|---|---|---|---|
0
dave2000
09.09.13
✎
12:06
|
Есть регламентное задание, которое исполняется раз в несколько минут. Оно должно проверять некий список для рассылки, каждый элемент которого - это запись с данными для отправки письма с полями "отправитель", "получатель", "тема сообщения", "текст" и признак "отправлено".
Регламентное задание должно отбирать элементы с признаком "Отправлено=Ложь", отправлять письмо, а запись помечать как "Отправлено=Истина". ВОПРОС: какой объект лучше всего использовать в качестве такого списка, РегистрСведений или Справочник? |
|||
1
artems
09.09.13
✎
12:09
|
(0) Голосовалку давай :) Я за периодический регистр сведений.
|
|||
2
Heckfy
09.09.13
✎
12:11
|
В константах или перечислениях храни. :)
|
|||
3
dave2000
09.09.13
✎
12:11
|
Попробовал регистр сведений, но столкнулся с таким моментом:
Набор = РегистрыСведений.СписокРассылки.СоздатьНаборЗаписей(); Набор.Отбор.Отправлено.Установить(Ложь); Набор.Прочитать(); Для каждого Зап Из Набор Цикл //Код отправки письма Зап.Отправлено = Истина; КонецЦикла; Набор.Записать(); При выполнении Записать() выдаёт ошибку, что в наборе присутствуют записи, которые не соответствуют отбору. Получается что нужно перебирать все полностью записи РегистраСведений, что как-то кривовато. |
|||
4
Heckfy
09.09.13
✎
12:12
|
(3) Юзай менеджерЗаписи
|
|||
5
dave2000
09.09.13
✎
12:15
|
Получается, со справочником в этом плане легче работать: отобрать нужные элементы в запросе, а потом через ПолучитьОбъект() изменить и всё. Но справочники мне кажется немного для других целей используются..
|
|||
6
mistеr
09.09.13
✎
12:15
|
Справочник.
Регистру нужен естественный ключ (набор измерений), а тут его нет. |
|||
7
dave2000
09.09.13
✎
12:17
|
(4) Ну-ка подробнее, как именно
|
|||
8
Heckfy
09.09.13
✎
12:17
|
А по сабжу (6) +1.
ЗЫ: В регистре можешь историю изменения по справочнику хранить, елси нужно. |
|||
9
Defender aka LINN
09.09.13
✎
12:18
|
Если нужна ссылка - справочник. Если ссылка не нужна - регистр.
(3) При проектировании регистра полезно думать головой, а не другими частями тела. Сфигали "Отправлено" - измерение? |
|||
10
Heckfy
09.09.13
✎
12:19
|
(7)
РегистрСведенийМенеджер.<Имя регистра сведений> (InformationRegisterManager.<Имя регистра сведений>) СоздатьМенеджерЗаписи (CreateRecordManager) Синтаксис: СоздатьМенеджерЗаписи() Возвращаемое значение: Тип: РегистрСведенийМенеджерЗаписи. Описание: Создает объект для управления записью регистра сведений. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: Курс = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи(); |
|||
11
Rie
09.09.13
✎
12:19
|
(9) +1 к первой части. +100 - ко второй :-)
|
|||
12
Serg_1960
09.09.13
✎
12:19
|
Я "за" справочник. Точнее - за возможность иметь ссылки на записи :)
|
|||
13
dave2000
09.09.13
✎
12:20
|
(9) Потому что отбор можно сделать только по измерению. Чтобы не перебирать в цикле все записи РС с условием Отправлено=Ложь.
|
|||
14
Rie
09.09.13
✎
12:20
|
(13) Классная штука - запросы.
|
|||
15
Defender aka LINN
09.09.13
✎
12:24
|
(13) Конечно, удобство тут на первом месте. Фигня ведь, что может быть 2 одинаковых записи - отправленная и нет. Главное - удобно отобрать, чтобы не дай бог 2 лишних строки кода не написать, да?
|
|||
16
Конфигуратор1с
09.09.13
✎
12:24
|
(13) запрос - не, не слышал?
|
|||
17
mistеr
09.09.13
✎
12:26
|
(14) Скажу больше, запросу пофиг (почти), справочник это или регистр.
|
|||
18
dave2000
09.09.13
✎
13:59
|
Да могу и запросом, написать пару лишних строк не проблема.
Я так подумал, в случае РС имеется другая проблема - как получить уникальность измерений для каждой записи письма. Если все указанные в (0) поля это ресурсы, что тогда ставить в измерения? Разве что создать два измерения: "ДатаСоздания" и "СлучайноеЧисло"... как-то так... |
|||
19
dave2000
09.09.13
✎
14:00
|
либо всё таки использовать справочник
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |