Имя: Пароль:
1C
 
Проблема после расширения
0 Voblhned
 
20.01.22
11:12
Подгружали расширение, в котором было поле тип "булево", все было ок. Расширение убрали поле осталось: FLD29823 Document549 оно пустое без имени в структуре.
Назад загрузить расширение не дает, говорит поле уже существует. Документы не проводит вылетает с ошибкой SDBL ... как грохнуть это поле у документа "реализация товаров и услуг" ?

Целостность и ТиИ не принесли результата.
1 Ёпрст
 
20.01.22
11:29
_Document549X есть в базе данных ?
2 Voblhned
 
20.01.22
11:39
нету вроде.

Таблица: Документ.РеализацияТоваровУслуг, Имя таблицы хранения: Document549, Назначение: Основная
- поля:
****
АдресДоставкиПеревозчикаЗначение (Fld9034)
ВариантВыбытияМаркируемойПродукции (Fld9035)
    (Fld29823)
ОбластьДанныхОсновныеДанные (Fld1352)


Забыл сказать что база УТ 11.4.14.95.
3 Ёпрст
 
20.01.22
11:42
(2) ты где смотришь то ?
4 Voblhned
 
20.01.22
11:43
у меня какая то обработка есть скачанная z89 Выводит структуру, база файловая

может поверх перелить CF ?
5 Ёпрст
 
20.01.22
11:44
(4) б вазе смотри, а не всякими поделками
6 Ёпрст
 
20.01.22
11:44
* в базе..
У тя файловая что ле ?
7 Serg_1960
 
20.01.22
11:44
(0) Озвучьте версию платформы.
8 Voblhned
 
20.01.22
11:45
(6) да
(7) 1С:Предприятие 8.3 (8.3.20.1674)
9 Ёпрст
 
20.01.22
11:45
(4) файловая, сочуствую
10 Ёпрст
 
20.01.22
11:46
(8) о..еще один отчаянный на 20.
11 Voblhned
 
20.01.22
11:46
на 18 тоже самое (10)
12 Ёпрст
 
20.01.22
11:47
Тут только загрузить в серверную версию и ручками почистить лишнее. Но данные, скорее всего, так и остались в табличке расширения, а не в табличке изначального документа
13 Voblhned
 
20.01.22
11:48
(12) а вычистить их нельзя?
14 Voblhned
 
20.01.22
11:48
Я не дорожу, тем что там записано
15 Ёпрст
 
20.01.22
11:50
(13) в файловой, врят ли.. новых иснструментов не завезли, всякие v8unpack и иже с ними, не помню, умеют ли с новыми версиями, сорее нет, чем да.
На sql всё проще и понятнее
16 Voblhned
 
20.01.22
11:51
(15) 1С tools CD не работает, или у меня версия не та
17 Ёпрст
 
20.01.22
11:52
(16) для tools CD нужно конвертить базу бод 8.2, но с 20 релиза..врят ли сконвертится когда
18 Ёпрст
 
20.01.22
11:53
из-за расширений.
19 Ёпрст
 
20.01.22
11:53
их не было в 8.2
20 Ёпрст
 
20.01.22
11:55
Другие расширения есть в конфе ?
Запуск конфы с ключами удаления расширения..(врят ли поможет, но всё же) запущали ?
21 Serg_1960
 
20.01.22
11:56
Попробуйте выгрузить БД в DT и загрузить в новую БД.
22 Voblhned
 
20.01.22
11:57
(20) "C:\Program Files (x86)\1cv8\common\1cestart.exe" DESIGNER /f "D:\1C-Base\UT114" /N "Администратор" /DeleteCfg -AllExtensions делал так
(21) не помогло

Открыл tool 1cd
23 Voblhned
 
20.01.22
11:58
(1) в тулсе вижу таблицу DOCUMENT549X1
24 Garykom
 
гуру
20.01.22
11:58
(21) Высока вероятность невыгрузки таблиц
25 Ёпрст
 
20.01.22
11:59
(23) теперь смотри, в какой из табличек все твои данные - в X или в обычной.
Скорее всего всё в X
26 Voblhned
 
20.01.22
11:59
(24) Все прошло хорошо, но результат 0
(1) в ней как раз мертвое поле _FLD29823
27 Garykom
 
гуру
20.01.22
11:59
(14) >Я не дорожу, тем что там записано

Ты понимаешь что не данные галочки пропадут а сами документы?
28 Voblhned
 
20.01.22
12:00
(25) все лежит в X
29 Ёпрст
 
20.01.22
12:01
(28) А не должно, если ты прибиваешь расширение, все данные должны быть в табличке без X.
30 Garykom
 
гуру
20.01.22
12:01
Механизм расширений он слегка идиотски работает с таблицами объектов
Создает новую таблицу с доп. полями из расширения и всеми базовыми и туда копирует данные из базовых таблиц
Базовые таблицы они остаются со старыми данными, новые объекты (справочники, документы) пишутся уже в новые таблицы

Поэтому если вернуться к старым таблицам то упс и все новые объекты того
31 Garykom
 
гуру
20.01.22
12:02
(29) Это если оно правильно прибивается с переносом всего из таблички с X в табличку без X
32 Voblhned
 
20.01.22
12:02
(29) там еще есть _DOCUMENT549_VT9036_SKX1@ какие то
33 Ёпрст
 
20.01.22
12:02
переименовывай табличку, там где без X , добавь префикс любой, хоть вася, там где X1, x1  удаляй, + удали лишнее поле
34 Ёпрст
 
20.01.22
12:03
(32) не какие то, а табличные части :))
35 Ёпрст
 
20.01.22
12:04
ExtensionsInfo, кстати, еще есть ? Данные в ней есть ?
36 Serg_1960
 
20.01.22
12:05
(26) Расшифруйте :( Выгрузил в dt / загрузил из dt  - поле осталось или что?
37 Ёпрст
 
20.01.22
12:07
(30) не так, базовае таблицы очищаются, все данные есть только в табличках с X. Если расширение удаляется, то данные копиряются взад в исходную табличку
38 Voblhned
 
20.01.22
12:08
(36) да
(33) а похоже tool cd Не может работать так =( написано "только чтение"
39 Ёпрст
 
20.01.22
12:08
(36) выгрузка/загрузка из dt ему не поможет. Нынче всё создается как есть, был мусор - стал мусор.. там нет никакой реструктуризации
40 Ёпрст
 
20.01.22
12:08
(38) выкладывай уже свой dt на файломомойку на поглядеть
41 Serg_1960
 
20.01.22
12:11
(40) Если это так, то ничто не мешает поднять PostgreSQL и там разобраться с этим полем без танцев с бубнами.
[ушёл с ветки]
42 Voblhned
 
20.01.22
12:14
(41) круто, а как загрузить ее в PG без установленного сервера 1С
43 Garykom
 
гуру
20.01.22
12:15
(42) Установить
44 Voblhned
 
20.01.22
14:01
Установил сервер 1с и потгри, щас буду пробовать, благо завалялась лицуха на Минисервер
45 Voblhned
 
20.01.22
14:27
(33) сделал, при запуске ругается что X1 не существует
46 Ёпрст
 
20.01.22
14:30
(45) очисти ExtensionsInfo у нужного расширения
47 Ёпрст
 
20.01.22
14:31
только еше посмотреть ннадо, что валяется в VT9036_SKX1
48 Voblhned
 
20.01.22
14:34
(46) В таблице _ExtensionsInfo пусто
49 Voblhned
 
20.01.22
14:37
(47) есть таблица _document549_vt9036x1 в ней индекс  _document549_VT9036_SKX1
50 Voblhned
 
20.01.22
14:43
А я не могу например взять просто в x1 бахнуть кривой реквизит, потом загрузить Расширение и Удалить его, в надежде что он сам перенесет Х1 в нормальный докумен?
51 Ёпрст
 
20.01.22
14:46
(50) можешь
52 Ёпрст
 
20.01.22
14:48
У тя щас так - сведений о расширении нет, раз данные в _ExtensionsInfo  отсутствуют, но в схеме данных, все данные по пути расширения тащатся - с Х, а должны с табличек без суфикса
53 Ёпрст
 
20.01.22
14:48
пробуй, в X прибить левое поле и Подключить/отключить расширение..
54 Ёпрст
 
20.01.22
14:49
Можно, конечно и dbNames в табличке парамс поправить..
55 Voblhned
 
20.01.22
14:54
(51) так не вышло, поля в БД нету, а клиентском режиме он почему то все равно его видит.
56 Ёпрст
 
20.01.22
15:40
(55) очисти остальные таблички от расширений, они следом за _ExtensionsInfo  идут
57 Voblhned
 
20.01.22
15:48
все с начинающиеся с Extensions
58 Ёпрст
 
20.01.22
16:05
(57) ага
59 Ёпрст
 
20.01.22
16:15
Да, еще пробуйте добавить реквизит дока, и обновить конфу, что б реструктуризация прошла.
60 Ёпрст
 
20.01.22
16:16
В пофигураторе, дрбавьте булево, например, после реструктуризации улалите
61 Voblhned
 
20.01.22
16:16
(58) после "опустошения" _extensionsrestruct он начал сохранять документа в _документ549 без Х
62 Voblhned
 
20.01.22
16:17
но старые документы при попытке открыть пишет "объект не найден"
63 Voblhned
 
20.01.22
16:23
так что я сделал:
1. удалил поле _fld29823 в _Document549x1
2. _Document549x1 переименовал в _Document549x1-Вася
3. Переименовал _Document549 в _Document549x1
4. Переименовал _Document549x1-Вася в _Document549
5. удалил все записи _extensionsrestruct

Все круто, но табличные части товаров похоже просрал, наверно с теме же таблицами так же надо поступить?
64 Ёпрст
 
20.01.22
16:26
(63) да. Они пока не куда не делись
65 Ёпрст
 
20.01.22
16:27
Потом, свои левые таблички, просто грохнешь
66 Voblhned
 
20.01.22
16:33
вот список х1, я все их сделал просто без х, эти сами х1 получается не нужны раз мы выпили всю структура расширения?
_document549_vt9036x1
_document549_vt9068x1
_document549_vt9074x1
_document549_vt9095x1
_document549_vt9100x1
_document549_vt9106x1
_document549_vt9114x1
_document549_vt9127x1
67 Ёпрст
 
20.01.22
17:01
(66) да
68 Garykom
 
гуру
20.01.22
17:05
(66) Сначала проверить есть ли там данные
69 Voblhned
 
20.01.22
17:15
(67) меня как слепого котенка взял на поводок и привел к миске! Огромное тебе спасибо! За терпение!!!
(68) конечно, а то 2й раз я уже сегодня не выдержу
70 Voblhned
 
20.01.22
18:16
(63) дополню:
7. Вернул назад поле _fld29823 в _Document549x1(не проходила выгрузка)
7. Открыл конфигуратор и добавил документ "реализация товаров и услуг" в расширение созданное в конфигураторе и создал новый реквизит в расширении
8. посмотрел таблицы и поле _fld29823 само собой исчезло.
9. в 1с создал документ "РТиУ"
10. в pgAdmin проверил пишет в новую "Х" таблицу и все работает как надо

Теперь вопрос, если я удалю расширение, он перельет данные из Х в Обычную таблицу? или так и будет там хранить?
71 Voblhned
 
20.01.22
18:17
как правильно удалять расширения, что бы не было таких проблем?
72 Voblhned
 
20.01.22
18:32
Рано радовался, теперь как только добавляешь расширение к доку ТИиУ он вычищает полностью таблицу document549, а в document549x1 начинает писать новые документы, все работает, но старые документы уничтожает
73 Ёпрст
 
20.01.22
18:55
(70) при отключении, ничего не изменяется, при удалении - прибивает X и в старую табличку переносит только значения её полей (т.е твои добавленные в расширение херятся)
Грубо, логика какая - создал новый объект - создалась новая табличка, если переопределил штатный объект - то создалась копия этой таблички с X + новый реквизит/реквизиты, в старой табличке записи удаляются. Все последующие расширения, работают уже с X табличкой этого объекта. Если ты удаляешь одно расширение, оно смотрит, если несколько расширений одного объекта, то удалит только своё поле в X, если других расширений нема, удалит X табличку и данные вернёт в исходную.
74 Ёпрст
 
20.01.22
18:56
(72) просто добавь реквизит без расширения, что б штатная реструктуризация прошла в этом доке. Потом уже, играйся с расширениями
75 Фрэнки
 
20.01.22
18:59
самое смешное, что сказанное в (74) поведение повторялось и ранее, когда расширений еще и в помине не было, но были хаотичные манипуляции над реквизитами документов.
76 Фрэнки
 
20.01.22
19:00
до какого-то момента, чтоб у документа прошла реструктуризация, устанавливал у поля комментарий длинну строки. Происходила реструктуризация и можно было дальше насиловать документ.
77 Ёпрст
 
20.01.22
19:03
Ну главное пнуть её, что б схема базы данных соответствовала конфиге и самим данным
78 Voblhned
 
20.01.22
19:05
(74) снять с поддержки и добавить реквизит получается
79 Voblhned
 
20.01.22
19:34
не помогло, снял с поддержки, добавил новый реквизит. зашел в 1с. Добавил ресширение и он снова все потер
80 Ёпрст
 
20.01.22
19:38
(79) "потер"..это как у тебя выглядит ? Будь проще, сейчас, табличку с данными переименуй в вася, сделай её копию пустышку, втыкай свое расширение, и потом васю переименуешь в X, добвив в него новое поле расширения.
81 Ёпрст
 
20.01.22
19:38
И потом..играйся дальше.
82 Garykom
 
гуру
20.01.22
19:38
(79) бэкап есть рабочий?
вот его разворачиваешь на sql и сравниваешь с битой базой
как неправильно и как должно быть
ну и переносить данные между таблицами вероятно придется
83 Voblhned
 
20.01.22
19:40
я уже подумываю просто сделать, взять выгрузить реализации EnterpriseData, потом расширение добавить, он похерит все, залить Entrprise и переходить к тестам
84 Voblhned
 
20.01.22
19:55
(80) ну берешь на таблицу жмешь: тыкаешь обзор данных а там пусто 0 записей.
85 Ёпрст
 
20.01.22
20:03
(84) в какой табличке ? в обычной или в X ? после расширения все данные будут только в X
86 Voblhned
 
20.01.22
20:37
(85) не в X не в обычной
87 Voblhned
 
20.01.22
20:42
если например, после того как с полями наигрался, все работает и расширения нет.
1. Создаешь новый докумет
2. Добавляешь расширение
3. Добавляешь документ после расширения

то в обычной остается 1н документ из пункта 1
а Х будет 1н документ из пункта 3
Все документы которые были до "сегодня" затираются в обычной и нету их в Х
88 Ёпрст
 
20.01.22
20:53
(87) Странный эффект, попробуй (80), т.е создал документ, делаешь копию-пустышку,ей заменяешь табличку,табличку переименовываешь, втыкаешь расширение, табличку X подменяешь исходной переименованной.
А потом пробовать добавлять документы и удалять расширение.
89 Ёпрст
 
20.01.22
20:54
Ну, что б данныу в X табличке были с нужными данными, и во всяхих служебных табличках были правильные записи от твоего расширения
90 Voblhned
 
20.01.22
21:43
(88) ты меня прям подтолкнул как сделать:

1. Скопировал таблицы CREATE TABLE _document549_211 AS (SELECT * FROM _document549) ... все 9 штук
2. Зашел в конф и создал Расширение, в него добавил документ РТиУ
3. Зашел в 1С , все работает
4. Зашел в Конф и в расширении документу РТиУ добавил реквизит
5. Зашел в 1С (все документы похерились)
6. Зашел в Конфигуратор и удалил расширение
7. Зашел в pgAdmin и увидел что 1С сама удалила все X
8. Дропнул оригинальные таблицы DROP TABLE _document549 .... все 9 штук
9. Переименовал все таблицы в оригинал ALTER TABLE _document549_211 RENAME TO _document549 ... все 9
10. зашел в 1С. Добавил расширение ...
все работает вроде. Доки создаются, проводятся, расширение работает.

Теперь спать, завтра утром оценю, что вышло в pgAdmin.
Вот так бывает когда расширение заглючит ..
91 Voblhned
 
21.01.22
08:05
После добавления в расширения он откопировал все в X, после удаления вернул в обычную таблицу.
но возникает:
Конфликт блокировок при выполнении транзакции:
Нарушение целостности чтения объекта базы данных из-за параллельного изменения объекта другим сеансом
С теми документами, которые были в списке
92 Ёпрст
 
21.01.22
09:19
(91) ну, конфликт блокировок к рассширению уже никоим боком...
93 Ёпрст
 
21.01.22
09:19
(90) тут да, ты таким способом просто правильно пересоздал структуру служебных табличек и схему базы данных.
94 ИС-2
 
naïve
21.01.22
09:36
мысли в слух
может выгрузить в dt и загрузить по новой ?
на Sql провести обслуживание (реструкторизацию) ?
В расширении переименовать этот реквизит и по новой подключить ?
95 Ёпрст
 
21.01.22
09:40
(94) не поможет, там нет реструктуризации при этом
96 Ёпрст
 
21.01.22
09:41
(94) у него изначально, была битая инфа о расширении, но данные остались в табличке расширения.
Хотя... он ужо всё исправил.
AdBlock убивает бесплатный контент. 1Сергей