Size: a a a

1С, БСП, DevOps и Архитектура

2021 February 10

JD

John Doe in 1С, БСП, DevOps и Архитектура
Среда - маленькая пятница.
Вопрос: кто как организовывает регистрацию изменения значений перечислений конфигурации (для целей обмена с внешними системами)?
Добавили мы новое значение перечисления в конфигурацию - хорошо бы это изменение отработать (заметить и передать во внешнюю систему). Планы обмена для перечислений не работают.

Из простого пока на ум приходит только воспользоваться регистрацией через БСПшный справочник идентификаторов объектов метаданных.
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
John Doe
Среда - маленькая пятница.
Вопрос: кто как организовывает регистрацию изменения значений перечислений конфигурации (для целей обмена с внешними системами)?
Добавили мы новое значение перечисления в конфигурацию - хорошо бы это изменение отработать (заметить и передать во внешнюю систему). Планы обмена для перечислений не работают.

Из простого пока на ум приходит только воспользоваться регистрацией через БСПшный справочник идентификаторов объектов метаданных.
Смотря с чем и как обмениваетесь. Я так понимаю все значения перечисления у Вас выгружаются как справочник?
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊
Смотря с чем и как обмениваетесь. Я так понимаю все значения перечисления у Вас выгружаются как справочник?
Чтобы чем-то обменяться, нужно собрать кандидатов к обмену. Про этот сбор и вопрос. Какая разница, с чем и как?
источник

g

gosn1ck in 1С, БСП, DevOps и Архитектура
John Doe
Среда - маленькая пятница.
Вопрос: кто как организовывает регистрацию изменения значений перечислений конфигурации (для целей обмена с внешними системами)?
Добавили мы новое значение перечисления в конфигурацию - хорошо бы это изменение отработать (заметить и передать во внешнюю систему). Планы обмена для перечислений не работают.

Из простого пока на ум приходит только воспользоваться регистрацией через БСПшный справочник идентификаторов объектов метаданных.
можно предложить перечисление заменить на справочник, хоть с предопределенными значениями, но кейс-то какой? сложно придумать прикладной смысл выгрузки куда-то нового значения перечисления с отрывом от какого-то объекта
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
John Doe
Чтобы чем-то обменяться, нужно собрать кандидатов к обмену. Про этот сбор и вопрос. Какая разница, с чем и как?
Ну если это, например, обмен при помощи правил КД2, то без доработки правил Вам будет сложно что-то сделать.
Перечисления - это не данные. Это скорее как константы в их классическом значении.
Например, как вы обменяетесь числом 3(три) ?
источник

AS

Anton Selin in 1С, БСП, DevOps и Архитектура
𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊
Ну если это, например, обмен при помощи правил КД2, то без доработки правил Вам будет сложно что-то сделать.
Перечисления - это не данные. Это скорее как константы в их классическом значении.
Например, как вы обменяетесь числом 3(три) ?
Он не сказал, что обменивается с 1С. Написал, что обменивается с внешней системой.
источник

AS

Anton Selin in 1С, БСП, DevOps и Архитектура
И по определенным причинам значения перечислений там имеют определенный вес
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
Anton Selin
Он не сказал, что обменивается с 1С. Написал, что обменивается с внешней системой.
Потому я написал "например". Да, и кто вам запрещает обмениваться с внешними системами при помощи КД?
источник

AS

Anton Selin in 1С, БСП, DevOps и Архитектура
𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊
Потому я написал "например". Да, и кто вам запрещает обмениваться с внешними системами при помощи КД?
Так надо зарегистрировать эти изменения как-то. Как зарегистрировать изменение перечисления?
источник

AS

Anton Selin in 1С, БСП, DevOps и Архитектура
John Doe
Среда - маленькая пятница.
Вопрос: кто как организовывает регистрацию изменения значений перечислений конфигурации (для целей обмена с внешними системами)?
Добавили мы новое значение перечисления в конфигурацию - хорошо бы это изменение отработать (заметить и передать во внешнюю систему). Планы обмена для перечислений не работают.

Из простого пока на ум приходит только воспользоваться регистрацией через БСПшный справочник идентификаторов объектов метаданных.
А у тебя меняется версия конфигурации?
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
Anton Selin
Так надо зарегистрировать эти изменения как-то. Как зарегистрировать изменение перечисления?
Перечисления - это не данные
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Anton Selin
И по определенным причинам значения перечислений там имеют определенный вес
Да какое "определенное": в источнике (1С) перечисления сидят в реквизитах объектов БД.
Во внешней системе это такой же enum (отдельная таблица), ссылка на айдишник записей которой так же сидит в реквизитах (полях) тамошних объектов тамошних БД.
Вот хочется как-то синхронизировать эти enum'ы в источнике и приемнике автоматически, чтоб не думать особо после каждого добавления новых значений в источнике.
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Anton Selin
А у тебя меняется версия конфигурации?
Нет. Но отловить факт изменения конфигурации БД не проблема - любой узел плана обмена, имеющий флажок "РИБ" дает эту возможность.
источник

AS

Anton Selin in 1С, БСП, DevOps и Архитектура
Если после изменения конфигурации ты меняешь версию конфигурации, можно завязаться, наверное на неё. Хотя это тот же самый БСПшный метод обновления метаданных.
Но я теоритезирую, так как сам никогда не фиксировал изменения перечислений.
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
John Doe
Да какое "определенное": в источнике (1С) перечисления сидят в реквизитах объектов БД.
Во внешней системе это такой же enum (отдельная таблица), ссылка на айдишник записей которой так же сидит в реквизитах (полях) тамошних объектов тамошних БД.
Вот хочется как-то синхронизировать эти enum'ы в источнике и приемнике автоматически, чтоб не думать особо после каждого добавления новых значений в источнике.
Ок. Обновилась 1с и добавилось новое значение. Как-то его зарегистрировали и отправили, допустим. В принимающей системе его нет в enum'е. Что она будет с ним делать?
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊
Ок. Обновилась 1с и добавилось новое значение. Как-то его зарегистрировали и отправили, допустим. В принимающей системе его нет в enum'е. Что она будет с ним делать?
Если "его зарегистрировали и отправили", то оно там конечно же уже появилось. Что-то ты странное спрашиваешь.
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
John Doe
Если "его зарегистрировали и отправили", то оно там конечно же уже появилось. Что-то ты странное спрашиваешь.
Если оно там может "появиться", то это уже не enum
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊
Если оно там может "появиться", то это уже не enum
То, что ты любишь теоретизировать, мы уже поняли :)
источник

𝖍

𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊... in 1С, БСП, DevOps и Архитектура
Значит используй справочник и не мучай ж*у
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
𝖍𝖔𝖉𝖞𝖙𝖔𝖓𝖊
Значит используй справочник и не мучай ж*у
Ага. Все типовые пойду переписывать с перечислений на справочник.
источник