Программно узнать версию обновления

1. comol 5067 04.05.17 12:42 Сейчас в теме
Коллеги, может кто подскажет, есть сильное желание программно узнавать версию конфигурации - не ту которая явно задана, а определяя автоматически. Ранее использовали таблицу "config" - оттуда можно получить дату и файл последнего обновления. Но хотелось бы средствами платформы, чтобы в файловом варианте тоже работало. Версию в свойствах менять не будем - БСП очень трепетно к ней относится... А как то узнавать обновлена база или нет нужно. Задача достаточно типичная, кто-нибудь как-нибудь решал?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
26. KapasMordorov 428 04.05.17 16:46 Сейчас в теме
Если версия типовая, то номер версии содержится в свойствах конфигурации. Это в (1),(2) обсудили.
Если версия нетиповая, что мешает номер версии записывать в свойства конфигурации в комментарий?
28. comol 5067 04.05.17 16:52 Сейчас в теме
(26) Я выше и писал что мне этот номер версии ни к чему. Если я его поменяю - БСП "положит" мне всю базу.
В комментарий писать в принципе идея неплохая... Но это самый крайний случай если не удастся найти нормального решения...
Мы тут к CI/CD пытаемся двигаться, а в неё как то не укладывается ручное прописывание номера версии конфы. Да и сомнения у меня что при "срочном" обновлении это точно будут делать.
2. Cooler 22 04.05.17 13:02 Сейчас в теме
Метаданные.Версия - не подходит?
4. comol 5067 04.05.17 13:53 Сейчас в теме
(2) Нет. Я же писал - если эту версию менять БСП устраивает апокалипсис. Надо отлавливать изменения конфигурации... в SQL таблица Config
6. Cooler 22 04.05.17 14:08 Сейчас в теме
(4)
если эту версию менять
Так не меняйте, используйте только на чтение... если вообще возможно изменить ее программно, а не путем обновления.

(5)
Эту версию надо менять отдельно и менять нельзя.
"Казнить нельзя помиловать".

С такой постановкой задачи лучше обращаться к экстрасенсам.
12. comol 5067 04.05.17 16:26 Сейчас в теме
(6) Спасибо, помог :))))))))))
3. klinval 340 04.05.17 13:02 Сейчас в теме
Метаданные.Версия

Как то легко. Или я неправильно понял вопрос...
5. comol 5067 04.05.17 13:54 Сейчас в теме
(3) неправильно. Эту версию надо менять отдельно и менять нельзя. Если изменишь включаются механизмы БСП...
7. klinval 340 04.05.17 14:34 Сейчас в теме
Не знал что чем-то отличается версия в config и в свойствах конфигурации (они же Метаданные.Версия)...

Из чисто теоретических (сам так не пробовал): использовать COMОбъект("V83.COMConnector") из этой базы к этой-же базе и запросом вытянуть нужную вам таблицу (config в вашем случае).
13. comol 5067 04.05.17 16:28 Сейчас в теме
(7)
использовать COMОбъект("V83.COMConnector") из этой базы к этой-же базе и запросом вытянуть нужную вам таблицу (config в вашем случае).

Эх, если бы так можно было.... только таблица config инкапсулирована и из кода к ней не достучаться... по крайней мере я не знаю как.

Мне не нужна версия конфы... она всегда одна и та же.... мне нужен по сути порядковый номер обновления
8. v3rter 04.05.17 14:41 Сейчас в теме
есть ещё внешняя компонента GameWithFire http://main.1c-ei.ru/Articles/gamewithfire упомянутая http://www.forum.mista.ru/topic.php?id=397650 но там непонятно, смогли ли добиться получения версии
14. comol 5067 04.05.17 16:29 Сейчас в теме
(8) А в файле? Я насколько понял там для SQL... Для SQL худо бедно можно что-нибудь придумать, а вот для файловой версии...
15. comol 5067 04.05.17 16:32 Сейчас в теме
(9) ээээ... onescript конечно используем давно и то что он конфу умеет распаковывать как tool1CD известно... а применить то как?
17. comol 5067 04.05.17 16:32 Сейчас в теме
(10) Юзабельного не нашел ничего :(
16. vikad 130 04.05.17 16:32 Сейчас в теме
второй вариант правильнее
18. vikad 130 04.05.17 16:33 Сейчас в теме
Дата последнего изменения конфигурации (Дата - дата последнего изменения в конфигурации)
19. comol 5067 04.05.17 16:35 Сейчас в теме
(18) Это хорошо... но не поможет... 200 баз, у них даты могут до дня различаться, при этом версия конфы будет одна и та же....
Мне бы какой нибудь хэш текущей конфигуруации, если понимаете о чём я, или что-то в этом роде. Или кто-то по-другому ведёт.
23. Cooler 22 04.05.17 16:44 Сейчас в теме
(19)
200 баз, у них даты могут до дня различаться, при этом версия конфы будет одна и та же....
Кажется, я вспомнил автора и его манеру постановки задачи: "Как протянуть нитку сквозь игольное ушко?" И всё.

А ко второму десятку сообщений выясняется, что к нитке "Жигули" привязаны...
20. KapasMordorov 428 04.05.17 16:37 Сейчас в теме
Если конфигурация изменяется, что мешает в комментарий дату записывать?
22. comol 5067 04.05.17 16:41 Сейчас в теме
(20) Дата не поможет... почему - выше написал. Нужно версию конфигурации, хотя бы для того чтобы сравнивать между собой. Дата обновления может быть разной.
24. v3rter 04.05.17 16:45 Сейчас в теме
еще приходит мысль смотреть в журнале регистрации, но представляю "скорость" поиска...
30. KapasMordorov 428 04.05.17 16:57 Сейчас в теме
Ну так это просто бардак.
Тогда остается метод на соплях - искать событие в журнале регистрации (при условии, что он включен). Это в (24).
32. comol 5067 04.05.17 17:02 Сейчас в теме
(30) нуу... если думать о CI/CD то это не бардак, а правильная работа.
Если без этого, то можно назвать бардаком... Но то что не автоматизированно может вызывать ошибки...
31. comol 5067 04.05.17 17:00 Сейчас в теме
(24) Журнал регистрации в узлах конечно же отключен.... да и не совсем это надежный метод
25. comol 5067 04.05.17 16:45 Сейчас в теме
(21) Так имя конфы мне тем более без надобности... в SQL это было бы "имя файла конфигурации". Но мне нужно средствами платформы - чтобы и в файловом и в клиент-серверном варианте получить одни и те же данные. 1С же как то просекает в РИБ что конфигурации разные... значит их сравнивать умеет. Может кто что уже и придумал... или расковырял как она это делает
27. vikad 130 04.05.17 16:52 Сейчас в теме
все-таки дата последнего изменения конфигурации - это дата изменения root, то есть, тот самый хэш, о котором вы говорите. Это не дата обновления. Проверьте.
29. comol 5067 04.05.17 16:57 Сейчас в теме
(27)
Проверьте.


Проверил. К сожалению я прав :(
Прикрепленные файлы:
33. v3rter 04.05.17 17:19 Сейчас в теме
видимо придется проверять файловая это база или SQL и получать разными способами
34. klinval 340 04.05.17 18:00 Сейчас в теме
1. А обновление конфигурации инициализирует какое-нибудь событие в каком-нибудь модуле, например управляемого приложения? Вроде нет, но если "да", то вы знаете что делать:).

2. Можно тонко настроить стандартный журнал регистрации, чтобы он фиксировал только событие "Информационная база. Изменение конфигурации". Получается журнал придётся включить, но фиксировать он будет только это событие. Или с журналом принципиально "не вариант" даже с такой настройкой?
Делается такая настройка как-то так:
УстановитьИспользованиеСобытияЖурналаРегистрации("_$InfoBase$_.ConfigUpdate",Новый ИспользованиеСобытияЖурналаРегистрации(Истина))
35. minimajack 80 04.05.17 18:08 Сейчас в теме
сохранить конфигурацию в файл - > cf -> получить файл рут, получить дату последней модификации...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот