Имя: Пароль:
1C
1С v8
Хранение таблицы значений в базе данных
,
0 newbling
 
29.07.16
11:54
Доброго времени суток.
Конфа БП 3.0.43.257
Возникла необходимость хранить некие данные в базе, которые бы отражали лог изменения определённых документов. Удобнее всего было бы хранить в виде таблицы значений.

В синтакс помощнике нашёл про ХранилищеЗначений, но там как-то не совсем понятно. Если в обычных формах была такая вещь как ВосстановитьЗначение по названию значения, то тут оно просто как Новый ХранилищеЗначений и как из него восстановить именно нужное мне значение я не пойму.
1 vicof
 
29.07.16
11:56
Регистр сведений не?
2 Nuobu
 
29.07.16
11:59
(0) +(1) Регистр сведений. Измерения - твой объект и НомерВерсии, ресурс - версия. Но предполагаю, что таковой регистр уже есть в базе. По крайней мере у нас, в УТП для Украины таковой присутствует.
3 newbling
 
29.07.16
12:15
Да вот база типовая и не хочется ради этого её менять. Так-то ясное дело, что рег сведений - самый простой и надёжный вариант, ведь не будет битых ссылок. Но тут хотелось бы именно прикрутить ТЗ.
4 vicof
 
29.07.16
12:18
(3) Уже есть лог изменения, чо ты там еще ваять собрался?
5 newbling
 
29.07.16
12:18
И именно к базе прикрутить, а ни во внешнем файле хранить по возможности.
6 Nuobu
 
29.07.16
12:21
(3) А разве "Прикрутить ТЗ" <> курочить базу?
7 newbling
 
29.07.16
12:22
(4) Ну там суть в том, что при обмене грузятся доки и когда они подпадают под определённые критерии, над ними автоматом обработкой совершаются действия - создаются документы на их основании, если быть точнее. Вот я и хочу вести лог тех доков, по которым что-то создано. Конечно, можно попробовать вообще через доп сведения сделать - добавить там как док основание.
(6) Прикручивание ТЗ подразумевается как объект доп информации, т.е. на метаданные не влияющий никак.
8 Nuobu
 
29.07.16
12:23
(7) А потом тебе скажут: "Сделай так, чтобы можно было в любом отчете выбрать документы, по которым есть доки".))
9 newbling
 
29.07.16
12:24
(8) ну так они же на основании будут созданы

Вообще может и правда попробовать через ДополнительныеСведения сделать.
10 newbling
 
29.07.16
12:29
А в бп 3.0 какой аналог справочника ХранилищеДанных?
11 zva
 
29.07.16
12:29
(9) Может попробовать штатный механизм версионирования настроить и не изобретать велосипед?
12 Nuobu
 
29.07.16
12:30
(11) -> (7)
13 newbling
 
29.07.16
12:30
а там данные от версионирования в рег сведений хранятся каком-то?
14 newbling
 
29.07.16
12:31
А, во - ВерсииОбъектов
15 YFedor
 
29.07.16
12:32
(0) Хранить ТЗ в файле в сетевой папке
16 newbling
 
29.07.16
12:32
Не, не пойдёт - как я узнаю оттуда обработан ли объект обработкой или нет.
17 newbling
 
29.07.16
12:33
(15) Этого я тоже хотел избежать - внешнего хранения.
18 newbling
 
29.07.16
12:33
по понятным причинам
19 YFedor
 
29.07.16
12:34
(18) Причины не понятны
20 newbling
 
29.07.16
12:37
(19) суть таблички "лога" в том, чтобы достать обработанный объект, достать доки, созданные на его основании и писать в них, а ни создавать новые, плодя кучу документов.
21 newbling
 
29.07.16
12:37
(19) А если в какой-то момент файл окажется недоступен, например, файлообменник отвалился, то будут замножены доки, т.к. будет нельзя сказать создавалось ли там что-то на основании или нет
22 newbling
 
29.07.16
12:38
Обработкой
23 impulse9
 
29.07.16
12:38
Самый правильный вариант - хранить в Регистре Сведений.

Если не хочешь распечатывать конфу - можно выгружать эти данные через веб-сервис в свою самописку, и получать данные в отчеты оттуда же.

Или же сделай внешнюю обработку с реквизитом ХранилищеЗначений, и пиши/читай оттуда. У нас министерство так данные по одной из отчетности делает )
24 YFedor
 
29.07.16
12:38
(21) файло обменник на том же сервере, что и база. Почему он отвалится?
25 newbling
 
29.07.16
12:39
(23) сделай внешнюю обработку с реквизитом ХранилищеЗначений
А вот это интересная тема
26 VladZ
 
29.07.16
12:39
(0) "Удобнее всего было бы хранить в виде таблицы значений." - кто тебе это сказал?
27 VladZ
 
29.07.16
12:40
Либо регистр сведений. Либо внешняя база данных.
28 newbling
 
29.07.16
12:43
(27) Внешняя база данных? А её можно разве подцепить без изменения конфигурации?
29 YFedor
 
29.07.16
12:43
(28) А если источник внешней базы данных будет недоступен?
30 vmv
 
29.07.16
12:44
я бы Внешний источник подключил

какой? это уже дело вкуса, знаний и финансирования.
31 YFedor
 
29.07.16
12:44
(30) Он не хочет типовую менять
32 VladZ
 
29.07.16
12:46
(28) Речь не обязательно про "внешние источники данных".
33 impulse9
 
29.07.16
12:46
(32) Данные.csv, Выгрузка.txt, Логи.dbf
34 VladZ
 
29.07.16
12:46
+32 Просто храни свои изменения во внешней базе данных. И подключайся к ней сам.
35 zva
 
29.07.16
12:51
(20) заведи план обмена "Создано обработкой" и пиши програмно в РС СоответствияОбъектовИнформационныхБаз
36 Провинциальный 1сник
 
29.07.16
14:01
ЗначениеВСтрокуВНутр(ТабЗнач), помещение в объект Текст и хранение полученного в справочнике Файлы.
На таких костылях даже танцевать можно.
37 newbling
 
29.07.16
14:57
(36) И как это потом обратно в тз...
38 apokrit
 
29.07.16
15:06
(0) Хранилище настроек уже предлагали?
39 newbling
 
29.07.16
15:45
(38) тьфу, хранилище настроек и хранилище значений разные вещи же. Сейчас глянем.
40 Radkt
 
29.07.16
16:53
(37) ЗначениеИзСтрокиВНутр(СтрокаИзТекстовогоДока)
41 Radkt
 
29.07.16
16:54
(40)+ можно даже в доп свойствах документа хранить, проблема только в ссылочной целостности, если будет писаться ссылка туда
42 xXeNoNx
 
29.07.16
17:39
(0) а шо версионирования в БП 3.0 нету?
43 xXeNoNx
 
29.07.16
17:41
Во мля.., вэлосипедисты....
44 zladenuw
 
29.07.16
17:51
(43) таки да
В «1С:Бухгалтерии 8» (ред. 3.0), начиная с версии 3.0.35, реализован механизм версионирования объектов, с помощью которого можно отслеживать историю изменений документов и справочников.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс