![]() |
#7 |
Участник
|
2 mick_777:
вот я и говорю, переформулировать. Идентификация в 1С на логическом уровне выглядит так: = внутренний код (невидим для пользователя) = код = наименование Ты пытаешься повторить эту функциональность. А ты используй код в качестве акспатовского кода, наименование в качестве наименования, а внутренний код как реквизит. В даном случае будет так: = идентификатор 1С -> код Аксапты = комментарий в 1С -> наименование в Аксапте = внутренний код в 1С -> реквизит Здесь надо сказать следующее: Ты скорее всего предполагаешь, что внутренний код не изменяется. Это не так. Никто этого никогда не гарантировал. Говорилось следующим образом: пользователь может менять код, а 1С гарантирует, что объект останется неизменным для системы. Заметь, что про внутренний идентификатор нигде не говорилось! Да, сейчас реализвация такова, что внутренний идентификатор практически никогда не меняется. Но это особенность реализации, а не инвариант. В данных идентификаторы пока нигде не меняются, а в конфигурации могут изменяться при объединении конфигураций. Теперь рассмотрим код. Код (идентификатор для метаданных) может меняться пользователем. И никогда не меняется самой системой. Пока пропустим данные. Сосредоточимся на метаданных. Что значит изменился идентификатор? Это значит, что во всей конфигурации надо выполнить синтаксическое переименование. Вспомним, что это не Аксапта и синтаксическое переименование в 1С надо делать ручками. Вероятность изменения кода-идентификатора в конфигурации ничтожна. А уж если изменили, то: 1) явно по указанию пользователя, 2) происходит что-то из ряда вон выходящее. Если еще заметить, что внутренние идентификаторы могут измениться без уведомления, то использование кода будет еще более предпочтительным. Таким образом: малой кровью можно обойтись, если идентификатор объекта использовать в Аксапте как код, комментарий объекта использовать как наименование, а внутренний идентификатор затолкать в реквизит. Дополнительно в группу AutoLookup можно затолкать все три поля, тогда их всех будет видно. В этом случае ничего в Аксапте переделывать не надо. Если волнуют случаи, когда идентификаторы в 1С могут измениться, то можно сделать дополнительные проверки на соотвтетствие идентификатора и внутреннего идентификатора. Кстати, похоже, что ты пользуешься только данными из SQL-я. ЛУчше подключись к 1С через OLE и получи нужные тебе данные о конфигурации с помощью объекта Метаданные. 2 olesh: я все еще считаю, что не надо программировать низкоуровненвые вещи. Нужно по возможности использовать стандартные решения, а пргограммировать только там, где без этого действительно не обойтись. Кстати, по этму лукапу больше всего дурацких вопросов - пользователи не понимают как он работает. |
|