|
Своя система версионирования, логирования изменений | ☑ | ||
---|---|---|---|---|
0
Borislav
27.08.12
✎
10:45
|
Привет всем!
Поставили задачу сделать свою систему версионирования.(логирования) - чтобы записывалось в другую базу 1с (чистую). - Записи типа - Документ - ТоварнаяНакладная Дата - 12.12.12 Изменено: Цена с 12.00 на 12.80 Поставщик Оао "XXX" на ООО "XXX" Изменил Иванов Иван Иваныч или Справочник - Контрагенты Дата - 12.12.12 Изменено: Наименование Оао "XXX" на ООО "XXX" Изменил Иванов Иван Иванович и т.п. те по сути это будут логи изменений стандартная система версионирования не подходит из за громоздкости какие задумки - соединение с пустой базой(база) через V82.COMConnector в рабочей базе добавить подписку на событие призаписи в базе логов создается документ в табличной части которого показываются измененные реквизиты типа ("До" "После") В базе логов можно посмотреть отчет по этому документу Сам я еще зеленый (два месяца с 1с8) и хочу услышать ваши мнения профессионалов. Первое сообщение на форуме не ругайте сильно если что не так. |
|||
1
Cube
27.08.12
✎
10:47
|
(0) Забавно: "Сам я еще зеленый (два месяца с 1с8)", но "стандартная система версионирования не подходит из за громоздкости"...
:) |
|||
2
ILM
гуру
27.08.12
✎
10:48
|
(1) В голову не влезает...
|
|||
3
ILM
гуру
27.08.12
✎
10:50
|
(0) Дежа-вю, видел и собственные системы распределения прав, и собственные системы печати, и даже версионирования. Всё проходит и это пройдет.
|
|||
4
pumbaEO
27.08.12
✎
10:56
|
Начинай лучше с малого "переписать УПП", вот это я думаю достойная задача, для 2-х месячного знакомства.
http://infostart.ru/public/63420/ - на затравку про версионирование. |
|||
5
acsent
27.08.12
✎
10:57
|
смотри лучше разработку Бизнес-Плюс
|
|||
6
Hipernate
27.08.12
✎
11:03
|
Все уже написано до вас, продам готовую систему.
|
|||
7
Borislav
27.08.12
✎
11:04
|
(4) А что делать если говорят делать...
на инфостарте вроде что то похожее посмотреть бы. только я ничего скачать не могу тк SM нету. |
|||
8
rs_trade
27.08.12
✎
11:05
|
(0) блокировки, блокировки, блокировочки... не взлетит. хотя если там полтора юзера будет работать, то сойдет.
|
|||
9
МишКа
27.08.12
✎
11:05
|
(7) Если говорят делать, то... делать)))
А кто задачу поставил-то? |
|||
10
Hipernate
27.08.12
✎
11:09
|
+(6) работает нормально 20 пользователей совершенно не замечают что логируются каждое изменение каждого документа.
|
|||
11
Hipernate
27.08.12
✎
11:10
|
+ (6) правда база должна быть сикульная и начинает быстро рости.
|
|||
12
Азат
27.08.12
✎
11:11
|
(0) а зачем в базу 1С писать? пиши лучше в SQL)) норм тепма
|
|||
13
Borislav
27.08.12
✎
11:14
|
(9) Как кто, начальник есно
(11) да база sql server 2005 (12) Я ж зеленый, регистры запросы скд еще изучил а чистый sql темный лес точно - нужно сделать что нить типа журнала регистрации изменений http://infostart.ru/public/19364/ но условие записи в отдельную базу |
|||
14
МишКа
27.08.12
✎
11:16
|
(13) Здорово он от тебя отвязался.
Ну делай, делай... Из базы в базу писать не сложно. COM тебе поможет. |
|||
15
Fragster
гуру
27.08.12
✎
11:16
|
стандартное версионирование я бы доделал лишь в том плане, чтобы все версии хранились в одном хранилище значения. в таком виде оно жмется намного эффективнее, чем по строке на версию
|
|||
16
hohol
27.08.12
✎
11:18
|
(0) Типовые конфигурации вообще громоздкие, тормозные, пиши свою с нуля.
|
|||
17
Fragster
гуру
27.08.12
✎
11:19
|
а как в (0) я видел... особенно эпичен алгоритм сравнения ТЧ документов при записи истории, занимало до 90% проведения документа
|
|||
18
pessok
27.08.12
✎
11:20
|
(17) а шо там можно накосячить то? приоткрытии копируется все в тз, потом финальный результат в тз, и сравнивается построчно...
|
|||
19
Liova
27.08.12
✎
11:22
|
(12) А вот иметь историю объектов в отдельной базе - хорошая идея. А то родная система разрастается до половины размера базы, приходится делать архивирование, получается полу-стандартная система.
|
|||
20
ptiz
27.08.12
✎
11:24
|
(17) В таком случае (если сравнение долгое), я бы сохранил целиком данные "до" и "после", а потом в фоновом режиме можно сравнивать и сохранять лог.
|
|||
21
pumbaEO
27.08.12
✎
11:27
|
(20)+в фоновом можно и в другую базу сбрасывать.
|
|||
22
Borislav
27.08.12
✎
11:29
|
(16) Вы смеетесь надо мной? "грешно смеяться над больными людьми" (из кф "Кавказкая пленница").
Из этой темы для меня полезной инфой пока оказалось что: 1) Похожее кем-то уже было сделано 2) Записывать в отдельную базу это хорошо Люди еще раз прошу помощи. У Кого есть возможность скачать обработку с инфостарта (13) и выложить? |
|||
23
Shurjk
27.08.12
✎
11:30
|
(0) Бэкапы в скуле легко решают эту задачу.
|
|||
24
pumbaEO
27.08.12
✎
11:32
|
(23) особенно при закрытии месяца по 5 раз на дню, по документу поднимать, как я же "Марья Ивановна" изменила статью затрат в этом документе.
|
|||
25
pumbaEO
27.08.12
✎
11:33
|
(22) ты учиться собрался или халявить? Пиши свою, потом сравним.
|
|||
26
Liova
27.08.12
✎
11:34
|
(22) Всё же логичнее переносить данные, полученные стандартным версионированием, в отдельную базу.
|
|||
27
myk0lka
27.08.12
✎
11:35
|
(22)А чем из БСП не устраивает?
|
|||
28
hohol
27.08.12
✎
11:35
|
(22) Нет это диа
|
|||
29
hohol
27.08.12
✎
11:36
|
гноз. За 3 года можно было уже тру одинэсником стать.
|
|||
30
МишКа
27.08.12
✎
11:37
|
(22) Вообще-то лучше самому. А то скачаешь - сдашь работу начальнику. Он тебе другую. Опять искать, скачивать... Тебе это надо? )))
|
|||
31
Borislav
27.08.12
✎
11:44
|
Ок , по обработками на инфостарте что я понял
в новой базе для логирования - использовать справочник, а не документ в его реквизиты вывожу имя объекта , его код, и намиенование в табличной части я записываю изменения реквизитов . попробуемс |
|||
32
pessok
27.08.12
✎
11:46
|
(31) наверное всеже в РС лучше писать, не?
|
|||
33
Cube
27.08.12
✎
11:46
|
(31) Ничего ты не понял! Используй стандартное версионирование в УПП - немного допили, чтобы в другую базу сохранял и всё.
|
|||
34
zladenuw
27.08.12
✎
11:55
|
(31) лучше РС, делаешь его периодичным и получаешь по срезу последних. последние изменения объекта. а в реквизит писать версию.
|
|||
35
Borislav
27.08.12
✎
12:08
|
(33) Я думал насчет стандарного. Стандартное версионирование пишет объект в XML, переводит в двоичные и сует в РС в хранилище значений. Те мне нужно будет и документ сохранять и РС в базе логов. тогда база логов полюбэ будет большой. и надо как то связать эти данные для отчета...незнаю
(34) Сейчас я ориентируюсь на http://infostart.ru/public/19364/ там вроде просто сделано. основная сложность для меня это разделение на Рабочую базу и базу для логов. Попробую пока сделать механизм отслеживания изменений в одной базе. |
|||
36
Cube
27.08.12
✎
12:17
|
(35) "Стандартное версионирование пишет объект в XML, переводит в двоичные и сует в РС в хранилище значений. Те мне нужно будет и документ сохранять и РС в базе логов" - сам-то понял что сказал?
Стандартный механизм переводит объект в XML и сохраняет его (XML) в РС. Всё. |
|||
37
Азат
27.08.12
✎
12:18
|
(0) автор, пиши в аську, за умеренные деньги покажу и расскажу, как сделать в SQL базу логи
|
|||
38
zladenuw
27.08.12
✎
12:20
|
(37) а если нужно будет вытянуть определенную версию и изменить ее. с помощь ыйд можно так же ?
|
|||
39
Sinus1984
27.08.12
✎
12:40
|
Скорее всего логирование не ришит прблему, не верного изменения реквизитов. у нас, например, на фирме когда боролись с этим сначала тоже логированием, но всеравно приходилось потом менять в ручную. Помогло четкое разделение прав.
Если конечно цель наказать человека, то можно и по принципу "Кто последний тот отец", нефиг лишний раз записовать документ, как бонус уйдут лишние транзакции, если все научатся "Закрыть" нажимать, а не "ОК" |
|||
40
Азат
27.08.12
✎
12:50
|
(38) да в принципе без особых проблем...
|
|||
41
zladenuw
27.08.12
✎
12:59
|
(40) на неделе постучусь в аську. обсудим :)
|
|||
42
Азат
27.08.12
✎
13:30
|
(41) ок
|
|||
43
Borislav
27.08.12
✎
16:58
|
Работа движется.
Создаю регистры сведений независимые, непериодические измерения: объект , Прежнее, Новое создаю методом МенеджерЗаписиВерсииОбъектов = РегВерсииОбъектов.СоздатьМенеджерЗаписи(); записываю МенеджерЗаписиВерсииОбъектов.Записать(); почему постоянно переписывает один и тот же регистр, в чем недочет?. |
|||
44
pumbaEO
27.08.12
✎
17:10
|
А сколько чудных тебе откроет логи по зарплатным документам, когда 1С при банальном рассчете пишет, удаляет, пишет дохера движений и фиг поймешь, а где расчет, а где готовый документ.
|
|||
45
Serg_1960
27.08.12
✎
17:19
|
(44) +1 Как представил "свою систему версионирования"(тс) расчета себестоимости при включенном РАУЗ, так сразу... :))
|
|||
46
Cube
28.08.12
✎
04:28
|
(45) Да, на "версии" документа "Расчет себестоимости" в системе версионирования автора ветки я бы тоже глянул))))
|
|||
47
Рэйв
28.08.12
✎
06:42
|
||||
48
Borislav
28.08.12
✎
09:04
|
(44)(45)(46) Разобрался сам. сделал периодическим, переместил реквизит в измерение.
(47)Процедура отслеживания изменений у меня есть. все равно спасибо В принципе теперь логи изменений пишутся в другую базу. [Code] //подключаемся к базе и записываем COMConnector = Новый COMObject("V82.COMConnector"); // создается объект COM-соединение СтрокаСоединение = "File=""C:\Documents and Settings\User\Мои документы\InfoBase3"";Usr="""";PWD="""""; connection = COMConnector.Connect(СтрокаСоединение) ; [\Code] Нужно ли закрывать соединение COM с другой базой. если да то каким методом? |
|||
49
Web00001
28.08.12
✎
09:34
|
Простите, что вмешиваюсь в ход ваших мыслей, вы считаете что у вас версионирование получится более элегантным чем у 1С? И еще один вопрос может купить это http://infostart.ru/public/18588/ ну дешевле же выйдет чем самому городить велосипед с нуля
|
|||
50
МишКа
28.08.12
✎
10:14
|
(48) Может имеет смысл открывать соединение 1 раз за сеанс.
(49) У человека - не коммерческий вопрос. |
|||
51
pumbaEO
28.08.12
✎
10:47
|
Взять версионирование от 1С и регламентным заданием оставить последних 2 версии документа, а все остальное перенести в другую базу.
|
|||
52
Borislav
28.08.12
✎
13:17
|
(49) Версионирование не подходило из-за увеличения базы данных. Купить можно, но пойдет ли на это организация, имеющая в штате "программиста 1с".
(50) Все я уже сделал - COMConnector = Неопределено, такой метод работает Работа сделана - логи изменений в справочниках и документах ведутся. Все состоит из функции и трех процедур в отслеживаемой базе и базы для логирования с одним регистром сведений и простым отчетом по нему. Если нужно то могу выложить, только подскажите какой тег использовать для листинга кода 1с? |
|||
53
pumbaEO
28.08.12
✎
13:46
|
(52) выложи на инфиостат.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |