Имя: Пароль:
1C
1С v8
Где лучше хранить данные, не изменяя конфигурацию?
, ,
0 AquaMan
 
08.07.14
17:03
Есть задача создать подсистему в стандартной конфигурации 1С, подсистема будет в виде внешней обработки. Но проблема в том, что конфигурация недоступна для изменения, а нужно хранить дополнительные данные. На ум приходит dbf и sqlite, какой из этих вариантов надежней и проще в реализации? Может есть еще способы?
1 rendez-vous
 
08.07.14
17:04
(0) txt - неплохой способ.
2 Ymryn
 
08.07.14
17:05
(0) предлагаю отдельную базу 1С, к которой будет подключение по com :) Стильно - модно - молодежно.
3 Franchiser
 
гуру
08.07.14
17:05
Справочник "Сохраненные настройки"
4 ice777
 
08.07.14
17:06
(0) хранилище значения какое-нить типа свойств обычно есть. меть своим ключем и пиши что хочь.
5 Wobland
 
08.07.14
17:06
>подсистема будет в виде внешней обработки
только не исчезай. очень интересно
6 Franchiser
 
гуру
08.07.14
17:07
регистр значения свойств объектов
7 PR
 
08.07.14
17:07
(0) Аргументацией, что данные хранятся не в базе, а в файлах, потому что так база остается недоступной для изменений, прикрываются чудаки.
За крайне редкими обоснованными исключениями, типа файлов большого размера.
8 ice777
 
08.07.14
17:11
автор походу хочет сделать выгрузку для конкурентов.
9 Крошка Ру
 
08.07.14
17:11
(0) А конфигурация недоступна, потому что не разрешают изменять, или, потому что неизвестно, где включается возможность изменения?
10 Ymryn
 
08.07.14
17:12
(9) это уже слишком толсто. :)
11 Franchiser
 
гуру
08.07.14
17:12
Конфигурация или базовая, или руководство напугано расходами на поддержку нетиповых конфигураций
12 Maxus43
 
08.07.14
17:14
ну АкваМэн даже в серии Marvel был странным персонажем...)
13 Крошка Ру
 
08.07.14
17:15
(10) Надо исключить все разумные возможности и тогда оставшаяся будет верной, какой бы неразумной она не казалась)
14 Maxus43
 
08.07.14
17:15
15 AquaMan
 
08.07.14
17:16
Изменения недоступны, потому что часть конфигураций, где планируют использовать базовые.
(3) в Бухгалтерии 3.0 нет этого справочника. И вообще не хотелось бы зависеть от изменений в конфигурации.
16 Крошка Ру
 
08.07.14
17:16
(10) Ну никак не толще отдельной подсистемы во внешней обработке)
17 AquaMan
 
08.07.14
17:17
Слово подсистема употребил не в значении объекта конфигурации, а в более широком смысле.
18 Chai Nic
 
08.07.14
17:17
Я для ЗУПа 2.5 делал подсистему электронной проходной - хранил данные о проходах за месяц в хранилище файлов внутри базы, подчиненно физлицу. Если имя файла формировать разумно, то выборка достаточно быстро проходит.
19 Просто Царь
 
08.07.14
17:17
Себе сделал доп модуль по управлению сервис центром в УТ 11. Необходимые данные храню в доп свойствах и реквизитах документа контейнера, которым является заказ клиента
20 f_vadim
 
08.07.14
17:18
(17) а ты типовые не трогай, прикрути ещё один регистр и усё
21 BigShmax
 
08.07.14
17:19
ТС слился
22 AquaMan
 
08.07.14
17:20
(20) Планируется использовать в том числе в базовых конфигурациях.
23 Просто Царь
 
08.07.14
17:21
(20)наверное имелись ввиду базовые, потому и прикрутить не вариант
24 Ymryn
 
08.07.14
17:21
(20) базовая конфа. Ничего он не сможет прикрутить.
25 Maxus43
 
08.07.14
17:22
да в ДБФ кидай и не парься тогда
26 Ymryn
 
08.07.14
17:23
главное архивирование настроить не забудь :)
27 Просто Царь
 
08.07.14
17:24
(25) а потом какой нибудь мальчик эникейщик перенесет базу через DT и плакали наши данные
28 Просто Царь
 
08.07.14
17:24
хранить надо в базе и только так можно надеяться на сохранность
29 f_vadim
 
08.07.14
17:25
(27) и внешняя обработка тоже
30 Просто Царь
 
08.07.14
17:25
(29) ну обработку можно в дополнительные засунуть например
31 Ymryn
 
08.07.14
17:25
(27) ну обнаружат потерю, повоют, найдут где они хранятся, скопируют dbf'ку. Даешь dbf'ку в облако, для организации доступа с удаленных мест.
32 Просто Царь
 
08.07.14
17:26
(31)предлагаю конкурс на самый извращенный вариант. кто больше?
33 Franchiser
 
гуру
08.07.14
17:27
(32) dropbox
34 Ymryn
 
08.07.14
17:27
(33) угу, тоже об этом подумал.
35 Maxus43
 
08.07.14
17:27
(32) обработка - это хранилище. Создаём второй элемент справочника внешних, а туда в хранилище - саму БД в любом виде, хоть туже ДБФ :)
36 Просто Царь
 
08.07.14
17:28
а в нем sql база ))))))
37 Franchiser
 
гуру
08.07.14
17:28
хотя не, если извращенный - mail.ru
38 Крошка Ру
 
08.07.14
17:28
(31) И вот здесь-то и пригодится синхронизация по времени через интернет и проверка по базе данных ЦРУ
39 Просто Царь
 
08.07.14
17:28
или ссылка на файл googledoc
40 Ymryn
 
08.07.14
17:28
(37) а ты жесток. :)
41 Franchiser
 
гуру
08.07.14
17:29
раскомпилировать внешнюю обработку в момент выполнения затем в нее загонять базу и снова компиллировать
42 Просто Царь
 
08.07.14
17:32
Ну а если серьезно, то только 2 варианта жизнеспособны и универсальны в какой то степени (использовать то планируется в разных базах): это прикрепленные файлы и дополнительные реквизиты и сведения. Кстати мы до сих пор так и не услышали что за конфа и что надо хранить
43 ildary
 
08.07.14
17:33
(39) Bittorent Sync еще круче
44 Franchiser
 
гуру
08.07.14
17:33
Нужно найти неиспользуемый справочник, документ или регистр где есть реквизит типа хранилище значение, и тупо туда сохранять базу
45 H A D G E H O G s
 
08.07.14
17:34
ТаблицаДокументов:

ТаблицаСохраненныхОтчетов = ХранилищеСистемныхНастроек.Загрузить("РегОтчетность","ТаблицаСохраненныхОтчетов",,"Декларирование");

Содержание документа:

    СтруктураДвоичныхДанных=ХранилищеСистемныхНастроек.Загрузить("РегОтчетность",Строка(ИдентификаторЭкземпляраОтчета),,"Декларирование");
    Если ТипЗнч(СтруктураДвоичныхДанных) = Тип("Структура") Тогда
        ЗаполнитьЗначенияСвойств(СтруктураДанных,СтруктураДвоичныхДанных);
    КонецЕсли;
46 H A D G E H O G s
 
08.07.14
17:35
ХранилищеСистемныхНастроек - табличка в 8.2, с индексированными полями поиска и сериализацией данных.

Главное не пихать все в одну запись.
47 Лефмихалыч
 
08.07.14
17:41
(0) смотря что за данные
48 H A D G E H O G s
 
08.07.14
17:43
(47) Пофиг. 1С уже позаботилась.
Метод (45) используется многими пользователями на многих конфигурациях 2 года в файловой и клиент-серверной базе на нехилых данных. Проблем не было.
49 Franchiser
 
гуру
08.07.14
17:47
(46) как не пихать все в одну запись?
50 AquaMan
 
08.07.14
17:47
Данные - некий аналог путевых листов, хранить в виде доп. реквизитов и сведений не получиться. Конфа Бухгалтерия 3, от релиза к релизу там очень много изменений, поэтому изначально не хотелось привязываться к стандартным реквизитам и процедурам.
51 AquaMan
 
08.07.14
17:49
Хотя ХранилищеСистемныхНастроек,пожалуй, вариант.
52 H A D G E H O G s
 
08.07.14
17:50
(49) см (45).

Одна запись - запись ТаблицыДокументов со "ссылками" - Идентификаторами.

Пользователь выбирает строку ТаблицыДокументов, из ХранилищеСистемныхНастроек получаем нужные данные конкретного документа десериализацией, а не всего 100500 массива документов, как могут сделать некоторые дятлы.
53 H A D G E H O G s
 
08.07.14
17:53
Естественно, поиск по содержанию документа не сделаешь, либо его реквизиты поиска надо выносить в ТаблицуДокументов, либо крутить доп. таблицу поиска и синхронизацию.
54 H A D G E H O G s
 
08.07.14
17:53
Давайте, думайте, включайте мозг, 1Снеки.
55 Franchiser
 
гуру
08.07.14
17:58
а если нужно получить данные по 100000 этим документам придется каждую строчку получать в цикле?
56 Gogger
 
08.07.14
17:59
(50) зачем вообще в таком случае привязываться к 1С-ным механизмам?
создайте нужною структуру данных прямо в SQL-базе, обработку используйте как интерфейс, который обращайтся к хранимым процедурам в SQL, и получает или отдает данные.
57 acsent
 
08.07.14
18:00
(56) Может проще подсистему описать на 1с?
58 acsent
 
08.07.14
18:00
Можно даже отдельную базы со связкой с бухой по ком
59 H A D G E H O G s
 
08.07.14
18:01
(55) см (53)
60 Gogger
 
08.07.14
18:01
(57) т.е. запилить отдельную конфу под эти данные?
61 Franchiser
 
гуру
08.07.14
18:03
(60) Да на 1С 6.0
62 Franchiser
 
гуру
08.07.14
18:05
хотя у него платформа базовая наверно, не прокатит
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн