#0
by чувак
Есть такой UID код у справочника "{"B","0","0","2982","0","0"," 4348 "}". Оттуда я понял только 2982, это код таблицы этого справочника. А остальные что означают? Особенно 4348. :)
#4
by Лефмихалыч
4348 - это ID стори таблицы. Последние три пробела зарезервированы для ИД базы в случае использования УРБД
#7
by Лефмихалыч
ну, да, стРОКи таблицы. А передние пробелы зарезервированы для максимально возможной длины этого ИД
#18
by Mikeware
как раз видно, что не знаком... просто руководятел.... То, что у для реляционных баз пофиг в какой "строке" что находится. Сам ссылки даешь, и сам, похоже, не удосужился прочитать...
#21
by Лефмихалыч
расслабься, просто Mikeware заняться нечем и он решил до формулировок подоёпывацца
#22
by Mikeware
А ты считаешь, что SQL-сервер (и файловое хранилище на dbf-ках) - не реляционная? :-))) действительно, "руководятел™"... ид объекта в десятичном виде. Читай ссылки в и в
#26
by чувак
А есть ли какой-нить преобразователь ? В винде калькулятор берет только до 16-го сцука. :)
#31
by Mikeware
Прав. Смотри ссылку в . _IdToStr и _StrToId И не забывай, что код ИБ перед преобразованием отделять надо
#34
by чувак
И напоследок. Как формируется этот пресловутый ID? Система автоматически создает при записи нового элемента справочника? Если да, тогда по каким правилам? ЗЫ. Видимо слишком далеко зашел ::
#36
by Mikeware
А мы разве воевали? :-) Кстати, база что файловая, что сиквельная, вполне отвечает требованиям как Кодда, так и Дейта. Другое дело, что они (1С-ные БД)не нормализованные (но от этого не перестают быть реляционными)
#37
by Лефмихалыч
я сказал база? я имел в виду СУБД. Ни семерка, ни восьмерка не хранят метаданных в виде таблиц, стало быть реляционными СУБД не являются, это вот я имел в виду. Применительно к семерке я не вижу разницы между "ИД строки таблицы" и "ИД объекта", т.к. в семерке там, где есть понятие ОБЪЕКТ, нет понятия ТАБЛИЦА и наоборот.
#38
by чувак
Зачем все это надо мне? Просто есть одна система, оттуда данные заливаются в промежуточную базу, который хранится в СКЛ. И с этой базы данные загружаются в 1С. Но меня удивляет то, что одинэс берет код из промежуточной базы (там как-раз хранится этот код в 36-м счислении), потом это преобразует в 10-чный. Потом все соберет в кучу, формирует UID код. И с помощи ЗначениеИзСтрокиВнутр преобразует в внутренный тип 1С. и находит в 1С с помощью НайтиЭлемент. Но меня волнует как может совпадать коды из совершенно разных баз (та система работает в Оракле)?
#40
by Лефмихалыч
гхмм... "Но меня удивляет то, что одинэс берет код" - одинэс так точно не делает. Еще раз, в чем проблема? У тебя что-то где-то при каком-то обмене задваивается?
#42
by чувак
Я имел ввиду из промеж. базы в 1С заполняется документ, там есть справочник Контрагенты. В обоих базах это справочник заполняется независимо, соответственно если одновременно создать в обоих один и тот-же контрагент, у них не будет ничего общего (ИНН не берем в счет). Вот вопрос: как одинэс нашел этот справочник, если в обоих базах нету ничего общего в обоих справочниках?
#43
by a_ivanov
то есть он находит одного и того же контрагента? Можно найти в своей базе по ID из другой базы какой либо объект, но соответствовать объекту из другой базы он конечно же не будет...
#44
by Лефмихалыч
подозреваю, что промежуточная база как раз и нужна для хранения соответствий ID. Чувак, я прав?
#46
by чувак
Сорри за глупый вопрос. А если зайти в таблицу в 1С через ЕМ, и там поменять этот треклятий код (ID), то это как влияет в саму баз 1с. катаклизмов не будет?
#51
by a_ivanov
не имеет, принцип один и тот же. Этот ИД содержится где то в других таблицах. И если ты его поменяешь вручную, ссылки на него будут нарушены...
#52
by Лефмихалыч
Чувак, ты объясни еще раз, ЗАЧЕМ тебе менять что-то, я просто недогоняю, чего ты в результате получить хочешь. Может есть способ проще...
#53
by чувак
Каждый раз при заливке в документ данных из промежуточной базы многие контрагенты не попадают точно в документ, из за того, что в промежуточной один код, а в 1С другой код (ID). Так вот бухи запарились каждый раз вручную менять контрагентов и седня меня прижали к стенке, сказали жизнь или правильные контрагенты :) Если одинэс искал бы по обычному коду, то другое дело. Он ищет по UID. Это до меня один умник прогер замутил такую фигню.
#54
by Лефмихалыч
если я правильног понял смысл слов "промежуточная база", то ты можешь поменять вручную код в промежуточной базе. в я правильно предположил или в промежуточной базе еще что-то?
#56
by FreeFin
Похоже на моё... А в реквизитом справочника с сортировкой, этот UID не заведен, случаем?
#57
by чувак
Но туда тоже заливается от другой системы, она как-бы транзитная база. Т.е. корень зла там, в базе, которая заливает в промежуточную базу а насчет , то там нету никаких соответствий. Но в ПБ нету кода УИД же скрытий, он же не отображается в 1С
#58
by чувак
Хотя подожди, там в справочнике оказываца есть реквизит "уникальный код" и он сортируется
#60
by Лефмихалыч
чо-то мы оба недогоняем. Откуда (каким образом, в какой момент) код 1С появляется в промежуточной базе?
#63
by a_ivanov
возьми из промежуточной базы какое либо поле за основу для кода в спр.контрагенты. Можно взять поле ID из базы Оракул, конвертровать его в десятичный формат и далее поиском по коду, если не найден создавай нового...
#65
by чувак
Еще раз. 1) С проги под Оракл данные заливаются в промежуточную базу (ПБ) 2) Из ПБ данные заливаются в 1С -В двух первых базах у контрагента код 36-ричные -При заливке одинэс этот код берет, переводит на 10-ричный, и формирует переменную с ID кодом (в последней ячейке этой УИД, будет этот переведенный код) -Потом 1С с помощью функции ЗначениеИзСтрокиВнутр превращает это УИД код в элемент справочника -С помощью метода НайтиЭлемент 1С находит этот элемент, и ставить в документ. Но 1С иногда находит другой справочник
#67
by Лефмихалыч
пункт 2 каким образом происходит? Волшебным? Какая база к какой подключается и подключается ли? Промежуточная база - это 1С?
#70
by КонецЦикла
Вид справочника хранится? Или только контрагенты интересуют? Тогда вид можно подсовывать А если пользоваться разумом или 1С++, то многократного перевода в другие системы не понадобится
#72
by a_ivanov
изврат. в оракле наверняка тоже есть поле код, аналог 1С-ного. по нему и можно было синхронизировать...
#74
by чувак
Если в 1С ID код нельзя менять, и в Оракле нельзя менять, то что делать? убится об стенку? :)
#76
by dk
Другой справочник или другой элемент справочника? Если другой элемент: где-то Епрст приводил пример, что если часто удалять элементы в справочнике, то ID перестает быть уникальным между сеансами обмена. Т.е. был элемент1 с ID = 15454 Его выгрузили в ПБ Удалили непосредственно (Удалить) упаковали базу создали другой элемент, ему тоже присвоился ID = 15454 Выгружают данные из ПБ Встает уже новый элемент
#79
by FreeFin
Да пофиг по "идоракл", или идо1С, лишь бы и там и там были и синхронизировались, с условием соблюдения уникальности. Если есть некий реквизит ГлобальныйУникальныйКодДляВсехМестХраненияЭлементаСправочника , то "приходящего" сначала ищем по-нему, не находим - ищем по "достаточным идентификационным признакам" код окпо+не знаю что в Казахстане (банк, счет...хез). Если опть не находим, ищем по наименованию (что уже не есть хорошо и с учетом того, что если нашли, и уверенно=это он (проверять выгрузкой строками в ТЗ и вбивать "согласие" вручную), тогда УИД, получив из ЗначениеВСтрокуВнутр (например, или сгенеренный/полученный по другим способом) записать в базе получателе, если реквизит пустой (обработка и/или ПриЗаписи нового есть или не делал никто?), а потом , надо будет выгрузить (не понято куда, но туда, где его (значения реквизита) нет) "завязав" значением этого реквизита элементы во всех местах, где "живет" этот элемент.
#80
by чувак
Другой элемент. Я тоже об этом подумал, попробую, но пока незнаю, дадут ли мне доступ в оракл базу, чтоб оттуда одним махом получить коды Оракла
#81
by КонецЦикла
Ниасилел вообще... Зачем нужно значение из строки внутр и уид в данном случае? Зачем промежуточная база? Пойду-ка жрать...
#83
by чувак
И так при каждой заливке туда, нет уж спасибки. А может это код оракле обычный реквизит, тогда там просто можно менять.
#84
by FreeFin
А что тут "осиливать". Банальное Общее поле (значение реквизита в 1С, в другой 1С?, поле в оракле). По не му и увязывать. А что внутри реквизита/поля (или из 1С ЗначениеВСтрокуВнутр (если в 1с создан) или канить бодяга из оракла = без разницы. Только уникальность важна. И синхронизация для новых/измененных.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Вопросы по УРБД в 1С предприятие 7.7
- v7: Перенос данных из 1С: учет и отчетность предпринимателя в 1С:Бухгалтерия 8
- как перед открытием документа выводить форму выбора одного реквизита?
- Конфигурация!
- Как программно удалить последнюю страницу документа world
- Программа для имитации нажатия клавиш
- Сумма прописью в расходнике БП 8.1
- Чем отличается сводный остаток от простого остатка в регистре?
- Внедрение системы штрихкодирования на большом складе
- Конвертация печатной формы из 1С в pdf и последующая отправка по e-mail !
- как программно открыть mxl-файл?
- Посоветуйте версию Linux для работы с 1С 8.1
- Ошибка при обновлении УПП: Несовместимые типы "ССЫЛКА"
- УПП. Перейти с учета по сериям на партионный учет по сериям
- Программно нажать на кнопку формы!
- Расчет среднего при суммированом ЗУП 257 против ЗУП 259
- Вывести только группы товаров в запросе
- ЗУП: не попадают отпуска в отчет Т-2
- Где в УПП 1.2.15 права доступа настроить?
- Как получить владельца справочника в 1с++.