Показать сообщение отдельно
Старый 06.08.2002, 11:53   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
2 mick_777:
вот я и говорю, переформулировать.

Идентификация в 1С на логическом уровне выглядит так:
= внутренний код (невидим для пользователя)
= код
= наименование

Ты пытаешься повторить эту функциональность.
А ты используй код в качестве акспатовского кода, наименование в качестве наименования, а внутренний код как реквизит.

В даном случае будет так:
= идентификатор 1С -> код Аксапты
= комментарий в 1С -> наименование в Аксапте
= внутренний код в 1С -> реквизит

Здесь надо сказать следующее:
Ты скорее всего предполагаешь, что внутренний код не изменяется. Это не так. Никто этого никогда не гарантировал. Говорилось следующим образом: пользователь может менять код, а 1С гарантирует, что объект останется неизменным для системы. Заметь, что про внутренний идентификатор нигде не говорилось! Да, сейчас реализвация такова, что внутренний идентификатор практически никогда не меняется. Но это особенность реализации, а не инвариант. В данных идентификаторы пока нигде не меняются, а в конфигурации могут изменяться при объединении конфигураций.

Теперь рассмотрим код. Код (идентификатор для метаданных) может меняться пользователем. И никогда не меняется самой системой. Пока пропустим данные. Сосредоточимся на метаданных. Что значит изменился идентификатор? Это значит, что во всей конфигурации надо выполнить синтаксическое переименование. Вспомним, что это не Аксапта и синтаксическое переименование в 1С надо делать ручками. Вероятность изменения кода-идентификатора в конфигурации ничтожна. А уж если изменили, то: 1) явно по указанию пользователя, 2) происходит что-то из ряда вон выходящее.

Если еще заметить, что внутренние идентификаторы могут измениться без уведомления, то использование кода будет еще более предпочтительным.

Таким образом:
малой кровью можно обойтись, если идентификатор объекта использовать в Аксапте как код, комментарий объекта использовать как наименование, а внутренний идентификатор затолкать в реквизит. Дополнительно в группу AutoLookup можно затолкать все три поля, тогда их всех будет видно. В этом случае ничего в Аксапте переделывать не надо.

Если волнуют случаи, когда идентификаторы в 1С могут измениться, то можно сделать дополнительные проверки на соотвтетствие идентификатора и внутреннего идентификатора.

Кстати, похоже, что ты пользуешься только данными из SQL-я. ЛУчше подключись к 1С через OLE и получи нужные тебе данные о конфигурации с помощью объекта Метаданные.

2 olesh:
я все еще считаю, что не надо программировать низкоуровненвые вещи. Нужно по возможности использовать стандартные решения, а пргограммировать только там, где без этого действительно не обойтись.

Кстати, по этму лукапу больше всего дурацких вопросов - пользователи не понимают как он работает.