Имя: Пароль:
1C
 
Как создать риб вручную в физических таблицах?
0 Вася Теркин
 
19.12.14
08:50
В имеющейся базе хотел сделать новый План обмена и по нему выгрузить часть данных (обрезать базу). При создании первоначального образа указал игнорировать выгрузку любых объектов, хотел позже назначить кого и куда. Но образ не создается, в рабочей базе есть ошибки структуры. При обходе всех объектов вылетает разными ошибками sql. Не лечится.
Хочу вручную создать новую чистую конфигурацию и в SQL Management studio прописать в таблицах что она дочерняя к моей.

Создал новый план обмена "Для обрезки" DBO_.Node7061. В нем в рабочей базе две записи - old и new. Достаточно просто создать такие же записи в пустой базе с идентичной конфигурацией? Где указать что база текущая и что она периферийная? Кто в курсе что в каких таблицах в обменах?
1 Рэйв
 
19.12.14
08:53
Главный узел зануляешь и она основная.
Ставишь- и она переферийная.
2 Hans
 
19.12.14
08:57
Ковыряй дальше Management studio, все так делают.
3 Вася Теркин
 
19.12.14
08:58
(1) Ты не понял, я просто создам чистую базу, в конфигураторе сделаю "Загрузить конфигурацию" и дальше у меня будет та же структура таблиц SQL, только пустая. Как вручную правильно заполнить таблицы и какие надо заполнить?
4 Вася Теркин
 
19.12.14
08:58
(2) Попутно ещё форум ковыряю.
5 Рэйв
 
19.12.14
08:59
(3)>>Как вручную правильно заполнить таблицы и какие надо заполнить?

Это какие таблицы НАДО?
6 Рэйв
 
19.12.14
08:59
Если ты конфу загрузил все свмо создается
7 Рэйв
 
19.12.14
08:59
*само
8 Вася Теркин
 
19.12.14
09:04
(6) Я в плане обмена "Для обрезки" существующий центральный узел переименовал в OLD и создал ещё запись NEW.
Вижу в SQL DBO_.Node7061 две строки:

0x84AED2D6BE972626414E5A3DD898E29B 0x0000000000E21329 0x00 NEW Destination 0 0
0xADDBB021D36A3F7A47D4F18EC23E45A1 0x0000000000FD9B10 0x00 OLD Source 0 0
9 Вася Теркин
 
19.12.14
09:06
Если я их только вручную перенесу в DBO_.Node7061 своей созданной чистой базы этого ведь не достаточно? Что ещё? Куда привязаны эти дескриптора?
Где в физ таблицах хранится ссылка какая из баз текущая?
Где в физ таблицах указано что база периферийная?
10 Федя Тяпкин
 
19.12.14
09:26
ПланыОбмена.УстановитьГлавныйУзел(ГлУзел);
11 Федя Тяпкин
 
19.12.14
09:26
1. Делаешь копию базы.
12 Федя Тяпкин
 
19.12.14
09:26
2. Меняешь префикс и переименовываешь узлы плана обмана. 3 в (10)
13 Вася Теркин
 
19.12.14
09:32
(12) Ты не слышишь - у меня база очень большая и ошибок в базе очень много. Для этого надо заново создать структуру базы и обменять данные.
14 Лефмихалыч
 
19.12.14
09:34
(0) зачем ты это всё делаешь?
15 Федя Тяпкин
 
19.12.14
09:36
(13) 1. пункт меняешь на загрузку конфигурации без данных.
16 Федя Тяпкин
 
19.12.14
09:37
есть обработка "регистрация изменений для обмена", ей регистрируешь какие данные перенести из старой базы.
17 Вася Теркин
 
19.12.14
09:37
(14) Много ошибок в структуре данных sql, надо срезать несколько лет, документы не удаляются и не читаются. 1С падает ошибкой sql при стандартной обрезке. Хочу не резать, а наоборот забрать часть в новую базу.
18 Вася Теркин
 
19.12.14
09:39
(15) Конфигурация без данных не привязана к рабочей как распределенная база.
19 Вася Теркин
 
19.12.14
09:47
создал для примера пустую С1 без конфигурации, там планОбмена1. Зашел в 1С, создал OLD и NEW. Стандартно выгрузил начальный образ. В SQL студии посмотрел структуры получившихся таблиц. Ничего близко похожего на мои. Вместо дескрипторов двоичные данные какие-то. Есть вообще хоть какое-то понимание структуры таблиц типа DBO_.Node?
20 Федя Тяпкин
 
19.12.14
09:52
(18) привяжи. ПланыОбмена.УстановитьГлавныйУзел(ГлУзел);
В старой предопределенный элемент плана обмена делаешь с кодом 0001 "OLD" и создаешь 0002 "NEW". В новой предопределенный 0002 "NEW" называешь и создаешь 0001 "OLD"
21 Федя Тяпкин
 
19.12.14
09:52
ПланыОбмена.УстановитьГлавныйУзел(OLD); в новой базе
22 Вася Теркин
 
19.12.14
09:54
(20) Ты думаешь обмен идет по коду 0001 и 0002?
23 Вася Теркин
 
19.12.14
09:55
(20) В новой базе пусто. Надо прямо в таблицах создать OLD и NEW
24 Федя Тяпкин
 
19.12.14
09:57
(23) Надо прямо открыть в предприятии план обмена твой и прям в плане обмена создать, "солнышко" нажать и создать, а у того который уже есть с точкой вначале "карандашик" нажать и переименовать.
25 Вася Теркин
 
19.12.14
09:59
Получишь другую распределенную базу. В рабочую базу загрузить ты такой обмен не сможешь.
26 Лефмихалыч
 
19.12.14
10:01
(17) а откуда уверенность, что то, что ты заберешь, будет открываться?
27 Лефмихалыч
 
19.12.14
10:02
и почему не рассматривается вариант починить причину, по которой 1С падает с ошибкой sql?
28 Вася Теркин
 
19.12.14
10:03
(26) У меня документы прошлых лет не открываются. Их я не буду переносить.
29 Вася Теркин
 
19.12.14
10:04
Битое я хочу оставить в старой базе. А не удалять из неё как при классической обрезке.
30 Федя Тяпкин
 
19.12.14
10:05
(22) Да обмен идет именно по коду
(25) ты попробуй
31 Вася Теркин
 
19.12.14
10:06
(30) Сейчас попробую...
32 Вася Теркин
 
19.12.14
10:07
(27) Мне не нужны эти данные.
33 Вася Теркин
 
19.12.14
11:11
(30) Сработало. Значит, таблицы ковырять не надо. Понятно.