|
1С в SQL. Зачем 1С генерит имена таблиц\полей? | ☑ | ||
---|---|---|---|---|
0
SeiOkami
17.08.16
✎
09:15
|
Просто никак не могу понять. Зачем делать так? Выходит, что у меня есть три базы с одной и той же конфой. Но имена таблиц\имён разные. Не удобно же.
|
|||
1
SeiOkami
17.08.16
✎
09:17
|
(0) и скорее минус не в генерации имен, а в том, что они не вшиваются в конфу так, чтобы в рамках одной конфы имена совпадали
|
|||
2
sash-ml
17.08.16
✎
09:19
|
(1) имена совпадают
|
|||
3
Lama12
17.08.16
✎
09:22
|
(1) А зачем?
|
|||
4
SeiOkami
17.08.16
✎
09:23
|
(2), нет
|
|||
5
SeiOkami
17.08.16
✎
09:23
|
(3), приходится копаться в базах. Постоянно сопоставляю таблицы\поля
|
|||
6
Mauser
17.08.16
✎
09:24
|
Зачем ты лезешь в 1С в обход лицензии и обижаешся, что это неудобно?
|
|||
7
ViSo76
17.08.16
✎
09:24
|
(4) Напиши обработку которая бы подправляла запросы для MS SQL
|
|||
8
Serg_1960
17.08.16
✎
09:24
|
Призываю рассуждать не абстрактно :)
|
|||
9
SeiOkami
17.08.16
✎
09:25
|
(7), вопрос не в том, как с этим жить, а в том, зачем это было вообще так сделано
|
|||
10
Lama12
17.08.16
✎
09:25
|
(5) Так, нарушение лицензии... Или 1С сменила текст соглашения?
|
|||
11
Lama12
17.08.16
✎
09:26
|
(9) А зачем лишнюю информацию хранить в конфигурации?
|
|||
12
butterbean
17.08.16
✎
09:26
|
(9) а чтоб такие как ты не лазили в СУБД грязными руками
|
|||
13
VladZ
17.08.16
✎
09:27
|
(0) Режим "прямого доступа к данных" в 1С не приветствуется. Оно и понятно: умельцы быстро "наваяют механизЬму" работы с данными. И не будет смысла покупать лицензии.
|
|||
14
ViSo76
17.08.16
✎
09:28
|
Это для того чтобы унифицированно создавать объекты в базе данных. По идее код генератора наименований должен отрабатывать в зависимости от сортировки объектов в конфигурации и реквизитов в данном объекте, тогда номера таблиц и номера полей должны совпадать
|
|||
15
SeiOkami
17.08.16
✎
09:30
|
(14), не. у двух развернутых баз с одной и той же конфой разные имена таблиц и полей
|
|||
16
Lama12
17.08.16
✎
09:30
|
(15) На функциональность это не сказывается. Зачем эту информацию где-то хранить?
|
|||
17
Serg_1960
17.08.16
✎
09:31
|
(15) Поделись опытом как ты этого добился вопреки методологии 1С.
|
|||
18
SeiOkami
17.08.16
✎
09:32
|
(17), добиться чего?
|
|||
19
Это_mike
17.08.16
✎
09:32
|
(17) накатывал изменения в разном порядке.
|
|||
20
Lama12
17.08.16
✎
09:32
|
(17) Предполагаю что конфы не совсем одинаковые. Возможно просто в списке метаданных изменен порядок объектов. По функционалу они одинаковые, а по данным - разные.
|
|||
21
ViSo76
17.08.16
✎
09:34
|
Если одна база для разработки, то табличные части, созданные много позже могут серьёзно по цифре отстоять от головной таблицы, а вот в момент перегрузки они могут занять рядом стоящие номера
|
|||
22
SeiOkami
17.08.16
✎
09:38
|
если две базы подключены к хранилищу и всегда только получают изменения из него, то конфы в результате разные?
|
|||
23
Lama12
17.08.16
✎
09:41
|
(22) Если хранилище старое то могут. Был такой глюк. Не знаю исправили или нет.
|
|||
24
ViSo76
17.08.16
✎
09:42
|
может для ускорения создания объектов задействован параллелизм, тогда никогда не будет совпадать.
|
|||
25
SeiOkami
17.08.16
✎
09:43
|
(23), не, не старое. Но если такой глюк бывает... А как можно точно определить идентичность конфигурации? Обычное сравнение покажет или надо в файлики распаковывать?
|
|||
26
ViSo76
17.08.16
✎
09:44
|
Попробуй провести эксперимент. Выгрузи конфигурацию и загрузи эту конфигурацию в 2 базы с нуля, и проверь, скорее всего совпадать будут на 100%
|
|||
27
b_ru
17.08.16
✎
09:44
|
На вопрос зачем ответить просто: в стандартное оборудование ПК не входит программно управляемая линейка, чтобы бить по пальцам слишком ярых программистов. Поэтому приходится по всякому изгаляться, чтобы им жизнь медом не воняла.
|
|||
28
MiniMuk
17.08.16
✎
09:57
|
они наверно еще при реструктуризации таблиц имена меняют
|
|||
29
hitodom
17.08.16
✎
10:00
|
если базы с 0 поднимать из cf то имена не будут совпадать
|
|||
30
hitodom
17.08.16
✎
10:01
|
зачем 1с вообще гененрит имена? чтоб ренэйм не делать, когда переименуешь таблицу или поле.
Хотя конечно все идет с dbf 77 где на имя строго определенное количество символов |
|||
31
Serg_1960
17.08.16
✎
10:02
|
"А как можно точно определить идентичность конфигурации" - это интересный вопрос между прочим.
(28) Нет. (29) Нет. |
|||
32
hitodom
17.08.16
✎
10:05
|
еще если через сравнение объединяешь, то даже гуиды у метаданных разные будут.
и если ты потом загрузишь конфу, то метаданные могут удалиться |
|||
33
Serg_1960
17.08.16
✎
10:16
|
(ради прикола своеобразный опрос :)
ЗУП 2.5 у вас есть? Надеюсь есть. Тогда создайте внешнюю обработку с простеньким алгоритмом и запустите в своей базе. ЧтоИщу = "Документ.НачислениеЗарплатыРаботникамОрганизаций"; СтруктураХранения = ПолучитьСтруктуруХраненияБазыДанных(,Истина); Состояние("Ищу..."); Для Каждого Таблица Из СтруктураХранения Цикл Если Найти(Таблица.Метаданные, ЧтоИщу) Тогда Сообщить(Таблица.Метаданные + "(" + Таблица.Назначение + ") " + Таблица.ИмяТаблицыХранения); КонецЕсли; КонецЦикла; Возврат; |
|||
34
Serg_1960
17.08.16
✎
10:17
|
В моей базе ЗУПа вот так (первая строка может отсутствовать):
Документ.НачислениеЗарплатыРаботникамОрганизаций(РегистрацияИзменений) _DocumentChngR2545 Документ.НачислениеЗарплатыРаботникамОрганизаций(Основная) _Document147 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.Начисления(ТабличнаяЧасть) _Document147_VT2413 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.ДополнительныеНачисления(ТабличнаяЧасть) _Document147_VT2447 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.ДоговорыНаВыполнениеРабот(ТабличнаяЧасть) _Document147_VT2474 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.Удержания(ТабличнаяЧасть) _Document147_VT2492 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.НДФЛ(ТабличнаяЧасть) _Document147_VT2513 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.ПогашениеЗаймов(ТабличнаяЧасть) _Document147_VT2529 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.ФизическиеЛица(ТабличнаяЧасть) _Document147_VT7076 Документ.НачислениеЗарплатыРаботникамОрганизаций.ТабличнаяЧасть.ДатыВыплаты(ТабличнаяЧасть) _Document147_VT11472 |
|||
35
Serg_1960
17.08.16
✎
10:20
|
Цель мини-опроса - выявить факт расхождения в именах таблиц SQL для типового документа типовой конфигурации. Что положит конец спорам (надеюсь).
|
|||
36
МихаилМ
17.08.16
✎
12:31
|
за более 10 летний срок существования 1с8 эта тема обсуждалась десятки раз. в поиск.
|
|||
37
МихаилМ
17.08.16
✎
12:40
|
(9) "..зачем это было вообще так сделано.." - просмотрите запись dbnames таблицы params. может станет понятнее
|
|||
38
Oftan_Idy
17.08.16
✎
12:48
|
(0) Нафига тебе лазить в sql напрямую?
Если уж совсем прижало то всегда можешь получить от платформы метаданные в SQL, с соответствием метаданных 1С и таблиц SQL. Есть же методы в платформе для этого. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |