![]() |
![]() |
![]() |
|
v8: Изменение идентификатора предопределенного элемента справочника | ☑ | ||
---|---|---|---|---|
0
dk
23.06.11
✎
12:30
|
Исходные:
2 базы 1С 8.2 УПП + доработка база 1 - хранит список номенклатуры, база 2 - пока пустая В базе 2 завел предопределенные элементы в справочнике номенклатура. Перенес универсальной обработкой (перенос XML) номенклатуру из база 1 в база 2 Проблема: обработка переносит и синхронизирует по внутреннему идентификатору. С одной стороны это хорошо, т.к. могут понадобиться дополнительные выгрузки номенклатуры, а может и еще чего в базу 2. Но, надо как=то связать несколько элементов номенклатуры база 1 с предопределенными элементами в база 2. Связь 1 к 1, т.е. База1: товар1 - база2: продопределенный_товар1 База1: товар2 - база2: продопределенный_товар2 База1: товар3 - база2: продопределенный_товар3 --- В данный момент после переноса в базе 2 имеем: База2: - Товар1 - Товар2 - Товар3 - Предопределенный_Товар1 - Предопределенный_Товар2 - Предопределенный_Товар3 т.е. задублировались элементы. Собственно вопрос: Как-нить можно поменять идентификаторы у предопределенных элементов в базе 2? Или только правкой в скуле? |
|||
1
Живой Ископаемый
23.06.11
✎
12:35
|
только
|
|||
2
Широкий
23.06.11
✎
12:37
|
(1) Идишники у предопределенных еще и в конфу зашиты
|
|||
3
dk
23.06.11
✎
12:39
|
(2) вооот, уже интересно
есть у кого положительный опыт подобных махинаций с ИД? |
|||
4
Лефмихалыч
23.06.11
✎
12:42
|
(0) идентификатор предопределенного элемента можно изменить в конфигураторе. Только, я не понимаю, зачем - в (0) какая-то противоестественная струйня
|
|||
5
Defender aka LINN
23.06.11
✎
12:42
|
Пипец. А что, в правилах обмена поиск настроить - не, не по-пацански?
|
|||
6
dk
23.06.11
✎
12:44
|
(5) нет правил обмена, типовая обработка по переносу между одинаковыми конфами
|
|||
7
Mickeleangelo
23.06.11
✎
12:44
|
(0)
1. Добавить в Базу 1 предопределенные товары 2. В Базе 1 обработкой поиска и замены дублей слить вместе предопределенные и введенные вручную товары 3. Выгрузить cf Базы 1 4. Удалить из Базы 2 предопределенные товары (она же пустая еще) и через «сравнить, объединить» загрузить предопределенные элементы из cf (без флага «Режим копирования») 5. Удалить предопределенные в Базе 1, сами товары останутся |
|||
8
YurOK_51
23.06.11
✎
12:45
|
А Ctrl+C и Ctrl+V разве не переносит элементы с идентификаторами?
|
|||
9
dk
23.06.11
✎
12:45
|
(4) хдееее?
|
|||
10
dk
23.06.11
✎
12:46
|
(7) слить номенклатуру - плохая идея
|
|||
11
dk
23.06.11
✎
12:46
|
(8) мимо
|
|||
12
Steel_Wheel
23.06.11
✎
12:46
|
(8) Не переносит. Внутренние идентификаторы будут различными. Только через обновление или сравнение/объединение
|
|||
13
Defender aka LINN
23.06.11
✎
12:46
|
(6) Ну так напиши. Тоже мне, проблему нашел
|
|||
14
dk
23.06.11
✎
12:47
|
(13) лениво
|
|||
15
dk
23.06.11
✎
12:55
|
помогите лентяю )
|
|||
16
Живой Ископаемый
23.06.11
✎
12:56
|
2(2)ну Config - этож тоже таблица в базе... правда не знаю как там искать...
|
|||
17
Mickeleangelo
23.06.11
✎
12:57
|
(10) Почему?
|
|||
18
dk
23.06.11
✎
13:00
|
база большая и перепроводить доки за несколько лет - не вариант
|
|||
19
Sammo
23.06.11
✎
13:02
|
(14) А не лениво копаться в SQL таблице с непредсказуемыми последствиями.
Ни разу не видел, чтобы меняли идентификатор предопределенного элемента. |
|||
20
Mickeleangelo
23.06.11
✎
13:07
|
(18) Перепроводить? Достаточно перезаписать. Лучше с
ДокументОбъект.ОбменДанными.Загрузка = Истина; Ну и с записями в регистрах аналогично. |
|||
21
dk
23.06.11
✎
13:08
|
(19) немного сташно, но не лениво
просто колбасить правила - это долго и нудно, да и не только номенклатура может понадобиться, а других вариантов пока не видно |
|||
22
dk
23.06.11
✎
13:10
|
(20) не, все равно плохой вариант
там еще и распределенка есть + эта номенклатура почти в каждом документе есть - это почти всю базу перезаписать и отправить в периферийки. а база больше 30 гб |
|||
23
rs_trade
23.06.11
✎
13:13
|
(2) что там может быть в конфу зашито? предопределенный отличается от обычного только флагом [_IsMetadata].
Поменял сейчас уид. Все работает как обычно. |
|||
24
Живой Ископаемый
23.06.11
✎
13:13
|
2(22) ну здрасьте - удалитьрегистрациюизменений...
|
|||
25
dk
23.06.11
✎
13:14
|
забудьте про вараинт перезаписи
|
|||
26
Mickeleangelo
23.06.11
✎
13:15
|
Быдлокод-стайл: Добавить в Базе 2 константы Товар 1, Товар 2…
|
|||
27
dk
23.06.11
✎
13:17
|
да, про константы думал - это крайний вариант
|
|||
28
Sammo
23.06.11
✎
13:34
|
(23) При изменениях у меня слетало
|
|||
29
dk
23.06.11
✎
13:35
|
(28) при каких изменениях?
|
|||
30
qeos
23.06.11
✎
13:48
|
(0) я так понял что это разовая трабла.. значит после переноса Товар1 должен быть по идее Предопределенный_Товар1, а оно не так..
тогда обработку, где идет поиск по ссылкам и замена Товар1 на Предопределенный_Товар1.. фсе.. |
|||
31
rs_trade
23.06.11
✎
13:49
|
(29) меняй не бойся )) старые уиды сохрани только. на всякий случай.
|
|||
32
dk
23.06.11
✎
13:50
|
(30) думаю не разовая, т.к. еще часть документов может понадобиться перенести
|
|||
33
dk
23.06.11
✎
13:51
|
(31) щас тестовую на скуле разворачиваю, проверять буду
|
|||
34
qeos
23.06.11
✎
13:59
|
(32) ну и в чем проблема после переноса еще раз выполнить КрутуюОбработкуПоСменеЭлементовСправочниковНаПредопределенные?
|
|||
35
Aprobator
23.06.11
✎
14:01
|
+ (31) меняй - нафиг вообще уид нужен? Ну ели только на него что то ссылается.
|
|||
36
dk
23.06.11
✎
14:01
|
(34) проблема, т.к. заранее не известно количество таких переносов и данные, которые будут в переносах
|
|||
37
qeos
23.06.11
✎
14:15
|
(36) тогда поправь правила.. это еще проще сделать
|
|||
38
dk
23.06.11
✎
15:04
|
(31) нифига, теперь предопределенные не находится через
Справочники.ХХХ.ИмяПредопределенного придется в таблице конфиги рыться |
|||
39
dk
23.06.11
✎
15:04
|
пишет объект не найден и старый идентификатор пишет
|
|||
40
rs_trade
23.06.11
✎
17:09
|
(38) сейчас еще раз поменял уид. все находится. как менял?
|
|||
41
rs_trade
23.06.11
✎
17:10
|
(38) мы же говорим о замене поля _IDRRef?
|
|||
42
SunFox
23.06.11
✎
17:33
|
Проще правилами разруливать, если работать обмен будет постоянно, не полиниться настроить КД.
Был программист в моей конторе до меня, так он чтоб КД не изучать нагенерил по умолчанию правил, а потом при необходимости правил не правила, а конфы... Пришлось все херить |
|||
43
SunFox
23.06.11
✎
17:40
|
Если обработка выгрузку делает, то модифицировать ее чтоб работала с регистром сведений "СоответсвиеОбъектовДляОбмена" как например в типовых обменах
|
|||
44
Immortal
23.06.11
✎
17:45
|
можно поменять, да..
распотрошить конфу и запотрошить обратно.. |
|||
45
Aprobator
23.06.11
✎
17:46
|
(44) а че если все сделать быстро, будет очень даже незаметно.
|
|||
46
Aprobator
23.06.11
✎
17:50
|
+(45) в правилах очень тяжело тупо прописать условие, что Если ИсходноеУсловиеВыполняется Тогда // проверка хоть по кодам, хоть по наименованию, хоть еще каким способом
Значение = "ИмяПредопределенногоЭлемента" ..... А распотрошить и зашить - самое то. |
|||
47
dk
23.06.11
✎
22:26
|
||||
48
AaNnDdRrEeYy
23.06.11
✎
22:36
|
Поменяй в первой базе гуид обычного элемента на гуид предопределенного из второй
|
|||
49
dk
24.06.11
✎
06:12
|
(48) уже обсуждали
|
|||
50
dk
24.06.11
✎
08:57
|
вверх, где любители ковырять внутренности 8-ки?
|
|||
51
rs_trade
24.06.11
✎
09:03
|
(50) скажи как менял и что потом сделал что бы ошибка вывалилась. я так и не смог ошибку получить.
|
|||
52
dk
24.06.11
✎
09:20
|
просто в скуле поменял
UPDATE [Per_dk].[dbo].[_Reference125] SET _IDRRef = _IDRRef + 1 WHERE (_Code = 'ЭРИ00000005') AND (_IsMetadata = 1) ---- потом в табло результат видно - перестал по имени предопределенному искать |
|||
53
Immortal
24.06.11
✎
09:37
|
(52)поменяй в файловой ИБ)
это интереснее |
|||
54
rs_trade
24.06.11
✎
09:39
|
(52) действительно вываливается ошибка.
ну тогда вариант создать в базе 1 новые элементы. присвоить им гуиды предопределенных. а потом поиск и замена значений. |
|||
55
Sammo
24.06.11
✎
09:39
|
На правах пятницы:
секс стоя и в гамаке... |
|||
56
Sammo
24.06.11
✎
09:40
|
(54) Создать новые предопределенные с нужными гуидами можно (уже писали).
Но топикстартер не хочет делать поиск и замену. Это типа долго. |
|||
57
dk
24.06.11
✎
09:43
|
не хочу
|
|||
58
Широкий
24.06.11
✎
10:19
|
В есть IE есть функционал - он позволяет конфу править (в том числе и менять ГУИДЫ метаданных).. Юзай ее и плюс замена в скуле
|
|||
59
dk
24.06.11
✎
10:50
|
(58) кто такой IE? поподробнее
|
|||
60
vmv
24.06.11
✎
10:53
|
зачем делать предопределенные элементы на типовом справочнике УПП, да еще и на самом используемом "Номенклатура"?
Что создать себе кучу проблем при обновлениях. Если возможность создать свой РС, есть ПВХ, есть куча других способов решить задачу без слома типового функционала |
|||
61
Широкий
24.06.11
✎
10:58
|
(59) Вернее EI - Enterprise Integrator
|
|||
62
dk
24.06.11
✎
10:58
|
про типовую забудь, эта база не будет обновляться
|
|||
63
dk
24.06.11
✎
11:03
|
(61) не знаю что это
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |