Имя: Пароль:
1C
1С v8
"Включить возможность изменений" как в программе узнать - была нажата эта кнопка или нет?
,
0 mszsuz
 
02.08.18
09:28
Нужно узнать состояние типовой конфигурации - были-ли внесены какие-либо изменения в свойства конфигурации, её структуру или в какой-нибудь из модулей.
Сейчас знаю только один способ - выгрузить в файлы и сравнить с эталонной выгрузкой, но это очень долго.
1 Гипервизор
 
02.08.18
09:32
Зайти и посмотреть включена возможность или нет, для чего выгрузку делать? Если включена, опять таки, для чего выгрузка? Сравнить с конфигурацией поставщика не проще?
2 Мимохожий Однако
 
02.08.18
09:33
(0) жёлтые замочки и значочки не?
3 mszsuz
 
02.08.18
09:34
(1) Нужно программно узнать.
Есть расширение, которое привязано к типовой конфигурации. Если же конфигурация изменена, то нужно делать адаптацию.
4 Sergei_vasil
 
02.08.18
09:35
ТС сам себе трудности создает и героически их преодолевает.
Молодец, чо.
5 mszsuz
 
02.08.18
09:36
(2) Программно их как-то можно получить?
6 Sergei_vasil
 
02.08.18
09:38
(5) традиционно - зачем?
7 mszsuz
 
02.08.18
09:39
(6) см. 3
8 mszsuz
 
02.08.18
09:43
Ещё варианты:
- у расширений есть метод ПроверитьВозможностьПрименения(), но он не учитывает того, чтобы могут быть ДОБАВЛЕНЫ объекты метаданных или изменены модули.
- есть метод ПолучитьИдентификаторКонфигурации() - но это закрытая книга.
- ещё есть ПолучитьСтруктуруХраненияБазыДанных(), но это только структура, про изменения модулей не узнать.
9 mszsuz
 
02.08.18
09:48
ещё варианты:
- хэш суммы у cf-ников у разных конфигураций одного релиза различаются
10 mszsuz
 
02.08.18
09:51
в (9) точнее сказать так
- хэш суммы cf-ников у разных баз с одинаковой конфигураций различаются
11 ildary
 
02.08.18
09:55
(10) Извините, но мне кажется, что такую возможность авторы системы расширений скорей всего не сделали - как всегда или сроки или тупо не предвидели что это нужно.
12 mszsuz
 
02.08.18
10:02
(11) ну и пусть не сделали, наверняка есть другой способ.
13 mszsuz
 
02.08.18
11:38
Проверил ещё один вариант
- /CompareCfg в пакетном режиме между основной конфигурацией и конфигурацией поставщика. Для конфигураций без возможности изменений возвращается "Конфигурация 'Конфигурация поставщика' недоступна"

Остановлюсь пока на этом способе.
14 Вафель
 
02.08.18
11:42
А что твое расширение сразу ломается, если были доработки конфы?
15 Вафель
 
02.08.18
11:42
Или это способ поднять бабла?
-ААА у вас доработанная, а нука выложите за про версию моего расширения 100тыщ куе
16 mszsuz
 
02.08.18
11:43
(15) Да)
17 Мимохожий Однако
 
02.08.18
12:00
(16) Проще счётчик в расширение добавить. Каждые два месяца после последнего посещения выдавать сообщение "Пора подправить Расширение. Сообщите, администратору базы" ))
18 Вафель
 
02.08.18
12:02
а что у расширений можно код закрыть?
19 ildary
 
02.08.18
12:51
(18) вынести код в dll?
20 Serg_1960
 
02.08.18
13:15
(офф) всегда есть шанс после любого обновления рвать волосы... эээ... на голове, бить себя в груди и "Мамой клянусь - работала же!!!" - всё бесполезно... пара, тройки обновлений и как бог - черепаху, мама родная не узнает... зачем автору знать были ли изменения? :)
21 Serg_1960
 
02.08.18
13:20
Если в расширении пара, тройка справочников и документов, то там же можно метаданные сравнить с эталонными.
22 mszsuz
 
02.08.18
13:23
(20) Зачем, зачем... А потому что )
Позже расскажу. В другой теме.

Вопрос поставлен "Как?"
23 Serg_1960
 
02.08.18
17:29
(22) Как, как... в (21) вариант ответа. Если исходить, что тебе не важны изменения, которые тебя не касаются.

Есть ещё один вариант контроля за идентичность конфигурации (не важно типовая она или с изменениями). В распределенных информационных базах используется механизм регистрации изменений конфигурации - в сообщениях обмена РИБ используется контрольная сумма конфигурации.
24 Вафель
 
02.08.18
17:36
лучше подходи к ценообразованию по другому
25 Вафель
 
02.08.18
17:37
типа бесплатные обновления на год и тд и тп