Имя: Пароль:
1C
 
Изменить гуид значения перечисления
0 SeiOkami
 
28.12.16
14:58
Можно ли это сделать и как?
Незачем спрашивать "зачем?". Просто хочется знать
1 Лефмихалыч
 
28.12.16
14:59
выгрузить конфу в xml, поменять гуид, загрудить обратно
2 Лефмихалыч
 
28.12.16
14:59
я так делал. Не спрашивай - зачем.
3 SeiOkami
 
28.12.16
15:00
(1) после обновления ИБ не выпадет в непонятки?
4 Лефмихалыч
 
28.12.16
15:01
(3) у меня не выпадало
5 Лефмихалыч
 
28.12.16
15:01
+(4) может потому, что база пустая была - я не знаю :)
6 Лефмихалыч
 
28.12.16
15:02
если серьено, то - будут объектненайдены везде, где хранится ссылка на это значение. Что с объектненайденами делать, тебя ж учить не надо?
7 SeiOkami
 
28.12.16
15:04
(6), ну это ясно, да. Спасибо
8 b_ru
 
28.12.16
15:25
Создать у перечисления новое значение, обновить базу, удалить старое, обновить базу, переименовать новое, обновить базу - разве не покатит?
9 Лефмихалыч
 
28.12.16
15:31
(8) джидаям обычно лень стольоко обновлений ради одного значения воротить
10 OldFornit
 
28.12.16
15:36
declare @table table(row_n int identity(1,1), table_n nvarchar(500), col_n nvarchar(500))
declare @iterator int
declare @query nvarchar(1024)
declare @col nvarchar(500)
declare @tab nvarchar(500)

insert into @table(table_n, col_n) select TABLE_NAME, COLUMN_NAME from INFORMATION_SCHEMA.columns where DATA_TYPE = 'binary' and COLUMN_NAME like '%Ref%' and CHARACTER_MAXIMUM_LENGTH = 16
order by TABLE_NAME

set @iterator = 1

while @iterator <= (select max(row_n) from @table)
begin

set @query = (select 'update ' + table_n + ' set ' + col_n + ' = 0x8D4300155D007A5E11E3E65DF3EFDBB6' + ' where ' + col_n + '='  + '0x8D4300155D007A5E11E3E57BD49E16A2' from @table where row_n = @iterator )
EXEC sys.sp_executesql @query


set @iterator = @iterator + 1
end
11 Serginio1
 
28.12.16
16:22
Функция СоздатьТаблицуПеречислений(Переч)
    Массив=Новый Массив;
    
    Массив.Добавить("Перечисление."+Переч);
    ТЗ = ПолучитьСтруктуруХраненияБазыДанных(Массив,Истина);
    Перечисление=Перечисления[Переч];
    СтрПереч=Тз.Найти("Перечисление."+Переч,"ИмяТаблицы");
    Поля=ПреобразоватьТзВСтруктуру(СтрПереч);
    
    Стр="
    |Select _IDRREF as Ссылка,
    |Case";
    
    Мета=Метаданные.Перечисления[Переч];
    
    Для каждого ИмяП из Мета.ЗначенияПеречисления Цикл
        Стр=Стр+"
        |When _ENUMORDER="+Перечисление.Индекс(Перечисление[ИМяП.Имя])+" Then '"+Перечисление[ИМяП.Имя]+"'"
    КонецЦикла;
    
    Стр=Стр+"
    |End as Наименование
    |INTO #"+Переч+"
    |From "+СтрПереч.ИмяТаблицыХранения+";";
    Возврат Стр
    КонецФункции
12 Serginio1
 
28.12.16
16:23
Вместо Select  делай Update