Имя: Пароль:
1C
1С v8
Табличный ресурс в регистре сведений
0 rdaler
 
13.07.11
11:53
Смог ли кто-нибудь перехитрить ограничение регистра сведений чтобы в ресурсе можно было хранить табличные части?
1 palpetrovich
 
13.07.11
11:54
даже не задумывался ...а зачем?
2 Fragster
 
гуру
13.07.11
11:54
а что, ХЗ там не хранится?
3 Maxus43
 
13.07.11
11:55
ХранилищеЗначения?
можно ещё в строку неограниченой длинны пихать ЗначениеВСТрокуВнутр(ТЗ).
Или именно ТЧ документа? ссылку на документ лучше тогда
4 Fragster
 
гуру
13.07.11
11:56
(3) да человеку историю изменений хранить надо, а в БСП посмотреть не удосужился...
5 Рэйв
 
13.07.11
11:57
В ресурсах сожно хранить только числа.
Как ты собираешься использовать тьам тч?
6 rdaler
 
13.07.11
11:57
Простой пример:
Есть справочник с реквизитом "Контрагент" и табличной частью "ВидНоменклатуры".
С течением времени список видов номенклатуры может меняться (добавляться и удаляться).

(3)В запросах должен быть доступ и к измерениям, и к ресурсам
7 Рэйв
 
13.07.11
11:57
аа...сведений.
8 Fragster
 
гуру
13.07.11
11:58
ух, какой я телепат
9 Рэйв
 
13.07.11
11:58
(0)что мешает сделать на каждую строку тч свою запись с ведущим Контрагент и потом спокойно иметь доступ запросом?
10 Fragster
 
гуру
13.07.11
11:59
(6).2 если в запросах нужно - то фигани измерение "номер строки" еще
11 rdaler
 
13.07.11
11:59
(8) БСП?
12 Fragster
 
гуру
13.07.11
11:59
(11) библиотека стандартных подсистем
13 Maxus43
 
13.07.11
12:01
Что за конфа то?
14 rdaler
 
13.07.11
12:01
Номер строки не катит.
А если мы хотим удалить строку ТЧ, т.е. строк станет меньше чем было, то СрезПоследних выдаст нам строки из предыдущей версии + к текущей
15 Fragster
 
гуру
13.07.11
12:02
(14) т.е. колонки для фильтрации типа "версия" у тебя нет?
16 rdaler
 
13.07.11
12:02
Конфа самопальная
17 Maxus43
 
13.07.11
12:03
(14) не выдаст, Первые 1 если выбирать
18 rdaler
 
13.07.11
12:03
Поясни чем "версия" поможет.
19 Maxus43
 
13.07.11
12:04
(18) 1,2,3,4,5,6....
20 Maxus43
 
13.07.11
12:05
Версионирование в УПП, можеш оттуда регистр спионерить и подписку для заполнения
21 hhhh
 
13.07.11
12:05
(18) ну, как чем? Вместо номера строки. Номера строк ты говоришь пропадут, а версии все будут у тебя на месте.
22 Fragster
 
гуру
13.07.11
12:05
Выбрать
Максимум(Версия) КАК Версия
Поместить ВремВерсия
Из Таблица Где Таблица.Контрагент = &Контрагент
;
Выбрать
 *
Из Таблица Где Таблица.Контрагент = &Контрагент И Таблица.Версия В (Выбрать ВремВерсия.Версия Из ВремВерсия)
23 rdaler
 
13.07.11
12:07
Т.е. без изврата запроса или временных таблиц не обойтись.
Просто думал, что может быть кто-то нашел более изящное решение.
24 rdaler
 
13.07.11
12:10
В этом случае было бы замечательно что-н-ть вроде регистра накопления сделать, только с любым типом значения ресурса и, в случае типа, отличного от числа, фигачить список значений.
25 Fragster
 
гуру
13.07.11
12:11
(23) а зачем тебе именно чтобы запросом оно было все целиком доступно?
26 Maxus43
 
13.07.11
12:11
копить то чего? это по сути рег сведений
27 Маленький Вопросик
 
13.07.11
12:12
(0) для этого нужны ссылки :)))
28 ice777
 
13.07.11
12:14
(0) не нужно там никаких ТЧ. есть отборы. ТЧ храните в регистраторах, и если оч надо - пусть ТЧ проводятся по РС.
29 rdaler
 
13.07.11
12:14
(25)Много где используется такой вариант и при этом разношерстная структура, что общий метод обработки не создашь.
А копипастить очень не хочется! (Некрасиво)
30 unregistered
 
13.07.11
12:14
(6) >> Есть справочник с реквизитом "Контрагент" и табличной частью "ВидНоменклатуры".
С течением времени список видов номенклатуры может меняться (добавляться и удаляться).

Я бы отказался нафиг от табличной части.
Вместо ТЧ сделал бы регистр сведений с измерениями ДействуетС, ДействуетПо типа Дата (первый можно заменить на Период если регистр сделать еще и периодическим). При записи наборов контролировать неповторяемость одного ВидаНоменклатуры в одном периоде. На форме элемента Контрагенты отображать только актуальные записи по видам номенклатуры из регистра (отбором). Колонки ДействуетС ДействуетПо вообще не показывать в табличном поле, а требовать заполнения этих данные только при добавлении нового вида номенклатуры к контрагенту.

Данные всегда можно получить запросом. Не надо париться с ХЗ, с номерам строк ТЧ.
31 rdaler
 
13.07.11
12:17
(30)ДействетС и по регистратору (периоду видно), а ДействуетПО - заранее неизвестно.
32 unregistered
 
13.07.11
12:18
(31) Для действующих записей ДествуетПо - пустая дата.
Для прекративших сво
33 rdaler
 
13.07.11
12:18
(30)Предлагаешь ВидНоменклатуры в Измерения зафигачить?
34 unregistered
 
13.07.11
12:18
ё действие - заполнена
35 unregistered
 
13.07.11
12:18
(33) Да
36 unregistered
 
13.07.11
12:19
(33) но по сути это не имеет принципиального значения - измерение или ресурс
37 Fragster
 
гуру
13.07.11
12:21
(6) замени справочник на документ. пусть в РС пишет новую запись с ресурсом "используется" = ложь для записей, прекративших действие.
38 rdaler
 
13.07.11
12:24
"Флаг использования" это, пожалуй, вариант!
Попробуем, отпишемся.
39 AlexNew
 
13.07.11
12:26
(0) Изврат, но засунь в хранилище значения, сделай общую функцию и хоть в СКД используй.
40 unregistered
 
13.07.11
12:32
(38) Запрос к данным, например, за прошлый год.

Что даст тебе флаг "Испольуется", если ты не знаешь в какой момент его сняли/установили?
41 unregistered
 
13.07.11
12:33
(39) В ХЗ нельзя, т.к. не контролирует целостность данных.

Удалишь в базе какой-нибудь вид номенклатуры, на который есть ссылка, засунутая когда-то в ХЗ, и всё - привет семье <Объект не найден ...>.
42 rdaler
 
13.07.11
13:26
(40)Действительно, ничего не даст!
А вот если вместо флага ставить дату снятия с использования у становящихся неактуальными записей при записи нового набора...
43 rdaler
 
13.07.11
13:28
+(42)... тогда, по крайней мере в запросе смогу условие поставить, чтобы эта дата снятия была больше даты среза
44 Fragster
 
гуру
13.07.11
14:23
(40) так оно у тебя непериодическое, чтоле? тогда что ты нам про срез последних тут втираешь?
45 unregistered
 
13.07.11
15:30
(42) (43) Ты издеваешься?

Этот вариант с полями ДействетС ДействвуетПо я тебе предложил еще в (30).