powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Первичный ключ GUID
23 сообщений из 23, страница 1 из 1
Первичный ключ GUID
    #39201068
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрос одинесникам, проектируем софт в связке с 1с, одинесник с той стороны рассказал что в определенных условиях
конечно очень редко, при обновлении программы 1с + фазы луны, система может пересоздать все первичные ключи в таблица в виде гуидов, правда ли это?
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201152
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи, нет, это какая-то байка.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201187
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

ГУИДы есть в большинстве таблиц 1С в виде колонки _IDRRef и она является первичным ключом.

Что вы имеете в виду под "пересоздать все первичные ключи в таблица в виде гуидов" ?
Вместо одних ГУИДов сгенерировать новые? Массово нет, разве что отдельные элементы перечислений и справочников при обновлении, в принципе, могут быть удалены и созданы заново. Это относится к логике обновления с релиза на релиз.
Возможно что-то подобное было где-то на рубеже переходов 8.0-8.1 (или 8.1-8.2), когда менялся формат базы и делалось её конвертирование.

А вот если вы отредактируете таблицу средствами SQL и сделаете первичным что-то иное кроме 1Сного ГУИДа, тогда да, с большой вероятностью 1С приведёт первичный ключ и индексы к нужному ей состоянию.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201199
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bone serpent,
авторГУИДы есть в большинстве таблиц 1С в виде колонки _IDRRef и она является первичным ключом.
это я имел ввиду.
авторМассово нет, разве что отдельные элементы перечислений и справочников при обновлении, в принципе, могут быть удалены и созданы заново. Это относится к логике обновления с релиза на релиз.
как быть в таких случаях с репликационными данными в контексте целостности, если у справочников на одной сторонне
поменяется idrref?
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201258
Koala22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторкак быть в таких случаях с репликационными данными в контексте целостности, если у справочников на одной сторонне
поменяется idrref? - вендор в таких и прочих ситуациях интеграции настоятельно рекомендует использовать возможности интеграции самого приложения и не лезть во внутренности его базы данных.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201327
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

как быть в таких случаях с репликационными данными в контексте целостности, если у справочников на одной стороне
поменяется idrref?
С целостностью в рамках базы 1С всё нормально. Даже если при обновлении какие-то устаревшие записи в таблицах удалятся и создадутся вместо них другие, процедуры обновления в режиме Предприятия соответственно внесёт изменения в другие таблицы (справочники, документы итд).
А что касается реплицированных данных в других базах, то за них несёте ответственность вы сами. Перед каждым обновлением изучайте, что именно обновление сделает, оценивайте необходимость внесения аналогичных изменений в реплицируемые базы.
В конце концов, используя репликацию, вы нарушаете лицензионное соглашение, используя доступ к базе 1С не средствами 1С.
1СВопрос: Для реализации своих задач Организация предполагает изменить структуру некоторых таблиц базы данных. Также предполагается использовать хранимые процедуры и триггеры для реализации обработки данных, реализовать экспорт данных путем прямого чтения таблиц, добавить новые индексы и изменить структуру некоторых индексов. Имеет ли Организация право вносить в систему перечисленные изменения?
Ответ: Лицензионное соглашение не позволяет использовать недокументированные фирмой "1С" средства для построения решений на платформе 1С:Предприятие. Это означает, что средства СУБД (или любые другие внесистемные средства) можно использовать только в том случае, если документация по продуктам линейки "1С:Предприятие" (включая ИТС) содержит явную рекомендацию использовать данное средство для решения данной задачи.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201335
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Koala22,

в том то и дело что вопрос интеграции не рассматривается, раз в сутки с 1с происходит выгрузка объектов на промежуточный сервер
уникальность объектов описывается родным _idrref, свойства объектов _id на справочники,
в начале рабочего дня - объекты раскидываются на девайсы которые могут работать в оф и онлайне,
потом выясняется что гуиды могут меняться при обновлении - добавляется уникальное поле гуид - суррогатный ключ (ко всем сущностям) потом возникла нужда принимать какие то действия на девайсах в зависимости от свойств объекта ( которые описываются
как _idrref на справочники) на лету на сервере их переделали в перечисления, в итоге не начав работать получили
умопомрачительную архитектуру - типа тут не играйте, тут рыбу заворачивали. не она работает и дышит, но как поддерживать все это
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201337
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bone serpent,
авторВ конце концов, используя репликацию, вы нарушаете лицензионное соглашение, используя доступ к базе 1С не средствами 1С. не знал, честно сказать 1с видел только на картинке ((
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201427
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

Да вы не парьтесь так. В конце-концов, GUID - единственный универсальный внутренний идентификатор логической сущности в базе 1С. И все 1Сные обмены данными работают через него. А этих обменов немало - практически любое решение 1С имеет возможности обмена с другими. Так что, с большой вероятностью, ничего с вашими GUIDами не сделается.
А если и сделается, это будет редкий форсмажор, от которого нельзя застраховаться при обновлении любого продукта. Везде бывает. Бах, и какие-то функции из WinApi исчезли в новой версии винды. Бах, и в очередной версии MSSQL испарились системные таблицы, заменившись на вьюхи. И так далее.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201431
Bone serpent
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

А отслеживать, что меняется в структуре базы при обновлении 1С все равно очень желательно. Базовые таблицы, такие как номенклатура и контрагенты, всё равно будут как сущности, но вот для какой-нибудь мелочи типа, условно говоря, ставок НДС, запросто может быть замена перечисления на регистр сведений и тому подобное.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39201914
EugeniaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи, GUID объект не может измениться в процессе использования базы данных.
Никогда.
Новый GUID это всегда новый объект.

Однако правильно выше сказали, работа с базой 1С не средствами 1С это нарушение лицензионного соглашения.
Лучше посмотрите в сторону REST-интерфейса платформы 1С.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39203682
Koala22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи в том то и дело что вопрос интеграции не рассматривается, раз в сутки с 1с происходит выгрузка объектов на промежуточный сервер уникальность объектов описывается родным _idrref
- OMG! ТС, пожалуйста, запомните раз и навсегда: для 1С "родное" - это то, что получено сердствами выгрузки приложения. С содержимым таблиц базы своей конфигурации платформа обращается совершенно произвольно, и разработчика при внесении туда изменений она нисколько не спрашивает.
И на уровне приложения у всех объектных сущностей (а это справочники, документы, константы, но не записи регистров) есть свой уникальный в пределах базы идентификатор. Ссылка называется.
В вашем случае вариант, близкий к идеалу - это выгрузка ваших объектов с уникальным полем ссылка. Если необходимо, ее (как и весь объект) можно даже сериализовать.
Нет, средствами приложения можно кроме ссылки получить и некий ГУИД объекта, но проскальзывали неофициальные сообщения, что он-то как раз и может повторяться.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39203723
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Koala22Нет, средствами приложения можно кроме ссылки получить и некий ГУИД объекта, но проскальзывали неофициальные сообщения, что он-то как раз и может повторяться.
ГУИД на 1 компе не может повторятся (это фундаментальное свойство ГУИД). Я встречал коллизии ГУИДов только в 1 случае -- это когда инфа сливается с РИБ и то в итоге ГУИД перегенерируется, а в регистре сведений добавляется запись соответствия старого и нового ГУИДа.

Я точно знаю что 1с тратит довольно много времени для маппинга данных sql на объекты 1с и в нагруженных системах удобнее сделать именно средствами sql. На сколько я знаю у того же softpoint есть разработка для обмена на репликациях и всяческие кэши средствами БД, тот же Гилев не скрывая учит достраивать индексы в БД средствами БД. Так что в высоконагруженных базах редко объодится без работы с данными средствами sql
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39204628
Koala22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mad_HeadГУИД на 1 компе не может повторятся (это фундаментальное свойство ГУИД). - а компьютер-то здесь при чем? Как ГУИД объекта зависит от конкретного ПК?

Mad_HeadЯ точно знаю что 1с тратит довольно много времени для маппинга данных sql на объекты 1с - Откуда знаете? Поделитесь опытом!

Mad_Head у того же softpoint есть разработка для обмена на репликациях и всяческие кэши средствами БД, тот же Гилев не скрывая учит достраивать индексы в БД средствами БД. - почитайте лицензионное соглашение к программам 1С:Предприятие
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39204683
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Koala22,
авторВ вашем случае вариант, близкий к идеалу - это выгрузка ваших объектов с уникальным полем ссылка
это и происходит, НО, так как девайсы могут уходить в автономное плаванье без доступа к интернету (на 1-2 дня)
а в это время поле -уникальная ссылка может измениться при обновлении программы на сервере 1с ( по словам 1сника)
по его требованию было введено еще поле гуид для идентификации объекта у которого сменился родной гуид.
а теперь смотрим мой вопрос топика:
явопрос одинесникам, проектируем софт в связке с 1с, одинесник с той стороны рассказал что в определенных условиях
конечно очень редко, при обновлении программы 1с + фазы луны, система может пересоздать все первичные ключи в таблица в виде гуидов, правда ли это?
Правда ли это? дак правда это или нет?
Я вообще далек от 1с, я ее в глаза не видел и ваще не представляю что эта за штука, мне дают данные я с ними работаю
и по просьбе трудящихся отсылаю в заданном формате в заданное место..
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39204873
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиа в это время поле -уникальная ссылка может измениться при обновлении программы на сервере 1с ( по словам 1сника)

все сразу - вряд ли...

и фаза луны не причем. в 1с есть "предопределенные объекты" - например элементы справочника. например "Языки" - чтобы не искать каждый раз по наименованию, которое может меняться (Русский, русский, русский язык и т.п.) вводят "предопределенный" элемент который задается непосредственно на уровне платформы и доступен из внутреннего языка. Иногда по разным причинам (основная - 1с-ник прошляпил) предопределенный элемент забывают добавить в справочник при обновлении. В новой версии в рантайме на строке вызова этого предопределенного элемента (понадобился он например для выполнение запроса) 1с сломается. Что делает 1С-ник? Берет и вставляет через копи/пасте предопределенный элемент из обновления к себе в рабочую базу (или руками создает, с таким же именем и свойствами) - потому что некогда, все уже работают. Рантайм начинает работать, все счастливы. До нового обновления. Ибо в процессе обновления идет сравнения метаданных текущий БД и новой версии. Предопределенные элементы сравниваются как раз по guid. И 1С вываливает обновлятору примерно такую картинку:

"-" язык руский
"+" язык руский

"-" это желание самой среды 1С этот предопределенный элемент удалить, "+" - соответственно добавить. Чтобы глаза не мозолило обновлятор "удаляет и добавляет". С его точки зрения ничего не поменялось (максисмум пройдет обработкой и проставит новое значение в поля если надо) С точки зрения платформы - это два разных элемента с разными guid.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39206019
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Koala22Mad_HeadГУИД на 1 компе не может повторятся (это фундаментальное свойство ГУИД). - а компьютер-то здесь при чем? Как ГУИД объекта зависит от конкретного ПК?

Mad_HeadЯ точно знаю что 1с тратит довольно много времени для маппинга данных sql на объекты 1с - Откуда знаете? Поделитесь опытом!

Mad_Head у того же softpoint есть разработка для обмена на репликациях и всяческие кэши средствами БД, тот же Гилев не скрывая учит достраивать индексы в БД средствами БД. - почитайте лицензионное соглашение к программам 1С:Предприятие

1. Читал еще давно, что так построен алгорится генерации по крайней мере на винде.
2. Это становится ясно из сравнения работы с данными средствами sql и средствами 1с. Я к примеру работал в компании с базой в 1.5ТБ данных (это без лога), все крутилось на довольно мощном железе, но к примеру реструктуризация регстра бухгалтерии шла около недели. Некоторые отчеты не формировались за конечно время. Как тут не помогать средствами sql?
3. Я не отрицаю, что в лицензионном соглашении запрещено напрямую работать с данными, и это хороший пункт для чистых sql-щиков которые могут наворотить делов когда этого не надо.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39206793
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mad_Head, а зачем все года в бухгалтерии оставляете? Максимум 3года. Или это упп?
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39207825
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сMad_Head, а зачем все года в бухгалтерии оставляете? Максимум 3года. Или это упп?
Это была очень сильно доработанная УТП ( для РФ можно воспринимать как КА ). Данных там было за 3 года. Это была центральная в которую сливалось очень много инфы с других баз. В ней по сути строились отчеты для руководства и сдавалась бух отчетность. Рядовые пользователи в ней не работали.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39211516
MKZM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mad_HeadKoala22пропущено...
- а компьютер-то здесь при чем? Как ГУИД объекта зависит от конкретного ПК?

пропущено...
- Откуда знаете? Поделитесь опытом!

пропущено...
- почитайте лицензионное соглашение к программам 1С:Предприятие

1. Читал еще давно, что так построен алгорится генерации по крайней мере на винде.
2. Это становится ясно из сравнения работы с данными средствами sql и средствами 1с. Я к примеру работал в компании с базой в 1.5ТБ данных (это без лога), все крутилось на довольно мощном железе, но к примеру реструктуризация регстра бухгалтерии шла около недели. Некоторые отчеты не формировались за конечно время. Как тут не помогать средствами sql?
3. Я не отрицаю, что в лицензионном соглашении запрещено напрямую работать с данными, и это хороший пункт для чистых sql-щиков которые могут наворотить делов когда этого не надо.
Наверняка неправильное построение базы.
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39211517
MKZM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист 1сMad_Head, а зачем все года в бухгалтерии оставляете? Максимум 3года. Или это упп?
А при чем тут упп?
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39211518
MKZM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MKZMПрограммист 1сMad_Head, а зачем все года в бухгалтерии оставляете? Максимум 3года. Или это упп?
А при чем тут упп?
Процесс за три года не закончен? Прогресс 3М?
...
Рейтинг: 0 / 0
Первичный ключ GUID
    #39211782
Mad_Head
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MKZMНаверняка неправильное построение базы.
Я в таких случаях всегда вспоминаю поговорку "Каждый мнит себя стратегом видя бой из далека". Безусловно там не все было идеально с проектировкой. В частности для каждой организации была создана ее копия для отображения упр учета в регистре бухгалтерии. Но все -- это получилось в процессе внедрения, когда пытались сделать внедрение минимальными изменениями конфигурации, так как до того 2 команды работая по 1-2года просто не могли внедриться и были уволены. А данных там было очень много и собственники и топ менеджмент далеко не всегда хотели жертвовать прозрачностью ради производительности.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Первичный ключ GUID
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]